photosyn module
Photosynthesis module.
Model leaf and canopy photosynthesis by oil palm.
Author - Christopher Teh Boon Sung
Reflect namedtuple
Reflect(pdr, pdf)
namedtuple: Reflection coefficients
pdr
float: reflection coefficient for direct irradiance
float: reflection coefficient for diffuse irradiance
Extinction namedtuple
Extinction(kdr, kdf)
namedtuple: Canopy extinction coefficients
kdr
float: extinction coefficient for direct irradiance
kdf
float: extinction coefficient for diffuse irradiance
PAR namedtuple
PAR(outdr, outdf, indrscatter, indr, inscatter, indf, abssunlit, absshaded)
namedtuple: Photosynthetically-active radiation (PAR) components
outdr
float: direct PAR component outside the canopies
outdf
float: diffuse PAR component outside the canopies
indrscatter
float: direct PAR and scatter components within the canopies
indr
float: direct PAR component within the canopies
inscatter
float: scatter component within the canopies
indf
float: diffuse PAR component within the canopies
abssunlit
float: amount of PAR absorbed by the sunlit leaves
absshaded
float: amount of PAR absorbed by the shaded leaves
LAI namedtuple
LAI(total, sunlit, shaded)
namedtuple: Leaf area index (LAI) components
total
float: total LAI (sunlit + shaded)
sunlit
float: amount of LAI exposed to direct solar irradiance
shaded
float: amount of LAI exposed to diffuse solar irradiance
AssimCoef namedtuple
AssimCoef(mmco2, mmo2, specificity, vcmax, co2pt)
namedtuple: Photosynthesis coefficients
mmco2
float: Michaelis-Menten constant for CO2
mmo2
float: Michaelis-Menten constant for O2
specificity
float: CO2 / O2 specificity factor
vcmax
float: Rubisco maximum capacity rate
co2pt
float: CO2 compensation point
LeafAssim namedtuple
LeafAssim(vc, vqsl, vqsh, vs, sunlit, shaded)
namedtuple: Leaf assimilation components
vc
float: Rubisco-limited assimilation
vqsl
float: light-limited assimilation by the sunlit leaves
vqsh
float: light-limited assimilation by the shaded leaves
vs
float: sink-limited assimilation
sunlit
float: total assimilation by the sunlit leaves
shaded
float: total assimilation by the shaded leaves
Photosyn class
Photosynthesis class.
Model the leaf and canopy photosynthesis (CO2 assimilation) by oil palm.
EXTERNAL INFORMATION REQUIRED (MUST BE SUPPLIED FROM AN EXTERNAL CLASS)
canopytemp (float): Canopy/foliage (deg. C)
ATTRIBUTES
co2ambient (float)
: Ambient CO2 concentration (umol CO2/mol air)co2change (float)
: Annual change in ambient [CO2] (umol CO2/mol air/year)parscatter (float)
: PAR scattering coefficient (unitless)parabsorb (float)
: PAR absorption coefficient (unitless)parsoil (float)
: PAR reflection off soil surface (unitless)quantum_yield (float)
: Quantum efficiency/yield (umol CO2/umol photons)co2internal (float)
: Intercellular CO2 concentration (umol CO2/mol air)o2ambient (float)
: Ambient O2 concentration (umol O2/mol air)gap (float)
: Gap between canopies (unitless)extcoef (Extinction)
: Canopy extinction coefficient (unitless)clump (float)
: Canopy clump factor (unitless)refcoef (Reflect)
: PAR reflection coefficient (unitless)laicomp (LAI)
: Sunlit and shaded LAI components (m2 leaf/m2 ground)par (PAR)
: PAR components (units vary)assimcoef (AssimCoef)
: Assimilation coefficients (units vary)leafassim (LeafAssim)
: CO2 assimilation by leaves (umol CO2/m2 leaf/s)canopyassim (float)
: CO2 assimilation by canopies (umol CO2/m2 leaf/s)dayassim (float)
: Daily CO2 assimilation by canopies (kg CH2O/palm/day)
METHODS
ambientco2
: Ambient CO2 concentration (umol CO2/mol air) for a given yearupdate_co2ambient
: Update ambient CO2 concentrationcanopy_extinction
: Canopy extinction coefficients (unitless) for direct and diffuse solar irradiancegap_fraction
: Canopy gap fraction, viewed from zenith (0 = no gap/openings, 1 = full opening)canopy_clump
: Canopy clump (cluster) factor (0-1) (unitless)reflection_coef
: Reflection coefficients (unitless) for direct and diffuse PARlai_components
: Sunlit and shaded LAI (need to first supply total LAI) (m2 leaf/m2 ground)par_components
: PAR components (umol photons/m2 leaf/s)set_assim_coefs
: Temperature-dependent CO2 assimilation parameters/coefficients.co2_internal
: Internal CO2 concentration (in plant) (umol CO2/mol air)leaf_assimilation
: CO2 assimilation per leaf basis (umol CO2/m2 leaf/s)doy_has_changed
: DOY has changed, so update the atmospheric [CO2]canopy_assimilation
: Instantaneous CO2 assimilation per canopy basis (umol CO2/m2 leaf/s)daily_canopy_assimilation
: Daily CO2 assimilation per canopy per day basis (kg CH2O/palm/day)update
: Update the photosynthesis properties
Constructor __init__
Photosyn(self, fname_in)
Create and initiliaze the Photosyn object.
Arguments
- fname_in (str): path and filename of the model initialization file
ambientco2
Photosyn.ambientco2(year)
Calculate the mean annual ambient [CO2] (umol CO2/mol air) for a given year.
Note
ambientco2
is a static method.
Arguments
- year (int): year
Returns
float
: ambient CO2 concentration
update_co2ambient
Photosyn.update_co2ambient(self)
Update ambient CO2 concentration.
Returns
None
:
canopy_extinction
Canopy extinction coefficients (unitless) for direct and diffuse solar irradiance.
Returns
Extinction
: namedtuple
containing direct and diffuse extinction coefficients
(float
)
gap_fraction
Photosyn.gap_fraction(self)
Canopy gap fraction, viewed from zenith (0 = no gap/openings, 1 = full opening).
Returns
float
: gap fraction (0-1)
canopy_clump
Photosyn.canopy_clump(self)
Canopy clump (cluster) factor (0-1) (unitless).
Returns
float
: canopy clumpy/cluster coefficient/factor
reflection_coef
Reflection coefficients (unitless) for direct and diffuse PAR.
Returns
Reflect
: namedtuple
containing direct and diffuse reflection coefficients (float
)
lai_components
Sunlit and shaded LAI (need to first supply total LAI) (m2 leaf/m2 ground).
Returns
LAI
: namedtuple
containing total, sunlit, and shaded leaf area index (float
)
par_components
PAR components (umol photons/m2 leaf/s).
Outside, within canopies, and that absorbed by canopies.
Returns
PAR
: namedtuple
containing the PAR components (float
)
set_assim_coefs
Temperature-dependent CO2 assimilation parameters/coefficients.
Photosynthesis parameters determined in this method are as follows
Kc (umol/mol) - Michaelis-Menten constant for CO2
Ko (umol/mol) - Michaelis-Menten constant for O2
specificity (unitless) - CO2 / O2 specificity factor
Vcmax (umol CO2/m2 leaf/s) - Rubisco maximum capacity rate, and
CO2 pt (umol CO2/mol) - CO2 compensation point
Arguments
- canopytemp (float): foliage temperature (deg. C)
Returns
AssimCoef
: namedtuple
contining photosynthesis parameters (float
)
co2_internal
Photosyn.co2_internal(self, canopytemp)
Internal CO2 concentration (in plant) (umol CO2/mol air).
Arguments
- canopytemp (float): foliage temperature (deg. C)
Returns
float
: intercellular CO2 concentration
leaf_assimilation
CO2 assimilation per leaf basis (umol CO2/m2 leaf/s).
Returns
LeafAssim
: namedtuple containing CO2 assimilation rates (float)
canopy_assimilation
Photosyn.canopy_assimilation(self, canopytemp)
Set the instantaneous CO2 assimilation per canopy basis (umol CO2/m2 leaf/s).
Arguments
- canopytemp (float/Float): foliage temperature (deg. C)
Returns
None
:
daily_canopy_assimilation
Photosyn.daily_canopy_assimilation(self, canopytemp)
Set the daily CO2 assimilation per canopy per day basis (kg CH2O/palm/day).
Arguments
- canopytemp (float/Float): foliage temperature (deg. C)
Returns
None
:
doy_has_changed
Photosyn.doy_has_changed(self)
DOY has changed, so update the atmospheric [CO2].
Returns
None
update
Photosyn.update(self, external_info)
Update the photosynthesis properties.
Arguments
- external_info (dict): requires information on canopy/foliage temperature (deg. C)
Returns
None
: