Earth
Tsunami reaches the shore
Raise a hump of sea three metres high over deep water and watch it split and run: the crest crosses the deep ocean at sqrt(g h), close to two hundred metres a second, reaches the tide gauge exactly when the closed form says, slows and grows over the continental shelf, and runs up the beach among the houses of a fishing village. A steeper beach floods less far inland; close the coast into a bay and the wave funnels to twice the run-up. The scheme keeps a sea at rest at rest over any bed, never lets a depth go negative, and accounts for every cubic metre that crosses the open-sea boundary.

What happens
The nonlinear shallow-water equations along a 60 km strip in 1200 cells: 2000 m of ocean, a slope to a 100 m shelf, a 1:50 beach up to land 20 m high, the width optionally narrowing fivefold into a bay. Faces use Audusse’s hydrostatic reconstruction with the HLL flux, so a lake at rest stays at rest over any bed, dry land included, and depths stay positive; Manning friction is implicit; the step follows a Courant number of 0.45. A Gaussian hump 3 m high and 5 km wide is the given start - the rupture that raised it is not computed. The run-up is the waterline’s height, the volume balance includes what leaves through the open sea.
Try this
Compare the arrival at the deep gauge with the closed-form long-wave time; watch the wave grow on the shelf; flood the village; make the beach steeper; close the coast into a bay.
The model and its limits
One horizontal dimension, no dispersion, no breaking model beyond the shock-capturing scheme, a smooth given source, houses that do not affect the flow. This teaching coast is not a hazard map.
Equations used in the module
Equations ∂(b·h)/∂t + ∂(b·h·u)/∂x = 0 ∂(b·h·u)/∂t + ∂(b·(h·u² + g·h²/2))/∂x = g·h²/2·∂b/∂x − g·b·h·∂z/∂x − friction h* = max(0, h + z − max(z_L, z_R)), HLL flux c = √(g·h), A2/A1 = (h1/h2)^(1/4)·(b1/b2)^(1/2) (Green)


