Photosynthesis
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.
Terrarium.AbstractPhotosynthesis — Type
abstract type AbstractPhotosynthesis{NF} <: Terrarium.AbstractProcess{NF}Base type for photosynthesis schemes.
subtypes(Terrarium.AbstractPhotosynthesis)1-element Vector{Any}:
LUEPhotosynthesisLight use efficiency (LUE) model
Terrarium.LUEPhotosynthesis — Type
struct LUEPhotosynthesis{NF} <: Terrarium.AbstractPhotosynthesis{NF}Photosynthesis implementation from PALADYN [21] for C3 PFTs following the mechanistic approach of [22]. 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. Ratio of carboxylation to oxygenation rates.Kc25::Any: Michaelis-Menten constant for CO₂ at 25°C. PALADYN value for needleleaf trees.Ko25::Any: Michaelis-Menten constant for O₂ at 25°C. PALADYN value for needleleaf trees.q10_τ::Any: Q10 temperature sensitivity for τ. Controls temperature dependence of specificity.q10_Kc::Any: Q10 temperature sensitivity for Kc. Controls temperature dependence of CO₂ affinity.q10_Ko::Any: Q10 temperature sensitivity for Ko. 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 plantsleaf_respiration_fraction::Any: Leaf (dark) respiration as a fraction of the maximum carboxylation capacityVc_maxfor C3 plants, [22, Eq. (10)]cq::Any: Conversion factor for solar radiation at 550 nm from J/m² to mol/m²T_CO2_high::Any: Upper temperature threshold for CO₂/O₂ specificity factor. Above this, photosynthesis rapidly declines. PFT-specific, needleleaf tree value.T_CO2_low::Any: Lower temperature threshold for CO₂/O₂ specificity factor. Below this, photosynthesis rapidly declines. PFT-specific, needleleaf tree value.T_photos_high::Any: Upper temperature threshold for light-limited photosynthesis rate. Peak photosynthesis capacity. PFT-specific, needleleaf tree value.T_photos_low::Any: Lower temperature threshold for light-limited photosynthesis rate. 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).
References
variables(LUEPhotosynthesis(Float32))Variables
├─ Prognostic:
├─ Auxiliary:
├── net_assimilation [kg m^-2 s^-1] on XY{Center, Center, Nothing} of the canopy domain
├── leaf_respiration [kg m^-2 s^-1] on XY{Center, Center, Nothing} of the canopy domain
├── gross_primary_production [kg m^-2 s^-1] on XY{Center, Center, Nothing} of the canopy domain
├─ Inputs:
├── soil_moisture_limiting_factor [-] on XY{Center, Center, Nothing} of the ground domain
├── leaf_area_index [-] on XY{Center, Center, Nothing} of the canopy domain
├─ Namespaces:
This implementation uses the light-use efficiency model of Haxeltine and Prentice [22], adapted from PALADYN [21], 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 kgC/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 CO₂ uptake in C3 plants, $C_{mass}$ is the atomic mass of carbon (kgC/mol), $p_i$ is intercellular CO₂ partial pressure and $\Gamma^*$ is the CO₂ 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 ($\text{SW}_{\downarrow}$) is in the photosynthetically active wavelength range, photosynthetically active radiation ($\text{PAR}$) can be computed as
\[\begin{equation} \text{PAR} = 0.5 \cdot $\text{SW}_{\downarrow}$ \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 ($\text{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 $\text{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.
Leaf respiration
Leaf (dark) respiration is a fixed fraction $b$ (leaf_respiration_fraction, 0.015 for C3 plants) of the maximum carboxylation capacity [22, Eq. (10)], limited by soil moisture through the factor $\beta$,
\[\begin{equation} R_d = b \cdot V_c^{\max} \cdot \beta\,. \end{equation}\]
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,
traits::PlantTraits,
constants::PhysicalConstants,
atmos::Terrarium.AbstractAtmosphere,
args...
)Methods
Terrarium.compute_kinetic_parameters — Function
compute_kinetic_parameters(
photo::LUEPhotosynthesis{NF},
T_air::NF
) where NF -> Tuple{Any, Any, Any}Computes kinetic parameters τ, Kc, Ko based on temperature using Q10 temperature response. Follows enzyme kinetics from [22], 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]
References
- [22] Haxeltine & Prentice, Global Biogeochemical Cycles (1996)
Terrarium.compute_Γ_star — Function
compute_Γ_star(
photo::LUEPhotosynthesis{NF},
τ::NF,
pres_O2::NF
) where NFComputes the CO₂ compensation point Γ_star [Pa]. The intercellular CO₂ partial pressure at which gross photosynthesis equals respiration. Follows [21, Eq. (C6)].
References
- [21] Willeit & Ganopolski, Geoscientific Model Development (2016)
Terrarium.compute_PAR — Function
compute_PAR(
photo::LUEPhotosynthesis{NF},
swdown::NF
) where NFComputes NET Photosynthetically Active Radiation PAR [mol/m²/s].
Terrarium.compute_APAR — Function
compute_APAR(
photo::LUEPhotosynthesis{NF},
traits::PlantTraits{NF},
swdown::NF,
LAI::NF
) where NFComputes absorbed PAR limited by the fraction of PAR assimilated at ecosystem level APAR [mol/m²/s], [21, Eq. (62)].
References
- [21] Willeit & Ganopolski, Geoscientific Model Development (2016)
Terrarium.compute_pres_i — Function
compute_pres_i(photo::LUEPhotosynthesis, λc, pres_a)Computes intercellular CO2 partial pressure [Pa], [21, Eq. (67)].
References
- [21] Willeit & Ganopolski, Geoscientific Model Development (2016)
Terrarium.compute_temperature_stress — Function
compute_temperature_stress(
photo::LUEPhotosynthesis{NF},
T_air::NF
) where NFComputes the temperature stress factor T_stress based on the air temperature.
Terrarium.compute_assimilation_factors — Function
compute_assimilation_factors(
photo::LUEPhotosynthesis{NF},
constants::MaterialConstants{NF},
Γ_star::NF,
T_stress::NF,
Kc::NF,
Ko::NF,
pres_i::NF,
pres_O2::NF
) where NF -> Tuple{Any, Any}Computes factors for light-limited c_1 [kgC/mol] and RuBisCO-limited c_2 [dimensionless] assimilation. Follows [21, Eqs. (C4-C5)] and [22].
- 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
References
Terrarium.compute_Vc_max — Function
compute_Vc_max(
photo::LUEPhotosynthesis{NF},
c_1::NF,
PAR::NF,
Kc::NF,
Ko::NF,
Γ_star::NF,
pres_i::NF,
pres_O2::NF
) where NFComputes the maximum carboxylation capacity Vc_max [kgC/m²/s], following the coordination hypothesis (acclimation), see [23] Box 2. Note: this is not the same formula as in the [21] paper, this implementation is taken from the PALADYN code
References
Terrarium.compute_JE_JC — Function
compute_JE_JC(
photo::LUEPhotosynthesis{NF},
c_1::NF,
c_2::NF,
APAR::NF,
Vc_max::NF
) where NF -> Tuple{Any, Any}Computes the PAR-limited and the rubisco-activity-limited photosynthesis rates JE and JC [kgC/m²/s], [22, Eqs. (3, 5)].
References
- [22] Haxeltine & Prentice, Global Biogeochemical Cycles (1996)
Terrarium.compute_Rd — Function
compute_Rd(
photo::LUEPhotosynthesis,
Vc_max::NF,
β::NF
) where NFComputes the leaf respiration rate Rd [kgC/m²/s], [22, Eq. (10)] and [21, Eq. (10)].
References
Terrarium.compute_Ag — Function
compute_Ag(
photo::LUEPhotosynthesis{NF},
c_1::NF,
c_2::NF,
APAR::NF,
Vc_max::NF,
β::NF
) where NFComputes the gross photosynthesis rate Ag [kgC/m²/s], [22, Eq. (2)].
References
- [22] Haxeltine & Prentice, Global Biogeochemical Cycles (1996)
Terrarium.compute_respiration_assimilation — Function
compute_respiration_assimilation(
photo::LUEPhotosynthesis{NF},
traits::PlantTraits{NF},
constants::MaterialConstants{NF},
T_air::NF,
swdown::NF,
pres::NF,
co2::NF,
LAI::NF,
λc::NF,
β::NF
) where NF -> Tuple{Any, Any}Compute and return leaf respiration [kgC/m²/s] and net assimilation [kgC/m²/s] rates.
Terrarium.compute_GPP — Function
compute_GPP(
::LUEPhotosynthesis{NF},
An::NF,
Rd::NF
) where NFCompute Gross Primary Production from net assimilation An and leaf respiration Rd [kgC/m²/s].
Kernel functions
Terrarium.compute_photosynthesis — Function
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.
Terrarium.compute_photosynthesis! — Function
compute_photosynthesis!(
out,
i,
j,
grid,
fields,
photo::LUEPhotosynthesis,
stomcond::Terrarium.AbstractStomatalConductance,
traits::PlantTraits,
constants::PhysicalConstants,
atmos::Terrarium.AbstractAtmosphere
)Calls compute_photosynthesis and stores the results in out.
References
- [21]
- 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).
- [22]
- A. Haxeltine and I. C. Prentice. BIOME3: An equilibrium terrestrial biosphere model based on ecophysiological constraints, resource availability, and competition among plant functional types. Global Biogeochemical Cycles 10, 693–709 (1996).
- [23]
- S. P. Harrison, W. Cramer, O. Franklin, I. C. Prentice, H. Wang, Å. Brännström and others. Eco-evolutionary optimality as a means to improve vegetation and land-surface models. New Phytologist 231, 2125–2141 (2021).