Stomatal conductance
The stomatal conductance (Gₛ, $mol_{CO_2} \cdot m^{-2} \cdot s^{-1}$) defines the conductance for CO₂ between the atmosphere (the air around the leaf) and the air inside the stomata. The stomatal conductance to CO₂ and H₂O are related by a constant (see gsc_to_gsw).
Models overview
Several models are available to simulate it:
Medlyn: an implementation of the Medlyn et al. (2011) modelTuzet: an implementation of the Tuzet et al. (2003) modelConstantGs: a model to force a constant value forGₛ
You can choose which model to use by passing a component with a stomatal conductance model set to one of the struct above.
For example, you can "simulate" a constant assimilation for a leaf using the following:
using PlantBiophysics, PlantSimEngine
meteo = Atmosphere(T = 20.0, Wind = 1.0, P = 101.3, Rh = 0.65)
leaf = ModelMapping(ConstantGs(Gₛ = 0.1))
out = run!(leaf,meteo)
out[:Gₛ]1-element Vector{Float64}:
0.1Multi-rate defaults
All stomatal conductance models in PlantBiophysics declare a multi-rate timestep hint:
- required range: 1 minute to 6 hours
- preferred timestep: 1 hour
These hints are used by PlantSimEngine when no explicit TimeStepModel(...) is provided in a ModelSpec.
using Dates
PlantSimEngine.timestep_hint(Medlyn(0.03, 12.0))(required = (Dates.Minute(1), Dates.Hour(6)), preferred = Dates.Hour(1))You can still enforce a specific model timestep in the mapping:
spec = ModelSpec(Medlyn(0.03, 12.0)) |> TimeStepModel(Dates.Hour(3))
PlantSimEngine.timestep(spec)3 hoursMedlyn
Parameters
The Medlyn model has the following set of parameters:
g0: intercept ($mol_{CO_2} \cdot m^{-2} \cdot s^{-1}$).g1: slope.gs_min = 0.001: residual conductance ($mol_{CO_2} \cdot m^{-2} \cdot s^{-1}$).
We consider the residual conductance being different from g0 because in practice g0 can be negative when fitting real-world data.
Input variables
The Medlyn model needs three input variables:
inputs(Medlyn(0.1, 8.0))(:Dₗ, :Cₛ, :A)Dₗ (kPa) is the difference between the vapour pressure at the leaf surface and the saturated air vapour pressure, Cₛ (ppm) is the air CO₂ concentration at the leaf surface, and A is the CO₂ assimilation rate ($μmol \cdot m^{-2} \cdot s^{-1}$)
Example
Here is an example usage:
meteo = Atmosphere(T = 20.0, Wind = 1.0, P = 101.3, Rh = 0.65)
leaf = ModelMapping(
Medlyn(0.03, 12.0),
status = (A = 20.0, Cₛ = 400.0, Dₗ = meteo.VPD)
)
out = run!(leaf,meteo)
out| TimeStepTable{Status{(:Dₗ, :Cₛ, :A, :Gₛ...}(1 x 4): | ||||
| Dₗ | Cₛ | A | Gₛ | |
|---|---|---|---|---|
| Float64 | Float64 | Float64 | Float64 | |
| 1 | 0.821448 | 400.0 | 20.0 | 0.742005 |
You can use inputs to get the variables needed for a given model, e.g.: inputs(Medlyn(0.03, 12.0))
Tuzet et al. (2003) Stomatal Conductance Model
The Tuzet et al. (2003) model describes stomatal conductance as a function of leaf water potential and CO₂ concentration. It is particularly useful for modeling the effects of water stress on stomatal behavior.
Parameters
g0: Intercept of the stomatal conductance model (mol m⁻² s⁻¹).g1: Slope of the stomatal conductance model (mol m⁻² s⁻¹).Ψᵥ: Leaf water potential at which stomatal conductance is halved (MPa).sf: Sensitivity factor for stomatal closure (unitless).Γ: CO₂ compensation point (μmol mol⁻¹).gs_min: Residual stomatal conductance (mol m⁻² s⁻¹).
Equation
The stomatal conductance is calculated as:
\[FPSIF = \frac{1 + \exp(sf \cdot Ψᵥ)}{1 + \exp(sf \cdot (Ψᵥ - Ψₗ))} Gₛ = g0 + \frac{g1}{Cₛ - Γ} \cdot FPSIF\]
Where:
Ψₗis the leaf water potential (MPa).Cₛis the CO₂ concentration at the leaf surface (μmol mol⁻¹).Γis the CO₂ compensation point (μmol mol⁻¹).
Example Usage
using PlantMeteo, PlantSimEngine, PlantBiophysics
meteo = Atmosphere(T = 20.0, Wind = 1.0, P = 101.3, Rh = 0.65)
leaf = ModelMapping(
stomatal_conductance = Tuzet(0.03, 12.0, -1.5, 2.0, 30.0),
status = (A = 20.0, Cₛ = 400.0, Ψₗ = -1.0)
)
outputs = run!(leaf, meteo)| TimeStepTable{Status{(:Ψₗ, :Cₛ, :Gₛ,...}(1 x 4): | ||||
| Ψₗ | Cₛ | Gₛ | A | |
|---|---|---|---|---|
| Float64 | Float64 | Float64 | Float64 | |
| 1 | -1.0 | 400.0 | 0.527809 | 20.0 |
ConstantGs
Parameters
The ConstantGs model has the following set of parameters:
g0 = 0.0: intercept ($mol_{CO_2} \cdot m^{-2} \cdot s^{-1}$).Gₛ: forced stomatal conductance.
This model computes the stomatal conductance using a constant value for the stomatal conductance.
g0 is only provided for compatibility with photosynthesis models such as Fvcb that needs a partial computation of the stomatal conductance at one point:
(Gₛ - g0) / AInput variables
ConstantGs doesn't need any input variables.
Example
Here is an example usage:
meteo = Atmosphere(T = 20.0, Wind = 1.0, P = 101.3, Rh = 0.65)
leaf = ModelMapping(ConstantGs(Gₛ = 0.1))
out = run!(leaf,meteo)
out[:Gₛ]1-element Vector{Float64}:
0.1References
Tuzet, A., Perrier, A., & Leuning, R. (2003). A coupled model of stomatal conductance, photosynthesis and transpiration. Plant, Cell & Environment, 26(7), 1097-1116.
Medlyn, B. E., E. Dreyer, D. Ellsworth, M. Forstreuter, P. C. Harley, M. U. F. Kirschbaum, X. Le Roux, et al. 2002. « Temperature response of parameters of a biochemically based model of photosynthesis. II. A review of experimental data ». Plant, Cell & Environment 25 (9): 1167‑79. https://doi.org/10.1046/j.1365-3040.2002.00891.x.