# Plant-environment foundations: two synthetic calculations

Version 1.0.0. Python >= 3.10, standard library only. No measured data,
randomness, network access, or file writes. License: unspecified; no new
license is inferred for the site's original content.

Save experiment.py and expected.json in the same directory, then run:

    python3 experiment.py
    python3 experiment.py --verify expected.json
    python3 experiment.py --self-test

Carbon rates describe the entire illustrative plant group, in gC/h.
Prescribed light/dark periods are 16/8 h. Baseline release occurs for 24 h.
This account excludes harvest, shedding, exudation, and explicit
photorespiration. It is not a fitted photosynthesis or crop-yield model.
Never subtract the same respiration twice from measured net assimilation.

Water conductance is total conductance in mol/(m2 leaf s), including
stomatal and boundary-layer effects. Both pressures use kPa. Pressure is
100 kPa, and approximate molar mass is 0.018 kg/mol. Dilute steady vapor
transfer only: no condensation, cuticular pathway model, stomatal response,
leaf energy balance, root hydraulics, or canopy scaling is implemented.
Nonnegative finite inputs are required. Numerical validity does not imply
physiological plausibility or accuracy of this approximation.

Edit calls in examples() to explore release and conductance separately.
The expected file is the unchanged baseline; verification should fail for
changed parameters. Tolerances: absolute 1e-10, relative 1e-10. Missing
keys, type differences, NaN, infinity, and changed numbers fail verification.

Read the bilingual article for derivation, assumptions, references, and
measurement boundaries. manifest.json records hashes and sizes of these
three files; it is an integrity record, not a digital signature.
