In 1840, Justus von Liebig observed that crop growth is not set by the average availability of nutrients — it is capped by whichever single resource is scarcest relative to what the plant needs. Adding more of an already-abundant factor does nothing until the bottleneck itself is relieved.
Growth rate = R_max × min( f(Light), f(Water), f(Nitrogen), f(Temperature) )
f(Light) = L / (L + K_L) Monod saturation, K_L = 25%
f(Water) = W / (W + K_W) Monod saturation, K_W = 25%
f(Nitrogen) = N / (N + K_N) Monod saturation, K_N = 20%
f(Temp) = exp( -((T - T_opt)/σ)² ) bell curve, T_opt = 24°C, σ = 12°C
Each factor is scored 0–1 independently (light/water/nitrogen saturate toward 1 as they become abundant; temperature peaks at an optimum and falls off on both sides — too cold or too hot both hurt). The plant's actual growth speed uses only the lowest of the four scores — that's the "limiting factor," highlighted in red on the panel and in the field below, where individual plants also carry small random microsite variation so the canopy never looks perfectly uniform.
- Sliders — set the mean level of each of the four factors across the whole field.
- Replant field — resets every plant to a seedling and reshuffles microsite variability.
- Limiting factor — whichever bar is shortest is throttling growth; push its slider up and watch the ceiling lift, even while the other three stay unchanged.
This is the same logic behind why a well-watered, sun-drenched field can still stall out from nitrogen deficiency, or why a nutrient-rich greenhouse plant stops growing the moment the thermostat drifts out of range.