CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
|
Autotrophic respiration. Leaf respiration is calculated in phtsyn subroutine, while stem and root maintenance respiration are calculated here. More...
Modules | |
module | autotrophic_res |
Calculates maintenance respiration, over a given sub-area, for stem and root components. leaf respiration is estimated within the phtsyn subroutine. | |
Functions/Subroutines | |
subroutine, public | autotrophicrespiration::growthrespiration (il1, il2, ilg, sort, useTracer, nppveg, tracerNPP, rgveg, tracerRG) |
Calculates growth respiration for all PFTs. More... | |
subroutine, public | autotrophicrespiration::mainres (fcan, fct, stemmass, rootmass, il1, il2, ilg, leapnow, ta, tbar, rmatctem, sort, isand, useTracer, tracerStemMass, tracerRootMass, rmsveg, rmrveg, roottemp, rmsTracer, rmrTracer) |
Calculates maintenance respiration for roots and stems. More... | |
Autotrophic respiration. Leaf respiration is calculated in phtsyn subroutine, while stem and root maintenance respiration are calculated here.
subroutine, public autotrophicrespiration::growthrespiration | ( | integer, intent(in) | il1, |
integer, intent(in) | il2, | ||
integer, intent(in) | ilg, | ||
integer, dimension(:), intent(in) | sort, | ||
integer, intent(in) | useTracer, | ||
real, dimension(:,:), intent(in) | nppveg, | ||
real, dimension(:,:), intent(in) | tracerNPP, | ||
real, dimension(ilg,icc), intent(out) | rgveg, | ||
real, dimension(ilg,icc), intent(out) | tracerRG | ||
) |
Calculates growth respiration for all PFTs.
[in] | il1 | il1=1 |
[in] | il2 | il2=ilg (no. of grid cells in latitude circle) |
[in] | ilg | nlat * nmos |
[in] | sort | index for correspondence between biogeochem pfts and the number of values in parameters vectors in run params file. |
[in] | usetracer | Switch for use of a model tracer. If useTracer is 0 then the tracer code is not used. useTracer = 1 turns on a simple tracer that tracks pools and fluxes. The simple tracer then requires that the tracer values in the init_file and the tracerCO2file are set to meaningful values for the experiment being run. useTracer = 2 means the tracer is 14C and will then call a 14C decay scheme. useTracer = 3 means the tracer is 13C and will then call a 13C fractionation scheme. |
[in] | nppveg | NPP for individual pfts, ( \(\mu mol CO_2 m^{-2} s^{-1}\)) |
[in] | tracernpp | tracer NPP for individual pfts, ( \(\mu mol CO_2 m^{-2} s^{-1}\)) |
[out] | tracerrg | Tracer growth respiration ( \(\mu mol CO_2 m^{-2} s^{-1}\)) |
[out] | rgveg | PFT level growth respiration ( \(\mu mol CO_2 m^{-2} s^{-1}\)) |
subroutine, public autotrophicrespiration::mainres | ( | real, dimension(ilg,icc), intent(in) | fcan, |
real, dimension(ilg), intent(in) | fct, | ||
real, dimension(ilg,icc), intent(in) | stemmass, | ||
real, dimension(ilg,icc), intent(in) | rootmass, | ||
integer, intent(in) | il1, | ||
integer, intent(in) | il2, | ||
integer, intent(in) | ilg, | ||
logical, intent(in) | leapnow, | ||
real, dimension(ilg), intent(in) | ta, | ||
real, dimension(ilg,ignd), intent(in) | tbar, | ||
real, dimension(ilg,icc,ignd), intent(in) | rmatctem, | ||
integer, dimension(icc), intent(in) | sort, | ||
integer, dimension(ilg,ignd), intent(in) | isand, | ||
integer, intent(in) | useTracer, | ||
real, dimension(:,:), intent(in) | tracerStemMass, | ||
real, dimension(:,:), intent(in) | tracerRootMass, | ||
real, dimension(ilg,icc), intent(inout) | rmsveg, | ||
real, dimension(ilg,icc), intent(inout) | rmrveg, | ||
real, dimension(ilg,icc), intent(inout) | roottemp, | ||
real, dimension(ilg,icc), intent(out) | rmsTracer, | ||
real, dimension(ilg,icc), intent(out) | rmrTracer | ||
) |
Calculates maintenance respiration for roots and stems.
[in] | ilg | Number of grid cells in latitude circle |
[in] | il1 | il1=1 |
[in] | il2 | il2=ilg |
[in] | sort | index for correspondence between 9 pfts and 12 values in the parameter vectors |
[in] | isand | flag for bedrock or ice in a soil layer |
[in] | leapnow | true if this year is a leap year. Only used if the switch 'leap' is true. |
[in] | usetracer | Switch for use of a model tracer. If useTracer is 0 then the tracer code is not used. useTracer = 1 turns on a simple tracer that tracks pools and fluxes. The simple tracer then requires that the tracer values in the init_file and the tracerCO2file are set to meaningful values for the experiment being run. useTracer = 2 means the tracer is 14C and will then call a 14C decay scheme. useTracer = 3 means the tracer is 13C and will then call a 13C fractionation scheme. |
[in] | fcan | fractional coverage of ctem's 9 pfts over the given sub-area |
[in] | fct | sum of all fcan fcan & fct are not used at this time but could be used at some later stage |
[in] | stemmass | stem biomass for the 9 pfts in \(kg c/m^2\) |
[in] | ta | Air temperature, K |
[in] | tbar | Soil temperature, K |
[in] | rootmass | root biomass for the 9 pfts in \(kg c/m^2\) |
[in] | rmatctem | fraction of roots in each layer for each pft |
[in,out] | roottemp | root temperature (k) |
[in,out] | rmsveg | Maintenance respiration for stem for the CTEM pfts ( \(\mu mol CO_2 m^{-2} s^{-1}\)) |
[in,out] | rmrveg | Maintenance respiration for root for the CTEM pfts ( \(\mu mol CO_2 m^{-2} s^{-1}\)) |
[in] | tracerstemmass | Tracer mass in the stem for each of the CTEM pfts, \(kg c/m^2\) |
[in] | tracerrootmass | Tracer mass in the root for each of the CTEM pfts, \(kg c/m^2\) |
[out] | rmstracer | Tracer maintenance respiration for stem for the CTEM pfts ( \(\mu mol CO_2 m^{-2} s^{-1}\)) |
[out] | rmrtracer | Tracer maintenance respiration for root for the CTEM pfts both ( \(\mu mol CO_2 m^{-2} s^{-1}\)) |
Set the following switch to .true. for using constant temperature indepedent q10 specified below
q10 - if using a constant temperature independent value, i.e. if consq10 is set to true
Based on root and stem biomass, find fraction which is live. for stem this would be the sapwood to total wood ratio.
Fraction of roots for each vegetation type, for each soil layer, in each grid cell is given by rmatctem (grid cell, veg type, soil layer) which bio2str subroutine calculates. rmatctem can thus be used to find average root temperature for each plant functional type
We assume that stem temperature is same as air temperature, ta. using stem and root temperatures we can find their maintenance respirations rates
first find the q10 response function to scale base respiration rate from 15 c to current temperature, we do the stem first.
when finding temperature dependent q10, use temperature which is close to average of actual temperature and the temperature at which base rate is specified
This q10 value is then used with the base rate of respiration (commonly taken at some reference temperature (15 deg c), see Tjoelker et al. 2009 New Phytologist or Atkin et al. 2000 New Phyto for an example.). Long-term acclimation to temperature could be occuring see King et al. 2006 Nature SOM for a possible approach. JM.
convert kg c/m2.day -> u mol co2/m2.sec
root respiration
convert kg c/m2.day -> u mol co2/m2.sec