Ready
20 m
1 m50 m
4000 m
100 m6000 m
9.0
6.09.5
Time: 0 min
ocean: surface height | right strip: flood depth (city not to scale)
Wave at coast-
Inundation-
Buildings lost-
People safe-
t = 0 min

Drag to orbit, wheel / pinch to zoom. Change any slider and press Simulate Tsunami again: the ocean model, the coastal flood model and the damage model are all recomputed.

Sea level at the coast gauge (m): the wave the city receives

Maximum flow depth (blue) and momentum flux h u^2 (orange, /10) along a street, distance inland

Buildings by damage state over time and people who reached safety

Experiment result

Experiment 1 - benchmark. A solitary wave runs up a 1:10 plane beach in this same flood solver (three amplitudes). Measured run-up is compared with the closed-form Synolakis (1987) law R/d = 2.831 sqrt(cot b) (H/d)^1.25.

Experiment 2 - how far does the water go? Runs the selected coast as a street transect for wave heights 2-50 m (same inflow shape, built-up roughness) and plots inundation distance and run-up height. Does the answer scale linearly with height?

Run a simulation to see the report.
What this lab does

The earthquake magnitude sets the size of the seabed source; the water depth sets the speed of the wave; the topography decides how the wave climbs ashore. Two models run in your browser: a linear shallow-water model for the ocean (2 km cells, 280 by 200 km) and a nonlinear shallow-water model for the coast (10 m cells, 1.5 by 0.9 km, every building is a solid obstacle). The ocean wave measured at a gauge off the city is scaled to the Wave Height you chose and used as the inflow of the coastal model. Buildings, trees, cars and people respond to the computed flow.

1. Source and speed in the open ocean

Seismic moment M0 = 10^(1.5 Mw + 9.1) N m; rupture length and width from Wells and Coppersmith (1994) regressions, mean slip s = M0 / (mu L W) with mu = 30 GPa, seabed uplift about 0.35 s (typical for a shallow-dipping thrust, illustrative). Long waves travel at c = sqrt(g h): 198 m/s (713 km/h) in 4000 m of water. A magnitude 9.0 rupture is about 560 km long, so this lab uses a smaller idealised source patch.

2. Ocean model (linear shallow water)

d eta/dt + div(h u) = 0, du/dt + g grad eta = 0 on a staggered grid, forward-backward time stepping, absorbing sponge on the open edges. Shoaling follows Green's law eta2 / eta1 = (h1/h2)^(1/4) (checked below). Dispersion, Earth curvature and the Coriolis force are ignored, which is fine for a basin this size.

3. Coastal model (nonlinear shallow water)

h_t + (hu)_x + (hv)_y = 0, (hu)_t + (hu^2 + g h^2/2)_x + (huv)_y = -g h z_x - g n^2 u |u| / h^(1/3). Finite volumes with an HLL Riemann solver, hydrostatic reconstruction (so a lake at rest stays at rest over any bed) and wetting/drying. n is the Manning roughness: 0.02 sea, 0.025-0.04 open land, 0.045 built-up, 0.12 forest. Buildings are solid cells. The offshore boundary uses Riemann invariants fed by the gauge series. The leading bore is captured as a shock (no breaking-wave turbulence or air entrainment); the white water you see is a visual cue computed from Froude number and depth gradient, not a fluid simulation of spray.

4. Damage, loss and evacuation

Each building keeps the largest momentum flux M = h u^2 in its neighbouring cells and a depth term; demand ratio r = M / Mc + k h. Mc (a capacity in m^3/s^2) is typical-order but illustrative: wood house 90-100, masonry 140-260, reinforced concrete 1000-4000, steel tower 5000, each multiplied by a random strength factor. r >= 1 means collapse; 0.15 / 0.4 / 0.7 are minor / moderate / extensive damage. Loss ratios 5 / 25 / 60 / 100 % of an illustrative value. Residents leave on foot after the warning plus 1-4 minutes decision time, walking straight inland at the chosen speed; tall reinforced buildings are counted as vertical refuges. Dots stand for about 25 people each. These numbers show how lead time, wall height and forest change results; they are not a forecast.

5. What is simplified (be honest)
  • 2D depth-averaged flow: no vertical structure, no overturning wave, no real breaking, no sediment or scour.
  • Buildings never fail partially: they are solid obstacles until the moment of collapse, then the cells open up as rubble (n = 0.07). Before that, a continuous row of buildings reflects the surge, which overestimates the water level in front of it.
  • The city is generated procedurally; the topographies are idealised profiles, not a real place.
  • The wave height slider is the height you want at the gauge (a 12 m wall stops a 6 m wave here, but a 15 m wave simply overtops it); a given magnitude usually implies a smaller one (see the chip in the options tab).
  • Capacities, losses and walking behaviour are illustrative.
6. Independent numerical checks (run in your browser now)
Running...

Made with Three.js and Blender (models and baked textures). Water shading is procedural at run time. An independent educational model.

Made with 🟠 Blender · Three.js