Earth
Water cycle
Run a year of weather over a catchment of forest, town and lake: moisture blows in, rains out in proportion to each land’s share, the canopy catches a quarter and breathes it back, forest soil drinks fifty millimetres a day while pavement takes five, soils evaporate and percolate, the groundwater seeps to the river over three hundred days and the river drains to the sea in two. Drop a 50 mm storm on day 100 and compare the flood peak of the forested catchment with the paved one; pump the aquifer hard and watch the baseflow die; cut off the advected moisture and the stores run down together. Nine stores plus exports minus imports keep the initial total to rounding, and the groundwater recession is the closed-form exponential.

What happens
The water cycle of a catchment as nine lumped stores in millimetres over the whole area: the air above, the forest canopy, forest surface and soil, town surface and soil, groundwater, river and lake. Advected moisture and a storm feed the air, rain falls in proportion to the land shares, the canopy intercepts a quarter and evaporates it, surfaces infiltrate at the forest’s or the town’s rate and run off at their own pace, soils evaporate and percolate, groundwater feeds the river and is pumped, the lake takes half the forest runoff and evaporates, the river drains to the sea, the air exports vapour. Explicit stepping at a hundredth of a day with a store’s outflows scaled together so none goes negative; one second of the experiment is one day.
Try this
Watch the gauges settle, then the storm on day 100 raise the river; pave the catchment and compare the peak; pump the aquifer and watch the baseflow die; check the recession against the exponential.
The model and its limits
Lumped linear and saturating stores, one storm, no snow, no seasonal evaporation, no routing delays beyond the store time constants. A teaching catchment, not a hydrological model.
Equations used in the module
Equations dS_i/dt = Σ F_in − Σ F_out, R = S_atm/τ_rain I = K_inf·f·S_surf/(S_surf + S_½)·(1 − S_soil/S_max) Q_base = S_gw/τ_gw, S_gw(t) = S_gw(0)·e^(−t/τ_gw) (no recharge) Σ S_i + E_out − I_in = const


