Leaf stomatal efficiency
Input: gs_val (candidate stomatal conductance)
│
▼
┌──────────────────────────────────────┐
│ Compute boundary layer conductances │
└──────────────────────────────────────┘
│
┌─────────┴─────────┐
▼ ▼
At gs = gs_val − delta At gs = gs_val
┌───────────────┐ ┌───────────────┐
│ Leaf temp │ │ Leaf temp │
│ Photosynthesis│ │ Photosynthesis│
│ → an2 │ │ → an1 │
└───────────────┘ └───────────────┘
│ │
└─────────┬─────────┘
▼
┌───────────────────────────────────────┐
│ CHECK 1: Efficiency │
│wue = (an1 − an2) − delta·iota·(VPD/P) │
│ │
│ Marginal carbon vs Marginal water │
│ gain cost │
│ │
│ wue > 0 → "still worth it" │
│ wue < 0 → "too expensive" │
└───────────────────────────────────────┘
│
▼
┌──────────────────────────────────────┐
│ CHECK 2: Cavitation safety │
│ leafwp = leaf_water_potential() │
│ minpsi = leafwp − ψ_min │
│ │
│ minpsi > 0 → "No cavitation risk" │
│ minpsi < 0 → "danger of cavitation" │
└──────────────────────────────────────┘
│
▼
┌──────────────────────────────────────┐
│ val = min(wue, minpsi) │
│ │
│ val > 0 → open stomata more │
│ val < 0 → close stomata │
│ val = 0 → OPTIMAL gs (root) │
└──────────────────────────────────────┘
│
▼
Return val to Brent's method
leaf_stomatal_efficiency
def leaf_stomatal_efficiency(
physcon:PhysCon, atmos:Atmos, leaf:Leaf, flux:Flux, gs_val:float
)->tuple:
Stomatal water-use efficiency check and cavitation check to determine maximum gs.
For the stomatal conductance gs_val, calculate photosynthesis and leaf water potential for an increase in stomatal conductance equal to “delta”.
The returned value is positive if this increase produces a change in photosynthesis > iotavpddelta or if the leaf water potential is > minl_wp.
The returned value is negative if the increase produces a change in photosynthesis < iotavpddelta or if the leaf water potential is < minl_wp.