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
lf
Leaf
,Leaves1D
, orLeaves2D
type structure that stores biophysical, reaction center, and photosynthesis model structuresair
AirLayer
structure for environmental conditions like O₂ partial pressureg_lc
Leaf diffusive conductance to CO₂ in[mol m⁻² s⁻¹]
, default isleaf._g_CO₂
ppar
APAR used for photosynthesist
Leaf 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
lf
Leaf
,Leaves1D
, orLeaves2D
type structure that stores biophysical, reaction center, and photosynthesis model structuresair
AirLayer
structure for environmental conditions like O₂ partial pressuremode
GCO₂Mode
orPCO₂Mode
that uses CO₂ conductance or partial pressure to compute photosynthetic rates
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
spac
MonoElementSPAC
,MonoMLGrassSPAC
,MonoMLPalmSPAC
, orMonoMLTreeSPAC
type SPACmode
GCO₂Mode
orPCO₂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
td
Arrhenius
,ArrheniusPeak
,Q10
, orQ10Peak
type temperature dependency struturet
Target temperature inK
t_ref
Reference 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
td
Arrhenius
,ArrheniusPeak
,Q10
, orQ10Peak
type temperature dependency struturet
Target temperature inK
t_ref
Reference 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
structure for photosynthesis modelair
AirLayer
structure for environmental conditions like O₂ partial pressuret
Target 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
leaf
Leaf
type leafleaves
Leaves1D
orLeaves2D
type 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
type C3 photosynthesis modelrc
CytochromeReactionCenter
orVJPReactionCenter
type photosynthesis system reaction centerppar
Absorbed photosynthetically active radiation inμmol m⁻² s⁻¹
p_i
Internal 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
structure for photosynthesis modelp_i
Internal 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
structure for photosynthesis modelair
AirLayer
structure for environmental conditions like O₂ partial pressureg_lc
Leaf 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
structure 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
structure for C3 photosynthesis modelrc
CytochromeReactionCenter
orVJPReactionCenter
type photosynthesis system reaction centerair
AirLayer
structure for environmental conditions like O₂ partial pressureg_lc
Leaf 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
structure for C3 photosynthesis modelp_i
Internal 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
structure for C3 photosynthesis modelair
AirLayer
structure for environmental conditions like O₂ partial pressure, not used in this methodg_lc
Leaf 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
type 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_1
Rate 1a_2
Rate 2colim
MinimumColimit
,QuadraticColimit
, orSerialColimit
type 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
psm
C3CytochromeModel
,C3VJPModel
, orC4VJPModel
type photosynthesis modelrc
CytochromeReactionCenter
orVJPReactionCenter
type photosynthesis system reaction centerppar
Absorbed photosynthetically active radiation inμmol m⁻² s⁻¹
β
Tuning factor to downregulate effective Vmax, Jmax, and Rd