The wind field is a sum of two idealised Gaussian zonal jets (polar and subtropical), each centred on a fixed latitude band, plus a sinusoidal meridional (north–south) displacement whose phase advances with time — the Rossby wave:
u_polar = exp(-((lat-latP)/w)^2) * Vmax * tempGrad
phase = 2π * waveNum * x/W - t * 0.25
v = cos(phase) * waveAmp * jetProximity
220 tracer particles are advected through this synthetic field: each frame they sample the local (u, v) wind and step along its normalised direction, fading in and out over a limited lifetime before respawning — the same streamline technique used by the 3D version, just drawn on a flat canvas instead of a rotating globe.
- Winter vs. summer — a steeper pole-to-equator temperature gradient in winter lifts the base jet speed from ~38 m/s to ~75 m/s and doubles the wave amplitude.
- Ω-block — a slow anticyclonic vortex is added at a fixed latitude; it locally overrides the zonal flow and splits the streamlines around it, the same mechanism that locks in real heatwaves and cold snaps for days at a time.