Photosynthesis
Photosynthesis model
Photosynthesis.leaf_photosynthesis! — FunctionPer refactored Photosynthesis module, the only things one need to know is the public function leaf_photosynthesis! and some construtors from ClimaCache. See the examples in the methods below for details about how to use the function. The steps for computing photosynthetic rates are
- Update temperature dependent variables using
photosystem_temperature_dependence! - Calculate electron transport rate using
photosystem_electron_transport! - Calculate RubisCO limited rate using
rubisco_limited_rate! - Calculate light limited rate using
light_limited_rate! - Calculate product limited rate using
product_limited_rate! - Calculate gross and net rates using
colimit_photosynthesis! - Update fluorescence related variables using
photosystem_coefficients!
Photosynthesis.leaf_photosynthesis! — Methodleaf_photosynthesis!(lf::Union{Leaf{FT}, Leaves2D{FT}}, air::AirLayer{FT}, g_lc::FT, ppar::FT, t::FT = lf.t) where {FT<:AbstractFloat}
leaf_photosynthesis!(lf::Leaves1D{FT}, air::AirLayer{FT}, g_lc::FT, ppar::FT, t::FT) where {FT<:AbstractFloat}Updates leaf photosynthetic rates based on CO₂ partial pressure (for StomataModels.jl temporary use), given
lfLeaf,Leaves1D, orLeaves2Dtype structure that stores biophysical, reaction center, and photosynthesis model structuresairAirLayerstructure for environmental conditions like O₂ partial pressureg_lcLeaf diffusive conductance to CO₂ in[mol m⁻² s⁻¹], default isleaf._g_CO₂pparAPAR used for photosynthesistLeaf temperature in[K]
Photosynthesis.leaf_photosynthesis! — Methodleaf_photosynthesis!(lf::Union{Leaf{FT}, Leaves1D{FT}, Leaves2D{FT}}, air::AirLayer{FT}, mode::Union{GCO₂Mode, PCO₂Mode}) where {FT<:AbstractFloat}Updates leaf photosynthetic rates based on CO₂ partial pressure or CO₂ conductance, given
lfLeaf,Leaves1D, orLeaves2Dtype structure that stores biophysical, reaction center, and photosynthesis model structuresairAirLayerstructure for environmental conditions like O₂ partial pressuremodeGCO₂ModeorPCO₂Modethat uses CO₂ conductance or partial pressure to compute photosynthetic rates
Examples
leaf = Leaf{Float64}("C3");
air = AirLayer{Float64}();
mode = PCO₂Mode();
leaf_photosynthesis!(leaf, air, mode);Photosynthesis.leaf_photosynthesis! — Methodleaf_photosynthesis!(spac::MonoElementSPAC{FT}, mode::Union{GCO₂Mode, PCO₂Mode}) where {FT<:AbstractFloat}
leaf_photosynthesis!(spac::Union{MonoMLGrassSPAC{FT}, MonoMLPalmSPAC{FT}, MonoMLTreeSPAC{FT}}, mode::Union{GCO₂Mode, PCO₂Mode}) where {FT<:AbstractFloat}Updates leaf photosynthetic rates for SPAC, given
spacMonoElementSPAC,MonoMLGrassSPAC,MonoMLPalmSPAC, orMonoMLTreeSPACtype SPACmodeGCO₂ModeorPCO₂Mode
Temperature dependency
Photosynthesis.temperature_correction — Functiontemperature_correction(td::Arrhenius{FT}, t::FT; t_ref::FT = td.T_REF) where {FT<:AbstractFloat}
temperature_correction(td::ArrheniusPeak{FT}, t::FT; t_ref::FT = td.T_REF) where {FT<:AbstractFloat}
temperature_correction(td::Q10{FT}, t::FT; t_ref::FT = td.T_REF) where {FT<:AbstractFloat}
temperature_correction(td::Q10Peak{FT}, t::FT; t_ref::FT = td.T_REF) where {FT<:AbstractFloat}Return the correction ratio for a temperature dependent variable, given
tdArrhenius,ArrheniusPeak,Q10, orQ10Peaktype temperature dependency struturetTarget temperature inKt_refReference temperature inK, default istd.T_REF(298.15 K)
Photosynthesis.temperature_corrected_value — Functiontemperature_corrected_value(td::Union{Arrhenius{FT}, ArrheniusPeak{FT}, Q10{FT}, Q10Peak{FT}}, t::FT; t_ref::FT = td.T_REF) where {FT<:AbstractFloat}Return the temperature corrected value, given
tdArrhenius,ArrheniusPeak,Q10, orQ10Peaktype temperature dependency struturetTarget temperature inKt_refReference temperature inK, default istd.T_REF(298.15 K)
Photosynthesis.photosystem_temperature_dependence! — Functionphotosystem_temperature_dependence!(psm::C3CytochromeModel{FT}, air::AirLayer{FT}, t::FT) where {FT<:AbstractFloat}
photosystem_temperature_dependence!(psm::C3VJPModel{FT}, air::AirLayer{FT}, t::FT) where {FT<:AbstractFloat}
photosystem_temperature_dependence!(psm::C4VJPModel{FT}, air::AirLayer{FT}, t::FT) where {FT<:AbstractFloat}Update the temperature dependencies of C3 photosynthesis model, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModelstructure for photosynthesis modelairAirLayerstructure for environmental conditions like O₂ partial pressuretTarget temperature inK
Photosynthesis.∂R∂T — Function∂R∂T(leaf::Leaf{FT}) where {FT<:AbstractFloat}
∂R∂T(leaves::Leaves1D{FT}) where {FT<:AbstractFloat}
∂R∂T(leaves::Leaves2D{FT}) where {FT<:AbstractFloat}Return the marginal increase in respiration rate per temperature, given
leafLeaftype leafleavesLeaves1DorLeaves2Dtype leaf
Electron transport
Photosynthesis.photosystem_electron_transport! — Functionphotosystem_electron_transport!(psm::C3CytochromeModel{FT}, rc::CytochromeReactionCenter{FT}, ppar::FT, p_i::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
photosystem_electron_transport!(psm::C3VJPModel{FT}, rc::VJPReactionCenter{FT}, ppar::FT, p_i::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
photosystem_electron_transport!(psm::C4VJPModel{FT}, rc::VJPReactionCenter{FT}, ppar::FT, p_i::FT; β::FT = FT(1)) where {FT<:AbstractFloat}Update the electron transport rates, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModeltype C3 photosynthesis modelrcCytochromeReactionCenterorVJPReactionCentertype photosynthesis system reaction centerpparAbsorbed photosynthetically active radiation inμmol m⁻² s⁻¹p_iInternal CO₂ partial pressure inPa, used to compute etocβTuning factor to downregulate effective Vmax, Jmax, and Rd
Photosynthetic rates
Photosynthesis.rubisco_limited_rate! — FunctionThis function supports two types of calculations:
- Calculate the rate from internal CO₂
- Calculate the rate from CO₂ conductance by solving a quadratic function
Photosynthesis.rubisco_limited_rate! — Methodrubisco_limited_rate!(psm::Union{C3CytochromeModel{FT},C3VJPModel{FT}}, p_i::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
rubisco_limited_rate!(psm::C4VJPModel{FT}, p_i::FT; β::FT = FT(1)) where {FT<:AbstractFloat}Update the RubisCO limited photosynthetic rate, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModelstructure for photosynthesis modelp_iInternal CO₂ partial pressure inPaβTuning factor to downregulate effective Vmax, Jmax, and Rd
Photosynthesis.rubisco_limited_rate! — Methodrubisco_limited_rate!(psm::Union{C3CytochromeModel{FT}, C3VJPModel{FT}}, air::AirLayer{FT}, g_lc::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
rubisco_limited_rate!(psm::C4VJPModel{FT}, air::AirLayer{FT}, g_lc::FT; β::FT = FT(1)) where {FT<:AbstractFloat}Update the RubisCO limited photosynthetic rate in conductance mode, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModelstructure for photosynthesis modelairAirLayerstructure for environmental conditions like O₂ partial pressureg_lcLeaf diffusive conductance to CO₂ in[mol m⁻² s⁻¹]βTuning factor to downregulate effective Vmax, Jmax, and Rd
Photosynthesis.light_limited_rate! — FunctionThis function supports two types of calculations:
- Calculate the rate from internal CO₂
- Calculate the rate from CO₂ conductance by solving a quadratic function
Photosynthesis.light_limited_rate! — Methodlight_limited_rate!(psm::Union{C3CytochromeModel{FT}, C4VJPModel{FT}}) where {FT<:AbstractFloat}
light_limited_rate!(psm::C3VJPModel{FT}) where {FT<:AbstractFloat}Update the electron transport limited photosynthetic rate, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModelstructure for C3 photosynthesis model
Photosynthesis.light_limited_rate! — Methodlight_limited_rate!(psm::C3CytochromeModel{FT}, rc::CytochromeReactionCenter{FT}, air::AirLayer{FT}, g_lc::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
light_limited_rate!(psm::C3VJPModel{FT}, rc::VJPReactionCenter{FT}, air::AirLayer{FT}, g_lc::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
light_limited_rate!(psm::C4VJPModel{FT}, rc::VJPReactionCenter{FT}, air::AirLayer{FT}, g_lc::FT; β::FT = FT(1)) where {FT<:AbstractFloat}Update the electron transport limited photosynthetic rate in conductance mode, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModelstructure for C3 photosynthesis modelrcCytochromeReactionCenterorVJPReactionCentertype photosynthesis system reaction centerairAirLayerstructure for environmental conditions like O₂ partial pressureg_lcLeaf diffusive conductance to CO₂ in[mol m⁻² s⁻¹]βTuning factor to downregulate effective Vmax, Jmax, and Rd
Photosynthesis.product_limited_rate! — FunctionThis function supports two types of calculations:
- Calculate the rate from internal CO₂
- Calculate the rate from CO₂ conductance by solving a quadratic function
Photosynthesis.product_limited_rate! — Methodproduct_limited_rate!(psm::Union{C3CytochromeModel{FT}, C3VJPModel{FT}}, p_i::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
product_limited_rate!(psm::C4VJPModel{FT}, p_i::FT; β::FT = FT(1)) where {FT<:AbstractFloat}Update the product limited photosynthetic rate, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModelstructure for C3 photosynthesis modelp_iInternal CO₂ partial pressure inPa, not used in this methodβTuning factor to downregulate effective Vmax, Jmax, and Rd
Photosynthesis.product_limited_rate! — Methodproduct_limited_rate!(psm::Union{C3CytochromeModel{FT}, C3VJPModel{FT}}, air::AirLayer{FT}, g_lc::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
product_limited_rate!(psm::C4VJPModel{FT}, air::AirLayer{FT}, g_lc::FT; β::FT = FT(1)) where {FT<:AbstractFloat}Update the electron transport limited photosynthetic rate in conductance mode, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModelstructure for C3 photosynthesis modelairAirLayerstructure for environmental conditions like O₂ partial pressure, not used in this methodg_lcLeaf diffusive conductance to CO₂ in[mol m⁻² s⁻¹], not used in this methodβTuning factor to downregulate effective Vmax, Jmax, and Rd
Colimitation
Photosynthesis.colimit_photosynthesis! — Functioncolimit_photosynthesis!(psm::Union{C3CytochromeModel{FT}, C3VJPModel{FT}, C4VJPModel{FT}}; β::FT = FT(1)) where {FT<:AbstractFloat}Colimit the photosynthesis by rubisco-, light-, and product-limited photosynthetic rates, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModeltype photosynthesis modelβTuning factor to downregulate effective Vmax, Jmax, and Rd (default is 1)
Photosynthesis.colimited_rate — Functioncolimited_rate(a_1::FT, a_2::FT, colim::MinimumColimit{FT}) where {FT<:AbstractFloat}
colimited_rate(a_1::FT, a_2::FT, colim::QuadraticColimit{FT}) where {FT<:AbstractFloat}
colimited_rate(a_1::FT, a_2::FT, colim::SerialColimit{FT}) where {FT<:AbstractFloat}
colimited_rate(a_1::FT, a_2::FT, colim::SquareColimit{FT}) where {FT<:AbstractFloat}Return the minimum of two rates, given
a_1Rate 1a_2Rate 2colimMinimumColimit,QuadraticColimit, orSerialColimittype struct
Coefficients and fluorescence
Photosynthesis.photosystem_coefficients! — Functionphotosystem_coefficients!(psm::C3CytochromeModel{FT}, rc::CytochromeReactionCenter{FT}, ppar::FT; β::FT = FT(1)) where {FT<:AbstractFloat}
photosystem_coefficients!(psm::Union{C3VJPModel{FT}, C4VJPModel{FT}}, rc::VJPReactionCenter{FT}, ppar::FT; β::FT = FT(1)) where {FT<:AbstractFloat}Update the rate constants and coefficients in reaction center, given
psmC3CytochromeModel,C3VJPModel, orC4VJPModeltype photosynthesis modelrcCytochromeReactionCenterorVJPReactionCentertype photosynthesis system reaction centerpparAbsorbed photosynthetically active radiation inμmol m⁻² s⁻¹βTuning factor to downregulate effective Vmax, Jmax, and Rd