CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
autotrophicRespiration.f90 File Reference

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...
 

Detailed Description

Autotrophic respiration. Leaf respiration is calculated in phtsyn subroutine, while stem and root maintenance respiration are calculated here.

Function/Subroutine Documentation

◆ growthrespiration()

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.

Author
Vivek Arora and Joe Melton
Parameters
[in]il1il1=1
[in]il2il2=ilg (no. of grid cells in latitude circle)
[in]ilgnlat * nmos
[in]sortindex for correspondence between biogeochem pfts and the number of values in parameters vectors in run params file.
[in]usetracerSwitch 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]nppvegNPP for individual pfts, ( \(\mu mol CO_2 m^{-2} s^{-1}\))
[in]tracernpptracer NPP for individual pfts, ( \(\mu mol CO_2 m^{-2} s^{-1}\))
[out]tracerrgTracer growth respiration ( \(\mu mol CO_2 m^{-2} s^{-1}\))
[out]rgvegPFT level growth respiration ( \(\mu mol CO_2 m^{-2} s^{-1}\))

◆ mainres()

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.

Author
Vivek Arora and Joe Melton
Parameters
[in]ilgNumber of grid cells in latitude circle
[in]il1il1=1
[in]il2il2=ilg
[in]sortindex for correspondence between 9 pfts and 12 values in the parameter vectors
[in]isandflag for bedrock or ice in a soil layer
[in]leapnowtrue if this year is a leap year. Only used if the switch 'leap' is true.
[in]usetracerSwitch 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]fcanfractional coverage of ctem's 9 pfts over the given sub-area
[in]fctsum of all fcan fcan & fct are not used at this time but could be used at some later stage
[in]stemmassstem biomass for the 9 pfts in \(kg c/m^2\)
[in]taAir temperature, K
[in]tbarSoil temperature, K
[in]rootmassroot biomass for the 9 pfts in \(kg c/m^2\)
[in]rmatctemfraction of roots in each layer for each pft
[in,out]roottemproot temperature (k)
[in,out]rmsvegMaintenance respiration for stem for the CTEM pfts ( \(\mu mol CO_2 m^{-2} s^{-1}\))
[in,out]rmrvegMaintenance respiration for root for the CTEM pfts ( \(\mu mol CO_2 m^{-2} s^{-1}\))
[in]tracerstemmassTracer mass in the stem for each of the CTEM pfts, \(kg c/m^2\)
[in]tracerrootmassTracer mass in the root for each of the CTEM pfts, \(kg c/m^2\)
[out]rmstracerTracer maintenance respiration for stem for the CTEM pfts ( \(\mu mol CO_2 m^{-2} s^{-1}\))
[out]rmrtracerTracer 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