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

pdf

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 year
  • update_co2ambient: Update ambient CO2 concentration
  • canopy_extinction: Canopy extinction coefficients (unitless) for direct and diffuse solar irradiance
  • gap_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 PAR
  • lai_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: