Rogue waves by constructive interference
Each train is a group of 7 components that focus and disperse. The wind sea underneath is set in Settings and counts toward Hs.
Drag to rotate, scroll or pinch to zoom. Orbit looks down on the 600 × 320 m detection area; Surface puts you a few metres above the water.
To first order the ocean surface obeys a linear wave equation, so overlapping wave systems simply add. At every point the elevation is the sum of every component of every train plus the wind sea:
Where crests coincide the surface reinforces — constructive interference. Where a crest meets a trough they cancel. Open the 2D view to watch the sum being taken along the centre line.
A real swell is not one sine wave but a band of frequencies. Each train here bundles 7 components spread over ±bandwidth around its peak frequency, with phases arranged so they all line up at one point — a focused wave group, the same trick wave tanks use to make rogue waves to order.
In deep water each frequency travels at its own speed (dispersion, ω² = g·k, so c = g/2πf), so after focusing the components drift apart and the group flattens out — then, because the components are evenly spaced in frequency, they drift back into step every 1/Δf seconds. Wider bandwidth means a sharper, shorter-lived focus. Turn dispersion off and every component of a train shares one speed: the group becomes a rigid profile that never disperses.
Underneath the trains is an ambient wind sea: a JONSWAP spectrum for the chosen wind speed (60 km fetch), realised as 48–144 random-phase components (by render quality) with a Gaussian directional spread about the wind heading. Only waves longer than ~16 m are kept, so the mesh can resolve them: about a fifth of the spectrum survives at 3 m/s, half at 4 m/s and three quarters at 8 m/s, so light winds leave the sea nearly calm. It is part of the sea state, so its energy counts in Hs — a stronger wind raises the bar a rogue has to clear while also adding random crests that sometimes help.
Trains with different headings cross: their crest lines only fully reinforce where they intersect, and that intersection sweeps across the sea. Crossing wind sea and swell is a documented rogue mechanism and the leading explanation for the Draupner wave (25.6 m in a 12 m sea, 1 January 1995). Spread fans a train's components across a range of headings, making it short-crested: focus then happens at a point rather than along a whole line, so events are rarer but more realistic.
A sea state is characterised by the significant wave height, four times the standard deviation of the surface:
A wave is rogue when its crest-to-trough height, measured between successive zero down-crossings, exceeds twice the significant height:
The detector samples the central 600 × 320 m of the sea on an 8 m grid 30 times a second, including the sea time between samples, and scans every row and column for zero-crossing waves. The beacon marks the crest of the tallest one when it crosses the line. Crests climbing toward the Hs elevation warm up, and glow above it — rogue territory.
Crest steepness adds Gerstner-style horizontal displacement that sharpens crests and flattens troughs; foam appears where the surface folds, and whitecaps where the short wind waves drawn below the mesh's ~16 m steepen past a slope of about 0.3. Splash ripples from clicking the water are decorative packets. None of these enter Hs or the detector; the buoy, however, rides the rendered surface, ripples included.
Two pure sine waves can never exceed 2·Hs. It takes many components conspiring: in still water even a fully focused group on its own peaks around 1.7–1.8 Hs and never crosses the line. The wind sea's random crests riding on a focus can tip a lone group over it now and then, but the big, repeatable events need two groups to refocus at the same place at the same time — which, with periods of 100 s and 136 s at the default settings, happens in irregular bursts a minute or two apart.
Recipe to hunt one: keep the amplitudes comparable, keep bandwidths near 20%, spreads small, and let it run. Watch the Hmax/Hs meter approach the red tick.
This simulator renders the ocean on the GPU. Enable hardware acceleration or try another browser; the 2D superposition view still works below.