Each leaf's photosynthesis follows a saturating (Michaelis–Menten-style) light-response curve — gross carbon fixation rises steeply at low light then flattens as the light-harvesting machinery saturates:
P_leaf(I) = Pmax · I / (Km + I) [µmol CO2 · m⁻² leaf · s⁻¹]
Canopy leaf area (LAI) grows logistically from a seedling toward a maximum as the crop fills the chamber over the grow cycle:
LAI(t) = LAImax / (1 + e^(−k(t − t50)))
Canopy-scale net CO2 uptake integrates gross photosynthesis over the photoperiod, subtracts round-the-clock dark respiration, and scales by LAI and crop area — this is the real mass-balance input to the habitat:
CO2_net = [P_leaf(I)·LAI·photoperiod − Rd·LAI·24h] · area · 1e-6 · 3600 [mol CO2/day]
Because photosynthesis fixes CO2 and releases O2 in a 1:1 molar ratio, net O2 production uses the same net-uptake term. Dry biomass accumulates from the carbon fixed (44→12 g CO2→C, ÷0.43 carbon fraction of dry tissue ≈ 0.63 kg biomass per kg CO2 fixed). Crew consumption is fixed at NASA baseline rates (0.84 kg O2 and 1.00 kg CO2 per person per day). The balances below are what actually determines whether this chamber alone could keep the crew's air breathable — not a decorative growth animation.
- O2 balance — crop O2 output minus crew O2 demand; positive = net-positive life support.
- CO2 balance — crop CO2 uptake minus crew CO2 output; positive = crop is a net CO2 sink for the habitat.
- Early in the cycle LAI is tiny, so respiration can exceed photosynthesis — the chamber runs at a deficit until the canopy fills in.