Lake Regime Shift: Nutrient Loading & Hysteresis
Interactive 3D shallow-lake model: drag nutrient loading up and down and watch the ecosystem flip between a clear, vegetated state and a turbid, algae-choked state — with hysteresis, so recovery needs far less loading than the collapse did.
A shallow lake is one of ecology's clearest examples of an ecosystem with two alternative stable states. This simulator runs the Carpenter–Ludwig–Brock phosphorus model in real time — a single differential equation combining external nutrient loading, natural flushing, and a sigmoid sediment-recycling feedback — and renders the result as a real 3D lake whose water clarity, algae bloom density and underwater vegetation respond to the live phosphorus level. Drag the loading slider up and the lake stays clear far longer than intuition suggests, then flips abruptly to a turbid, algae-choked state once a tipping point is crossed; drag it back down and the lake stubbornly stays turbid until loading falls well below where the collapse happened. A live phase-plane plot traces this S-shaped equilibrium curve and the hysteresis loop as you (or the auto-ramp) move through it.
A live 3D shallow-lake model where raising external nutrient loading flips the ecosystem abruptly from a clear, vegetated state to a turbid algae bloom — and lowering it back doesn't reverse the flip at the same point, tracing a real hysteresis loop.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install