-
Notifications
You must be signed in to change notification settings - Fork 102
Description
I've started to add in some code that will take into account potential nutrient deficiencies that can constrain photosynthesis. This is a needed step to help wrap up all the work @rgknox, Qing, and other have worked on with PARTEH. There has been good progress on nutrient allocation, nutrient enabled litterfall, and nutrient acquisition. Now the component for taking into account nutrient controls of photosynthesis is needed.
I'm basing these additions off the current ELM photosynthesis code. @walkeranthonyp - I know we talked at AGU about further improvements you would like to do with photosynthesis. Correct me if I'm wrong, but I'm not overlapping am I? I just want to get in the current equations and methods so we can fully test PARTEH.
I'd like to bring in these changes in a couple different pull requests. Currently I've added in the new variables that are needed to calculate a new vcmax and jmax, and leaf phosphorus content, etc. into the different modules and subroutines, etc.
Then I'm thinking a good plan is to bring in the different options of nutrient modes.
First - equations for if C only
Second - equations for if CN (but I'm checking on some calculations that might already be in FATES, and redundancies).
Third - equations for if CNP using data from Walker 2014
Here are a few general questions I have for the group --
- This is not completely related to nutrients, but in subroutine LeafLayerBiophysicalRates, when FATES is accounting for temperature on photosynthesis rates....why are there a couple equations that are in ELM, but not in FATES. Does FATES not requires these, or are the calculations done somewhere else? I know we are not the same as ELM, but just wondering if code updates need to occur.
In FATES the below 3 variables are read in from the parameter file,
fates/biogeophys/FatesPlantRespPhotosynthMod.F90
Lines 1858 to 1864 in 1ad93c3
vcmaxse = EDPftvarcon_inst%vcmaxse(FT) | |
jmaxse = EDPftvarcon_inst%jmaxse(FT) | |
tpuse = EDPftvarcon_inst%tpuse(FT) | |
vcmaxc = fth25_f(vcmaxhd, vcmaxse) | |
jmaxc = fth25_f(jmaxhd, jmaxse) | |
tpuc = fth25_f(tpuhd, tpuse) |
but ELM calculates them as...
vcmaxse = 668.39_r8 - 1.07_r8 * min(max((t10(p)-tfrz),11._r8),35._r8)
jmaxse = 659.70_r8 - 0.75_r8 * min(max((t10(p)-tfrz),11._r8),35._r8)
tpuse = vcmaxse
vcmaxc = fth25 (vcmaxhd, vcmaxse)
jmaxc = fth25 (jmaxhd, jmaxse)
tpuc = fth25 (tpuhd, tpuse)
- I need to bring in a new variable that keeps track of the 10-day running mean of the 2m temperature. I just want to double check, this should be a "bc_in(s)" boundary condition input from ELM, right? There is also the option for this to be at the site level or patch level. When dealing with photosynthesis I believe patch level for 10-day mean temp "bc_in(s)%t_veg_pa(ifp)", is correct, right?
Thanks all. I'll be added updates as I go, and post pull requests here and reviewers.