Open Ocean Waves - 2D Sea Section

Side-section companion of the 3D Open Ocean sim: a Gerstner (trochoidal) sea built from a Pierson-Moskowitz spectrum, orbital particle paths, choppiness and a spectrum graph.

Switch to 3D
Controls

Presets

Playback

Layers

Model checks

The science

The sea is a sum of Gerstner waves: each surface point is a particle moving on a circle (deep water), x = x0 - Q a sin(k x0 - omega t), z = a cos(k x0 - omega t), so crests sharpen into the familiar trochoid and become cusps at Q = 1 (steepness k a = 1). Linear deep-water dispersion is omega^2 = g k tanh(k h), giving phase speed c = omega/k and group speed c_g = (c/2)(1 + 2kh / sinh 2kh) (half of c in deep water).

Component amplitudes are drawn from the fully developed Pierson-Moskowitz spectrum S(omega) = alpha g^2 omega^-5 exp[-0.74 (g/(U omega))^4], alpha = 0.0081, peak at omega_p = 0.877 g/U for wind speed U; component amplitude a_i = sqrt(2 S d omega). Significant wave height is H_s = 4 sqrt(m0) = 0.2092 U^2/g (about 1.7 m at 8 m/s wind).

Simplifications: one direction only (the 3D page spreads directions), random phases fixed per seed, no wave breaking or wind-wave energy transfer, a fetch-unlimited spectrum, and the finite-depth slider only changes dispersion (no shoaling or breaking).

What to try
  • Raise the wind: the peak shifts to lower frequency (longer, faster waves) and H_s grows as U^2.
  • Raise choppiness to 1 and watch crests sharpen toward cusps.
  • Reduce depth to 10 m: long waves slow down (dispersion check).
  • Show only the dominant component to see a clean orbital circle.
Wave spectrum S(omega) (m2 s) with spectral peak
Surface elevation eta(t) at the marker (m)