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) model
  • ConstantGs: a model to force a constant value for Gₛ

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 = ModelList(ConstantGs(Gₛ = 0.1))

run!(leaf,meteo)
leaf[:Gₛ]
1-element Vector{Float64}:
 0.1

Medlyn

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}$).
Note

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 = ModelList(
    Medlyn(0.03, 12.0),
    status = (A = 20.0, Cₛ = 400.0, Dₗ = meteo.VPD)
)

run!(leaf,meteo)

leaf
PlantSimEngine.DependencyGraph{Dict{Symbol, PlantSimEngine.SoftDependencyNode}, Any}(Dict{Symbol, PlantSimEngine.SoftDependencyNode}(:stomatal_conductance => Medlyn{Float64}
), Dict{Symbol, Any}())TimeStepTable{Status{(:Dₗ, :Cₛ, :A, :Gₛ...}(1 x 4):
╭─────┬──────────┬─────────┬─────────┬──────────╮
│ Row │       Dₗ │      Cₛ │       A │       Gₛ │
│     │  Float64  Float64  Float64   Float64 │
├─────┼──────────┼─────────┼─────────┼──────────┤
│   1 │ 0.821448 │   400.0 │    20.0 │ 0.742005 │
╰─────┴──────────┴─────────┴─────────┴──────────╯
Note

You can use inputs to get the variables needed for a given model, e.g.: inputs(Medlyn(0.03, 12.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) / A

Input 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 = ModelList(ConstantGs(Gₛ = 0.1))

run!(leaf,meteo)
leaf[:Gₛ]
1-element Vector{Float64}:
 0.1

References

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.