Earth
Ocean gyres
Look down on an ocean basin laid out like a relief table in the sun and let the winds drive it: trade winds in the south and westerlies in the north twist the sea into a gyre, and because the Coriolis parameter grows northwards the return flow does not spread across the ocean but squeezes into a narrow, fast current along the western shore, like the Gulf Stream, while the whole interior creeps slowly south at Sverdrup’s transport. Buoys and ships ride the current and the sea surface stands highest in the gyre’s centre. Switch off the β-effect and the gyre turns symmetric; strengthen the friction or move to a higher latitude and the western current widens as r/β, or as (A/β)^(1/3) with Munk’s viscosity; add a subpolar gyre; stop the wind and watch it decay. Stommel’s exact solution stands beside the numbers, and the wind’s work balances the friction to round-off.

What happens
A square basin 3000 km across round 30° N on a β-plane, β = 2Ω cos φ/R = 1.98×10^-11 1/(m·s). The depth-integrated vorticity equation for the transport streamfunction ψ (U = −∂ψ/∂y, V = ∂ψ/∂x) is driven by the curl of a zonal wind τ = −τ0 cos(πy/L), trades in the south and westerlies in the north (cos(2πy/L) for two gyres), τ0 = 0.1 N/m². Stommel’s model brakes it with bottom friction r (spin-down 1/r = 10 days), Munk’s with a lateral viscosity A = 2000 m²/s and no slip on the coasts. ψ is a sum of sine modes north–south, so the linear problem separates exactly; second-order differences east–west on 128 cells, the implicit midpoint rule in 6-hour steps, one five-band solve per mode. The optional Jacobian J(ψ, ∇²ψ)/H is taken in Arakawa’s form on the grid at the extrapolated midpoint, with steps shortened so the fastest current crosses a quarter of a cell. After four months Stommel’s gyre carries 12.78 Sv against his exact 12.77 Sv and Sverdrup’s 15.5 Sv; the western current is 52 km wide (r/β = 58 km) and runs at 0.2 m/s, and the sea stands 9.5 cm higher in the centre. The wind does 3.28 GW of work and friction dissipates the same, 2rE; the energy ledger closes to 10^-12. Buoys ride the depth-mean current of the piecewise-linear streamfunction.
Try this
Watch the gyre spin up and the western current narrow; compare its transport and width with Stommel’s closed form; switch to a constant Coriolis parameter and the gyre turns symmetric; raise the latitude or the friction and the western current widens; try Munk’s viscosity, two gyres, or stop the wind.
The model and its limits
A flat-bottomed square basin of one homogeneous layer, a steady zonal wind of one sine mode, either linear bottom friction or Laplacian viscosity, free slip on the northern and southern coasts; no stratification, no thermohaline circulation, no eddies below the grid. Stommel’s friction here is strong enough to brake the interior a tenth below Sverdrup, as his exact solution says. Munk’s basin without bottom friction rings for many months before it settles. The nonlinear term is weak at these grids and uses the medium grid at most; strongly nonlinear runs take shorter steps and run slower. The sea-surface height is the barotropic one, drawn six times higher.
Equations used in the module
Equations ∂(∇²ψ)/∂t + J(ψ, ∇²ψ)/H + β·∂ψ/∂x = curl τ/ρ − r·∇²ψ + A·∇²(∇²ψ) τ_x = −τ0·cos(πy/L), curl τ = −τ0·(π/L)·sin(πy/L), Sverdrup: β·V = curl τ/ρ Stommel: ψ = K/(r·k²)·(1 − p·e^(λ1·x) − q·e^(λ2·x))·sin ky, λ2 ≈ −β/r, δ_S = r/β Munk: δ_M = (A/β)^(1/3); E = ρ/(2H)·∫|∇ψ|² dA, dE/dt = W_wind − 2r·E − D_A


