set_leaf_states_rates_from_psi_stem's shut-down branch (psi_upstream >= psi_stem) writes ci_, transpiration_, stom_cond_CO2_ and — since #106 — Tleaf_, but not vpd_leaf_. On the energy-balance path the deficit is a function of leaf temperature (set_leaf_vpd), and the only other places it is seated are set_physiology, at the baseline temperature, and the transpiring branch. So a shut-down operating point reports the previous candidate's deficit.
This is hazard 8 applied to one output over from the one #106 fixed, and it has #106's own argument behind it: on the PM path a leaf that transpires nothing is the hottest one, so the deficit is most wrong exactly where the reported leaf temperature is most extreme. Leaf is a value member plant reuses per individual, so "the previous candidate" can be another plant.
Not obviously harmless, and not obviously harmful either — which is the reason to measure rather than argue:
stom_cond_CO2_ is set to 0 explicitly on this branch, so the stale deficit does not reach the reported conductance there.
- But
vpd_leaf_ is itself a reported field, and assim_max_ is computed against it.
- Whether a solve can end on this branch with a stale deficit, rather than merely pass through it, is the thing to establish first. 48 of 576 golden rows are shut-down, so the grid reaches it.
Found while merging master into feature/profitmax-sicangco (#93). Deliberately left out of that merge: it may move golden rows, so it wants its own change with its own before/after rather than being folded into a conflict resolution.
Suggested shape: call set_leaf_vpd on the shut-down branch with the Tleaf_ that branch already computes, then report the golden-file delta split by cause. If it moves the 48 shut-down rows and nothing else, that is the answer.
set_leaf_states_rates_from_psi_stem's shut-down branch (psi_upstream >= psi_stem) writesci_,transpiration_,stom_cond_CO2_and — since #106 —Tleaf_, but notvpd_leaf_. On the energy-balance path the deficit is a function of leaf temperature (set_leaf_vpd), and the only other places it is seated areset_physiology, at the baseline temperature, and the transpiring branch. So a shut-down operating point reports the previous candidate's deficit.This is hazard 8 applied to one output over from the one #106 fixed, and it has #106's own argument behind it: on the PM path a leaf that transpires nothing is the hottest one, so the deficit is most wrong exactly where the reported leaf temperature is most extreme.
Leafis a value member plant reuses per individual, so "the previous candidate" can be another plant.Not obviously harmless, and not obviously harmful either — which is the reason to measure rather than argue:
stom_cond_CO2_is set to 0 explicitly on this branch, so the stale deficit does not reach the reported conductance there.vpd_leaf_is itself a reported field, andassim_max_is computed against it.Found while merging master into
feature/profitmax-sicangco(#93). Deliberately left out of that merge: it may move golden rows, so it wants its own change with its own before/after rather than being folded into a conflict resolution.Suggested shape: call
set_leaf_vpdon the shut-down branch with theTleaf_that branch already computes, then report the golden-file delta split by cause. If it moves the 48 shut-down rows and nothing else, that is the answer.