Tsunami Simulator illustration

Tsunami Simulator

A tsunami is a wave that involves the whole depth of the ocean, so it travels at √(g·depth): about 700 km/h over the abyssal plains, as fast as a jetliner, slowing to a crawl and growing taller near the coast. This simulator solves the shallow-water equations on a rotating sphere over real bathymetry (NOAA ETOPO1 at a quarter degree, about a million cells) — on your graphics card with WebGPU compute shaders where available. Replay Tōhoku 2011, Sumatra 2004, Chile 1960 or Alaska 1964 from simplified published fault models, or click anywhere in the ocean to trigger your own earthquake of any magnitude and drag to orient the fault. Watch the waves live, switch to the maximum-height map to see how mid-ocean ridges focus the energy into beams, or to hourly arrival-time bands, and read the first-wave times and heights at more than thirty tide gauges from Hilo to Chennai.

Runs 100% in your browser — simulations are computed locally on your device.

Notes

  • Linear shallow-water equations with Coriolis force on a 0.25° latitude–longitude grid between 72°S and 72°N; coastlines reflect, and the edges of the grid absorb. Like the operational warning models, it treats the ocean as depth-averaged, which is accurate for waves hundreds of kilometres long.
  • Earthquake sources lift the sea floor instantly, with a raised lobe over the shallow part of the fault and a trough behind it; fault size and slip for your own quakes follow the Strasser (2010) scaling laws. Historical events are approximated by a few straight segments, so wave heights are indicative only.
  • At this resolution the model cannot follow a wave onto the beach: it reports heights offshore and does not simulate inundation. Never use it for real warnings — follow official tsunami alerts and move to high ground after strong shaking near the coast.
  • Bathymetry: ETOPO1 Global Relief Model, NOAA National Centers for Environmental Information (public domain).
  • Runs 100% in your browser — simulations are computed locally on your device.