Pick a scenario; every slider below stays editable.
Gold: Bakun-style upwelling index (m³/s per 100 m of coast); negative values mean downwelling. Blue dashed: coastal SST (scaled).
Chlorophyll (green) follows the nitrate supply within days; zooplankton and anchovy lag by weeks to months.
The science
Wind stress. τ = ρa Cd U² with ρa = 1.22 kg/m³ and the neutral drag coefficient of Large and Pond (1981), Cd = (0.49 + 0.065 U)×10-3. A 10 m/s wind gives about 0.14 N/m².
Ekman transport. Averaged over the surface layer, friction, Coriolis force and wind stress balance: M = τalong / (ρ f), f = 2Ω sin(lat), directed 90° to the right of the wind in the northern hemisphere (left in the south). On a west-coast shore an equatorward wind therefore moves surface water offshore. The upwelling index quoted by fisheries scientists is UI = 100 M in m³/s per 100 m of coast (about 50-150 at 36°N in spring).
Two-layer coastal response. Offshore transport is replaced by water lifted within one internal Rossby radius λ = sqrt(g' h0)/f (g' = g α ΔT) of the coast, so the interface rises as dΔh/dt = M/λ − Δh/τr. The upwelling speed is w = M/λ (a few m/day) and the cold pool reaches the surface when Δh ≥ h0. Simplifications: linear, f-plane, no alongshore pressure gradient or eddies; the relaxation time τr stands in for those missing processes and is an illustrative parameter.
El Niño. A deeper thermocline (40 m to 150 m) and warmer surface (18 to 23 °C) make the same wind lift the pool more slowly and draw nutrient-poor water: the source nitrate falls as Nd exp(-(h0-50)/70) (illustrative shape, not a measured curve).
Food chain. A nutrient-phytoplankton-zooplankton-anchovy model in nitrate units: dN/dt = supply − μ N/(K+N) P + r(Noff − N) + recycling, grazing with a Holling type II response, quadratic mortality, flushing r = |M|/(h Lb), and anchovy growth limited by zooplankton, density-dependent mortality and fishing q E A. Chlorophyll is 1.6 µg per µM nitrate (typical Redfield and C:Chl ratios). All biological rate constants are illustrative, tuned for plausible behaviour, not fitted to any fishery; the anchovy value is a relative index (1 = initial stock).
Checks. (1) A slab Ekman layer is integrated with RK4 over 30 inertial periods and its mean transport compared with τ/ρf; (2) textbook values of τ and M; (3) the interface equation against its closed-form solution; (4) the nutrient-plankton steady state against an independent bisection solution.
Land, lighthouse, boats, fish, gulls and kelp are low-poly models made in Blender; the water is drawn from the model state. Decorative scale: the section is vertically exaggerated 3.3× relative to the horizontal.