This model runs a five-variable system of ordinary differential equations — phosphorus (P), algae biomass (A), dissolved oxygen (O), fish biomass (F) and dead organic matter (D) — integrated step by step with fourth-order Runge-Kutta. Algal uptake of phosphorus follows Monod kinetics, whilst oxygen is replenished by reaeration and drawn down by respiration and decomposition. Push phosphorus loading past a threshold and the lake tips from a clear, oxygenated state into a turbid, oxygen-starved one, and winding the loading back down does not retrace the same path, producing a hysteresis loop you can watch trace out on the phase plot.
A lake tank sits alongside live bar readouts for phosphorus, algae, oxygen and fish, plus a loading-versus-algae phase plot. Four regimes — clear, transition, blooming and anoxic — are colour-coded and update in real time as the underlying equations are integrated.
Choose a starting preset (Oligotrophic, Mesotrophic, Eutrophic, Collapsing), then drag Phosphorus loading, Fish stocking (grazing) and Reaeration to see how each shifts the balance. Heavy rain and Drought inject short nutrient shocks, Sim speed rescales time, and Pause/Reset control the run.
Real dead zones, such as the one in the Gulf of Mexico, can exceed ten thousand square kilometres in a single summer — driven by exactly the phosphorus loading this model condenses into a single slider.
Dead algae settle as organic matter, and once oxygen falls low enough that matter recycles phosphorus back out of the sediment faster than it settles, so the lake's internal phosphorus supply keeps feeding blooms even after external loading drops. This delayed feedback is what produces the hysteresis loop traced on the phase plot.
Fish biomass loses mass through a constant background mortality plus an oxygen-linked term that switches on once dissolved oxygen drops below 3 mg/L; the further oxygen falls beneath that threshold, the faster fish die off, which is why the regime label flips to anoxic once oxygen or fish biomass crosses its critical value.
It scales how quickly oxygen exchanges with the atmosphere at the lake surface, pulling dissolved oxygen back towards its saturation value of 10 mg/L. Turning reaeration up can partly offset a deficit caused by algal respiration and decomposition, but cannot by itself stop a bloom from forming.
Heavy rain adds a temporary pulse to phosphorus input that decays away over time, while Drought temporarily raises the concentration multiplier on existing loading. Both effects fade exponentially, modelling short-lived weather events rather than a permanent change in nutrient management.
It is a running shoelace-formula estimate of the area enclosed by the loop traced in the loading-versus-algae phase plot. A larger area means the clear and turbid states are more strongly separated, so more effort is needed to push the lake back to clear once it has tipped into bloom.
Eutrophication is the process by which a water body becomes overly enriched with nutrients—primarily nitrogen and phosphorus from agricultural runoff, sewage discharge, and urban stormwater. Excess nutrients fuel explosive growth of algae and cyanobacteria, forming dense surface blooms that block sunlight from reaching submerged aquatic plants and alter the food web structure of lakes, estuaries, and coastal waters.
When algal blooms die, decomposing bacteria consume enormous quantities of dissolved oxygen, creating hypoxic or anoxic dead zones where fish and invertebrates cannot survive. Cyanobacteria (blue-green algae) produce hepatotoxins and neurotoxins dangerous to wildlife, livestock, pets, and humans. The Gulf of Mexico dead zone, fed by Mississippi River nutrient runoff from the US Corn Belt, covers thousands of square kilometers each summer and is one of the world's most documented eutrophication events.
This simulator models nutrient loading, algal biomass growth, oxygen dynamics, and the transition from oligotrophic (low-nutrient, clear-water) to eutrophic (high-nutrient, turbid) states. You can manipulate nutrient inputs, flushing rate, and temperature to observe tipping-point dynamics, where small additional nutrient loads can trigger sudden irreversible shifts in ecosystem state.
What are the main sources of nutrients that cause eutrophication?
The primary nutrients driving eutrophication are nitrogen and phosphorus. Agricultural fertilizers, especially nitrates and phosphates, leach into streams and groundwater during rain events. Animal waste from livestock operations contributes large nitrogen loads. Untreated or partially treated sewage releases both nutrients. Atmospheric nitrogen deposition from vehicle and industrial emissions also contributes to coastal eutrophication. Urban lawns, golf courses, and stormwater runoff are additional point and non-point sources.
Why is phosphorus considered the main limiting nutrient in freshwater?
In most freshwater lakes, phosphorus is the nutrient in shortest supply relative to what algae need (Redfield ratio), making it the primary growth-limiting factor. Adding small amounts of phosphorus can dramatically increase algal production. Nitrogen is more often limiting in estuarine and coastal marine systems. This distinction matters for management: targeting phosphorus removal from wastewater is most effective for protecting lakes, while nitrogen reduction is critical for coastal dead zones.
What are hypoxic dead zones and how do they form?
Dead zones are bottom-water regions where dissolved oxygen drops below 2 mg/L—too low for most fish and invertebrates to survive. They form when large algal blooms die and sink to the bottom, where bacterial decomposition consumes oxygen faster than mixing can replenish it. Seasonal stratification (warm surface water floating on cold bottom water) prevents reoxygenation from the surface, allowing hypoxia to persist for months. When stratification breaks down in autumn, oxygen is restored but ecological damage has already occurred.
Restoration is possible but slow and difficult. Reducing external nutrient inputs is essential but phosphorus bound in bottom sediments can continue fueling algal growth for decades (internal loading). Techniques such as aluminum sulfate (alum) addition to bind phosphorus in sediments, hypolimnetic aeration to oxygenate deep waters, and biomanipulation (removing planktivorous fish to allow zooplankton to graze algae) have shown success in some lakes. Lake restoration typically requires 10–20 years of sustained effort.
Harmful algal blooms are dense accumulations of algae or cyanobacteria that discolor water and produce toxins, cause oxygen depletion, or mechanically clog fish gills. Cyanobacteria produce several classes of toxins: microcystins (hepatotoxic, damaging the liver), cylindrospermopsins (cytotoxic), anatoxins (neurotoxic, blocking acetylcholinesterase), and saxitoxins (paralyzing shellfish toxins). Microcystins are the most globally prevalent and have caused mass fish kills, livestock deaths, and human illnesses from recreational water contact.