Photosynthesis

Warning

This page is a work in progress. If you have any questions or notice any errors, please raise an issue.

Overview

Photosynthesis is the process by which plants use solar radiation to convert carbon dioxide into chemical energy (stored in carbohydrates) and occurs in two stages: light-dependent reactions and light independent reactions (also known as dark reactions or the Calvin cycle). In the first stage, light energy is used to produce two compounds (ATP and NADPH) which are then used during the second stage to produce carbohydrates from carbon dioxide.

The net carbon assimilation per leaf area is the difference between carbon uptake and carbon losses, for example through mitochondrial respiration (also known as dark respiration). Net photosynthesis, $A_n$, is usually modeled as the difference between gross photosynthesis, $A_g$, and dark respiration, $R_d$

\[\begin{equation} A_n = A_g - R_d. \end{equation}\]

Gross photosynthesis is limited by two processes: RuBisCO activity and light availability. A simple approach is to model $A_g$ as the minimum of these two rates: the RuBisCO-limited rate $J_C$ and the light-limited rate $J_E$:

\[\begin{equation} A_g = \min(J_C, J_E)\,. \end{equation}\]

While $A_g$ remains continuous, this formulation produces an abrupt transition between the two limiting factors. Under some conditions, however, photosynthesis can be co-limited by both light availability and RuBisCO activity. This co-limitation allows for a smoother transition and can be represented by taking the smaller root of the following quadratic equation:

\[\begin{equation} \theta_r A_g^2 - (J_C + J_E)A_g + J_C J_E = 0\,, \end{equation}\]

where $\theta_r$ is an empirical shape parameter between 0 and 1 used to control the transition between the two limiting factors.

subtypes(Terrarium.AbstractPhotosynthesis)
1-element Vector{Any}:
 LUEPhotosynthesis

Light use efficiency (LUE) model

Terrarium.LUEPhotosynthesisType
struct LUEPhotosynthesis{NF} <: Terrarium.AbstractPhotosynthesis{NF}

Photosynthesis implementation from PALADYN (Willeit 2016) for C3 PFTs following the mechanistic approach of Haxeltine and Prentice (1996). Computes instantaneous photosynthetic rates as differential equations that are integrated over arbitrary timesteps by the timestepper.

Authors: Maha Badri and Matteo Willeit

Properties:

  • τ25::Any: Rubisco specificity factor at 25°C [dimensionless]. Ratio of carboxylation to oxygenation rates.

  • Kc25::Any: Michaelis-Menten constant for CO₂ at 25°C [Pa]. PALADYN value for needleleaf trees.

  • Ko25::Any: Michaelis-Menten constant for O₂ at 25°C [Pa]. PALADYN value for needleleaf trees.

  • q10_τ::Any: Q10 temperature sensitivity for τ [dimensionless]. Controls temperature dependence of specificity.

  • q10_Kc::Any: Q10 temperature sensitivity for Kc [dimensionless]. Controls temperature dependence of CO₂ affinity.

  • q10_Ko::Any: Q10 temperature sensitivity for Ko [dimensionless]. Controls temperature dependence of O₂ affinity.

  • α_leaf::Any: Leaf albedo in PAR range [-]

  • α_a::Any: Fraction of PAR assimilated at ecosystem level, relative to leaf level [-]

  • α_C3::Any: Intrinsic quantum efficiency of CO2 uptake in C3 plants [mol/mol]

  • cq::Any: Conversion factor for solar radiation at 550 nm from J/m² to mol/m² [mol/J]

  • k_ext::Any: Extinction coefficient for radiation through vegetation [-]

  • T_CO2_high::Any: Upper temperature threshold for CO₂/O₂ specificity factor [°C]. Above this, photosynthesis rapidly declines. PFT-specific, needleleaf tree value.

  • T_CO2_low::Any: Lower temperature threshold for CO₂/O₂ specificity factor [°C]. Below this, photosynthesis rapidly declines. PFT-specific, needleleaf tree value.

  • T_photos_high::Any: Upper temperature threshold for light-limited photosynthesis rate [°C]. Peak photosynthesis capacity. PFT-specific, needleleaf tree value.

  • T_photos_low::Any: Lower temperature threshold for light-limited photosynthesis rate [°C]. Minimum for photosynthesis. PFT-specific, needleleaf tree value.

  • θ_r::Any: Root of quadratic mean shape parameter [-]. Controls smoothness of interpolation between light and RuBisCO limitations (0.7 for smooth, 0.5 for arithmetic mean).

source
variables(LUEPhotosynthesis(Float32))
Variables
├─ Prognostic: 
├─ Auxiliary: 
├── net_assimilation [g m^-2 s^-1] on XY{Center, Center}
├── leaf_respiration [g m^-2 s^-1] on XY{Center, Center}
├── gross_primary_production [kg m^-2 s^-1] on XY{Center, Center}
├─ Inputs: 
├── soil_moisture_limiting_factor [-] on XY{Center, Center}
├── leaf_area_index [-] on XY{Center, Center}
├─ Namespaces:

This implementation uses the light-use efficiency model of Haxeltine and Prentice (1996), adapted from PALADYN [4], where the original equations were derived assuming a daily time step. Unlike PALADYN, however, all photosynthetic rates here are computed as instantaneous rates (e.g. mol/m²/s or gC/m²/s) to ensure compatibility with generic timestepping schemes.

Light and RuBisCO-limited photosynthesis rates

The light-limited photosynthesis rate is

\[\begin{equation} J_E = c_1 \cdot \text{APAR}\,, \end{equation}\]

with

\[\begin{equation} c_1 = \alpha_{C3} \cdot f_{\text{temp}} \cdot C_{\text{mass}} \cdot \frac{p_i - \Gamma^*}{p_i + 2\Gamma^*}\,, \end{equation}\]

where $\alpha_{C3}$ is the intrinsic quantum efficiency of CO2 uptake in C3 plants, $C_{mass}$ is the carbon atomic mass, $p_i$ is intercellular CO₂ partial pressure and $\Gamma^*$ is the CO2 compensation point.

The temperature stress factor $f_{\text{temp}}$ is defined as

\[\begin{equation} f_{\text{temp}}(T) = \begin{cases} \sigma_{\text{low}}(T) \cdot \sigma_{\text{high}}(T) & \text{if } T_{\text{CO2,low}} < T < T_{\text{CO2,high}} \\ 0 & \text{otherwise} \end{cases} \end{equation}\]

Assuming that half of the downwelling shortwave radiation is in the photosynthetically active wavelength range, photosynthetically active radiation (PAR) can be computed as

\[\begin{equation} \text{PAR} = 0.5 \cdot \text{SW} \cdot (1 - \alpha_\text{leaf}) \cdot c_q\,, \end{equation}\]

where $\alpha_\text{leaf}$ is the leaf albedo in the PAR range and $c_q$ is the conversion factor from W/m² to mol/m²/s.

Absorbed PAR (APAR) can then be computed as,

\[\begin{equation} \text{APAR} = \alpha_a \cdot \text{PAR} \cdot (1 - e^{-k_{\text{ext}} \cdot \text{LAI}})\,, \end{equation}\]

where $\alpha_a$ accounts for reductions in PAR utilization in natural ecosystems, $k_{\text{ext}}$ is the light extinction coefficient, and LAI is the leaf area index.

The RuBisCO-limited (enzyme-limited) photosynthesis rate is:

\[\begin{equation} J_C = c_2 \cdot V_c^{\max}\,, \end{equation}\]

where $V_c^{\max}$ is the maximum carboxylation rate and

\[\begin{equation} c_2 = \frac{p_i - \Gamma^*}{p_i + K_c(1 + p_o/K_o)}\,, \end{equation}\]

where $K_c$ and $K_o$ are the temperature-dependent Michaelis-Menten constants for CO₂ and O₂, respectively, and $p_O$ is the O₂ partial pressure.

Stomatal conductance coupling

Both light-limited and RuBisCO-limited photosynthesis rates $J_E$ and $J_C$ depend on the intercellular CO₂ partial pressure $p_i$. The exchange of carbon during photosynthesis is regulated by stomata, which open and close to control gas exchanges between the leaf and the atmosphere, while balancing carbon uptake for photosynthesis against water loss through transpiration.

This coupling is captured through the intercellular-to-ambient CO₂ concentration ratio $\lambda_c$, which is derived in the stomatal conductance model (see Stomatal conductance) from the optimization-based and diffusion-based expressions of stomatal conductance. The intercellular CO₂ partial pressure can then be computed as

\[\begin{equation} p_i = \lambda_c \cdot p_a\,, \end{equation}\]

where $p_a$ is the atmospheric CO₂ partial pressure.

Process interface

Terrarium.compute_auxiliary!Method
compute_auxiliary!(
    state,
    grid,
    photo::LUEPhotosynthesis,
    stomcond::Terrarium.AbstractStomatalConductance,
    atmos::Terrarium.AbstractAtmosphere,
    constants::PhysicalConstants,
    args...
)
source

Methods

Terrarium.compute_kinetic_parametersFunction
compute_kinetic_parameters(
    photo::LUEPhotosynthesis{NF},
    T_air
) -> Tuple{Any, Any, Any}

Computes kinetic parameters τ, Kc, Ko based on temperature using Q10 temperature response. Follows enzyme kinetics from Haxeltine & Prentice (1996), Appendix C.

  • τ: Rubisco specificity factor (CO₂ to O₂ carboxylation ratio), dimensionless
  • Kc: Michaelis-Menten constant for CO₂ [Pa]
  • Ko: Michaelis-Menten constant for O₂ [Pa]
source
Terrarium.compute_Γ_starFunction
compute_Γ_star(
    photo::LUEPhotosynthesis{NF},
    τ,
    pres_O2
) -> Any

Computes the CO₂ compensation point Γ_star [Pa]. The intercellular CO₂ partial pressure at which gross photosynthesis equals respiration. Follows Eq. C6, PALADYN (Willeit 2016).

source
Terrarium.compute_PARFunction
compute_PAR(photo::LUEPhotosynthesis{NF}, swdown) -> Any

Computes NET Photosynthetically Active Radiation PAR [mol/m²/s].

source
Terrarium.compute_APARFunction
compute_APAR(
    photo::LUEPhotosynthesis{NF},
    swdown,
    LAI
) -> Any

Computes absorbed PAR limited by the fraction of PAR assimilated at ecosystem level APAR [mol/m²/s], Eq. 62, PALADYN (Willeit 2016).

source
Terrarium.compute_pres_iFunction
compute_pres_i(photo::LUEPhotosynthesis, λc, pres_a) -> Any

Computes intercellular CO2 partial pressure [Pa], Eq. 67, PALADYN (Willeit 2016).

source
Terrarium.compute_assimilation_factorsFunction
compute_assimilation_factors(
    photo::LUEPhotosynthesis{NF},
    constants::PhysicalConstants{NF},
    Γ_star,
    T_stress,
    Kc,
    Ko,
    pres_i,
    pres_O2
) -> Tuple{Any, Any}

Computes factors for light-limited c_1 [gC/mol] and RuBisCO-limited c_2 [dimensionless] assimilation. Follows Eq. C4-C5 from PALADYN (Willeit 2016) and Haxeltine & Prentice (1996).

  • c1: quantum efficiency × temperature factor × carbon mass / denominator, used in JE = c1 × APAR
  • c2: dimensionless coefficient relating enzyme capacity to assimilation, used in JC = c2 × Vc_max
source
Terrarium.compute_Vc_maxFunction
compute_Vc_max(
    photo::LUEPhotosynthesis{NF},
    c_1,
    PAR,
    Kc,
    Ko,
    Γ_star,
    pres_i,
    pres_O2
) -> Any

Computes the maximum rate of net photosynthesis Vc_max [gC/m²/s], following the coordination hypothesis (acclimation), see Harrison 2021 Box 2. Note: this is not the same formula in PALADYN paper, this implementaion is taken from the code

source
Terrarium.compute_JE_JCFunction
compute_JE_JC(
    photo::LUEPhotosynthesis{NF},
    c_1,
    c_2,
    APAR,
    Vc_max
) -> Tuple{Any, Any}

Computes the PAR-limited and the rubisco-activity-limited photosynthesis rates JE and JC [gC/m²/s], Eqn 3+5, Haxeltine & Prentice 1996.

source
Terrarium.compute_RdFunction
compute_Rd(photo::LUEPhotosynthesis, Vc_max, β) -> Any

Computes the leaf respiration rate Rd [gC/m²/s], Eqn 10, Haxeltine & Prentice 1996 and Eq. 10 PALADYN (Willeit 2016).

source
Terrarium.compute_AgFunction
compute_Ag(
    photo::LUEPhotosynthesis{NF},
    c_1,
    c_2,
    APAR,
    Vc_max,
    β
) -> Any

Computes the gross photosynthesis rate Ag [gC/m²/s], Eqn 2, Haxeltine & Prentice 1996

source
Terrarium.compute_respiration_assimilationFunction
compute_respiration_assimilation(
    photo::LUEPhotosynthesis{NF},
    constants::PhysicalConstants{NF},
    T_air,
    swdown,
    pres,
    co2,
    LAI,
    λc,
    β
) -> Tuple{Any, Any}

Compute and return leaf respiration [gC/m²/s] and net assimilation [gC/m²/s] rates.

source
Terrarium.compute_GPPFunction
compute_GPP(_::LUEPhotosynthesis{NF}, An) -> Any

Compute the Gross Primary Production rate [kgC/m²/s].

source

Kernel functions

Terrarium.compute_photosynthesisFunction
compute_photosynthesis(i, j, grid, fields, photo::AbstractPhotosynthesis, atmos::AbstractAtmosphere)

Cell-level photosynthesis computation. Implementations compute leaf respiration and net assimilation for a single horizontal cell and return the pair (Rd, An, GPP) or similar outputs as required by the photosynthesis scheme.

source

References

[4]
M. Willeit and A. Ganopolski. PALADYN v1.0, a Comprehensive Land Surface–Vegetation–Carbon Cycle Model of Intermediate Complexity. Geoscientific Model Development 9, 3817–3857 (2016).