WebGL is not available in this browser. The numbers and charts still run.
Time 0 d Gyre - Sv Western current - m/s Heat - PW AMOC - Sv
-2 C 8 18 28 C
Drag to orbit, wheel / pinch to zoom, click the sea to drop a drifting float. Streaks show flow direction (speed exaggerated); colour is sea-surface temperature.
Wind-Driven Ocean Gyres
Winds push the surface, the Earth's rotation varies with latitude (beta), and friction closes the circuit. The result is a gyre with a fast, narrow western boundary current. The solver below is live.
Pause Reset Quality: High Clear floats
Wind and basin
Wind pattern Westerlies + trades (two gyres) Trades only (one gyre, Stommel 1948)
Tracer and time
Flow streaks Sea temperature colour Streamfunction contours True drift speed for streaks
Readouts: model vs theory
North-south velocity across the basin
White: solved v(x) at the gyre-centre latitude. Dashed orange: exact Stommel solution (single-gyre pattern). Dotted: frictionless Sverdrup value F/beta. The narrow spike on the left is the western boundary current.
Deep overturning: two-box thermohaline model
Sweep freshwater up and down Reset overturning
Curves: steady overturning q for each freshwater flux F. Solid = stable, dashed = unstable. Dot = current state. Between the two turning points the circulation can be either strong or reversed - the system remembers where it came from (hysteresis).
Independent numerical checks (run in this page)
Legend and controls Drag / one finger: orbit; wheel / pinch: zoom; click the sea: drop a float that drifts with the true current (its track is drawn behind it). Wind stress sets the gyre; friction r sets how wide the western boundary current is (r / beta); latitude sets beta = 2 Omega cos(lat) / a. The freshwater slider changes the overturning box model; sinking plumes in the north fade as it weakens. Quality: High by default; Low (or ?q=low) draws fewer streaks with smaller shadows and pixel ratio 1.
The science
Stommel (1948) model. A flat-bottomed basin of depth H and size 6000 x 4000 km on a beta-plane. Vertically integrated flow obeys beta v = curl(tau)/(rho H) - r zeta with zeta = lap(psi), u = -dpsi/dy, v = dpsi/dx, and psi = 0 on the coast. Wind-stress curl -(tau0 k) sin(k y) (k = pi/Ly for one gyre, 2 pi/Ly for two) turns the water; because beta = 2 Omega cos(lat)/a, planetary vorticity can only be balanced by a narrow friction layer on the west side, of width about r/beta. That is why the Gulf Stream and Kuroshio are on the western edge.
Sverdrup balance. Far from the coast friction is small and beta v = curl(tau)/(rho H): the interior flow is set by the wind alone. Here the friction term is not negligible (r = 3e-6 /s gives a 150 km layer), so the interior flow is below its Sverdrup value; the readouts show by how much.
Numerics. The elliptic equation is solved by successive over-relaxation (SOR, omega from the grid spectral radius) on a 121 x 81 grid (50 km cells). The single-gyre case is checked against the exact solution psi = f(x) sin(pi y/Ly) with f = f_p + A e^(l1 x) + B e^(l2 x). Temperature is advected semi-Lagrangian (midpoint trace), diffused with kappa and relaxed to T_eq(y) = 27 - 24 y/Ly degrees C over the chosen time scale. Heat transport is rho c_p H integral v T dx.
Overturning. Stommel (1961): temperature and salinity differences between an equatorial and a polar box, dT/dt = 1 - T(1+|q|), dS/dt = F - S(eta+|q|), with q = T - S the flow. Equilibria satisfy q = 1/(1+|q|) - F/(eta+|q|); for some F there are two stable solutions (thermally driven and reversed), hence hysteresis. The Sverdrup scale on the strength axis is illustrative (17 Sv at F = 0).
Simplifications. One layer, flat bottom, rectangular basin and idealised continents (the pictured world map is not used), steady wind, linear bottom friction (no lateral viscosity, no inertia, no eddies), so the western current is smoother and wider than the real one; the flow jumps to its steady state instead of spinning up over years; SST is relaxed, not forced by a heat budget; the box model is conceptual and does not predict when the real AMOC could weaken. Streak speeds use square-root scaling so slow interior flow is visible. Educational model.
Made with Blender-built terrain, Three.js and WebGL.