Shallow-water (long) waves. When the wavelength is much longer than the depth, a wave is governed by the linear shallow-water equations:
∂η/∂t + ∇·(h u) = 0
∂u/∂t + g ∇η = 0 c = √(g h)
With g = 9.81 m/s²: h = 4000 m gives c = 198 m/s = 713 km/h; h = 40 m gives 19.8 m/s = 71 km/h. The travel time along a path is T = ∫ dx / √(g h(x)). The isochrones on the map come from a shortest-time (Dijkstra, 16-neighbour) search on the same depth grid; the 2-D wave solver reproduces them.
Green's law. Away from sharp changes, wave energy flux 1/2 ρ g A² c b is conserved, so A ∝ b^(-1/2) h^(-1/4): halving the depth raises the amplitude by 2^(1/4) = 1.19, a depth drop from 4000 m to 40 m gives about x3.2. The wavelength shortens in proportion to c (λ = c T, the period T stays fixed), so the pulse squeezes into the shallows and piles up.
Source. Rupture length, width and slip come from the Wells & Coppersmith (1994) regressions: log L = -2.44 + 0.59 Mw, log W = -1.01 + 0.32 Mw, log D = -4.80 + 0.69 Mw (km, km, m). Seabed uplift is taken as 25% of the average slip (a rough dip-slip factor) and the initial surface is the same hump, a landward uplift lobe and a smaller seaward subsidence lobe, at rest. The slider can override the uplift.
Run-up estimate. Synolakis (1987) for a non-breaking solitary wave on a plane beach: R / d = 2.831 √(cot β) (H / d)^(5/4), with H the crest height at depth d (here the 1-D shelf zoom at the 40 m gauge). It gives an order of magnitude only.
Two solvers. The 3-D view runs a 2-D staggered-grid (forward-backward) solver, 2.5 km cells on High and 5 km on Low. 2.5 km is too coarse to resolve a 20 km wavelength on a shelf, so the shelf amplitudes use a 1-D fine-grid (250 m) zoom along the centre line, driven by the 2-D record at gauge B. The checks table compares both with theory.
Honest simplifications. Linear equations: no wave breaking, bottom friction, nonlinear steepening, dispersion (important for small sources and for propagation over many hours), earth rotation or curvature. The coast is a reflecting wall, so there is no real inundation; no real place is modelled and the depth map is synthetic (a Blender-generated trench, ridge, abyssal hills and seamounts). Land objects are inanimate, enlarged markers. Vertical scale is exaggerated. Do not use it to estimate anything about a real coast.
Models, land and seabed texture were made in Blender 5.2 and baked with Cycles; Three.js r160 renders the scene.