OpenHydro Bench
Exact answer known1D · free surfaceCandidate

Dam break onto dry ground

How far, and how fast, does the flood travel?

Test A1F-010
Ritter (1892)
Version 3.0.0

Hidden at first because they are far off the exact answer: HEC-RAS 7.0 2D SWE-ELM, HEC-RAS 7.0 SWE-EM, LISFLOOD-FP ACC, EPA SWMM 5.2.4, OpenSWMM 6 dynamic wave, Hydra, HydroNet finite volume, HydroNet FVM-PINN, SWMM 5.1.15, Landlab, HEC-RAS 6.6 previous release, HEC-RAS 6.6 2D SWE-EM. Click a name to show it.

Press play, or drag the slider, to watch the exact answer unfold. Models are compared at the end, t = 60 s.

Close-up of the front

The last stretch of the flood, 15 times taller. The dashed line is the exact front (where the last 5 % of the released water begins), the shaded band the 9.8 m allowed, and each triangle a model's front.

What happens

A 1-metre wall of water is released onto a dry, flat channel. It collapses into a wave whose front races over the dry ground at up to 6 m/s, thinning to a film at the tip, while a dip travels back into the reservoir.

Why it matters

Flood maps, evacuation times and dam-failure studies all depend on when water reaches dry land. A model that gets the front wrong gets the warning time wrong.

A good model must

  • put the flood front within 9.8 m of the exact one after 60 s (2.6 % of the distance it travels)
  • neither lose nor create water
  • get steadily more accurate on finer grids

How models did

In rank order: by each model's percent difference from the right answer, the largest over the test's accuracy checks (lower is better; results within 10 % of each other share a rank). Mass error, timing and NSE are shown beside it, not folded in. Each model runs the same inputs on 4 grids, from 10 m down to 1.25 m cells; the checks are scored on the 1.25 m grid, and each card lists the error on every grid. Compare them in the results viewer →

RankModelDifferenceLargest difference inMass errorRun time
1Basilisk Saint-Venant0.45 %Flood front<0.01 %0.07 s
2=Demo 1D suite example0.52 %Flood front<0.01 %–
2=ANUGA 4.0.10.55 %Flood front0.041 %6.2 s
4=OpenSWMM 6 finite volume0.88 %Flood front<0.01 %0.68 s
4=GeoClaw Clawpack 5.90.93 %Flood front0.031 %2.2 s
6=LISFLOOD-FP 8.3 · FV11.3 %Flood front<0.01 %0.18 s
6=LISFLOOD-FP 8.3 · DG21.4 %Flood front<0.01 %0.80 s
7TELEMAC-2D openTELEMAC 9.11.5 %Flood front<0.01 %8.8 s
9=OpenSWMM 6 dynamic wave11 %Flood front0.036 %5.0 s
9=SWMM 5.1.15 previous release11 %Flood front0.036 %4.9 s
9=EPA SWMM 5.2.4 dynamic wave11 %Flood front0.036 %4.9 s
12=HEC-RAS 6.6 previous release · 2D SWE-EM15 %Flood front<0.01 %24.6 s
12=HEC-RAS 7.0 2D · SWE-EM15 %Flood front<0.01 %19.5 s
14=HEC-RAS 7.0 1D · 2D SWE-ELM26 %Flood front<0.01 %19.5 s
14=HEC-RAS 6.6 previous release26 %Flood front<0.01 %23.8 s
14=Hydra urban drainage27 %Flood front0.01 %6.4 s
14=LISFLOOD-FP 8.3 · ACC28 %Flood front0.53 %0.07 s
18Landlab OverlandFlow32 %Flood front<0.01 %0.12 s
19HydroNet finite volume63 %Flood front<0.01 %2.2 s
20HydroNet FVM-PINN190 %Flood front3.4 %–

Since version 2 the front is measured by volume: the point beyond which the last 5 % of the released water lies. Version 1 used the 1 mm depth contour, which every production code missed by 12 to 211 m: on the thin tip a millimetre of depth moves that contour about 10 m, and production codes treat water shallower than about 1 mm as dry. The 1 mm edge is still reported, but no longer decides the result.

Basilisk
Basilisk (Popinet, basilisk.fr), its second-order well-balanced Saint-Venant solver on a uniform Cartesian grid with its defaults; Manning friction added as the usual semi-implicit term (it has none built in)
#1 0.45 % off

Rate the error shrinks on finer grids: 1 (90 % range 1 to 1.1); the method's expected rate is 0.8 or more

Run time, finest grid: 0.07 s · Intel(R) Xeon(R) 6973P-C, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: basilisk saint-venant.h (uniform Cartesian grid, defaults; a C program per test, generated by scripts/run_basilisk.py)

Flood front
• 1.68 m behind exact
0.45 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 13.6 m from exact
reported, not counted · 3.8 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· < 0.0001 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00178 · 5 m: 0.000848 · 2.5 m: 0.000417 · 1.25 m: 0.000207
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 1.03 (90 % range 1.00 to 1.06)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: Basilisk Saint-Venant (snapshot de851a91)

Demo 1D
Worked example that ships with the suite: plain, well-understood schemes
#2= 0.52 % off

Rate the error shrinks on finer grids: 0.94 (90 % range 0.94 to 0.95); the method's expected rate is 0.8 or more

Flood front
• 1.95 m behind exact
0.52 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 1.15 m from exact
reported, not counted · 0.32 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· < 0.0001 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00209 · 5 m: 0.00109 · 2.5 m: 0.000569 · 1.25 m: 0.000294
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.94 (90 % range 0.94 to 0.95)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: demo

ANUGA
ANUGA 4.0.1 (Geoscience Australia / ANU), default settings on a triangular mesh
#2= 0.55 % off

Rate the error shrinks on finer grids: 0.9 (90 % range 0.89 to 0.91); the method's expected rate is 0.8 or more

Run time, finest grid: 6.2 s · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: anuga (rectangular_cross mesh, defaults, sampled at cell centres)

Flood front
• 2.09 m behind exact
0.55 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 12.4 m from exact
reported, not counted · 3.5 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.041 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00206 · 5 m: 0.0011 · 2.5 m: 0.000588 · 1.25 m: 0.000318
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.90 (90 % range 0.89 to 0.91)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: ANUGA 4.0.1

OpenSWMM 6
OpenSWMM Engine v6 with its new explicit finite-volume routing (FLOW_ROUTING FV): one cell per conduit on the channel tests, its default cells per pipe on the drainage networks
#4= 0.88 % off

Rate the error shrinks on finer grids: 0.66 (90 % range 0.54 to 0.77); the method's expected rate is 0.8 or more

Run time, finest grid: 0.68 s · INTEL(R) XEON(R) PLATINUM 8573C, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: swmm (FV routing, conduit per grid cell)

Flood front
• 3.33 m behind exact
0.88 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 44.9 m from exact
reported, not counted · 13 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.003 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0054 · 5 m: 0.00379 · 2.5 m: 0.00233 · 1.25 m: 0.00139
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.66 (90 % range 0.54 to 0.77)
reported, not counted · the scheme's design order is 1

3.3 m behind the exact front, where dynamic wave is 41 m behind, and it conserves water. The error shrinks at a rate of 0.66 (90 % range 0.54 to 0.77), below the design order of 1.

Scored with method 3.0 · Score card: OpenSWMM Engine v6 finite volume (6.0.0a4.dev1)

GeoClaw
GeoClaw 5.9.2 (Clawpack), with its stock example's settings on a uniform grid
#4= 0.93 % off

Rate the error shrinks on finer grids: 0.7 (90 % range 0.51 to 0.89); the method's expected rate is 0.8 or more

Run time, finest grid: 2.2 s · AMD EPYC 9V74 80-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: geoclaw (uniform grid, stock example settings)

Flood front
• 3.51 m behind exact
0.93 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 61.1 m from exact
reported, not counted · 17 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.031 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00313 · 5 m: 0.00167 · 2.5 m: 0.00103 · 1.25 m: 0.000728
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.70 (90 % range 0.51 to 0.89)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: GeoClaw 5.9.2

LISFLOOD-FP FV1
LISFLOOD-FP 8.3, first-order finite-volume solver (full shallow-water equations)
#6= 1.3 % off

Rate the error shrinks on finer grids: 0.7 (90 % range 0.66 to 0.73); the method's expected rate is 0.8 or more

Run time, finest grid: 0.18 s · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: lisflood (fv1 solver, defaults; CPU, double precision)

Flood front
• 5.05 m behind exact
1.3 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 38.6 m from exact
reported, not counted · 11 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· < 0.0001 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00543 · 5 m: 0.00341 · 2.5 m: 0.00212 · 1.25 m: 0.00127
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.70 (90 % range 0.66 to 0.73)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: LISFLOOD-FP 8.3 FV1

LISFLOOD-FP DG2
LISFLOOD-FP 8.3, second-order discontinuous Galerkin solver
#6= 1.4 % off

Rate the error shrinks on finer grids: 0.55 (90 % range 0.53 to 0.56); the method's expected rate is 0.8 or more

Run time, finest grid: 0.80 s · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: lisflood (dg2 solver, defaults; CPU, double precision)

Flood front
• 5.45 m behind exact
1.4 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 66.1 m from exact
reported, not counted · 18 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· < 0.0001 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00569 · 5 m: 0.00388 · 2.5 m: 0.00263 · 1.25 m: 0.00183
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.55 (90 % range 0.53 to 0.56)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: LISFLOOD-FP 8.3 DG2

TELEMAC-2D
openTELEMAC-2D 9.1.1, run with its default finite-volume settings
#7 1.5 % off

Rate the error shrinks on finer grids: 0.69 (90 % range 0.64 to 0.73); the method's expected rate is 0.8 or more

Run time, finest grid: 8.8 s · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: telemac2d (Selafin, centreline nodes)

Flood front
• 5.75 m behind exact
1.5 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 39.3 m from exact
reported, not counted · 11 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.00038 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00584 · 5 m: 0.00377 · 2.5 m: 0.00234 · 1.25 m: 0.0014
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.69 (90 % range 0.64 to 0.73)
reported, not counted · the scheme's design order is 1

The front is 5.8 m behind the exact one and depths are within 1.4 mm on average. The error shrinks on finer grids at a rate of 0.69 (90 % range 0.64 to 0.73), below the scheme's design order of 1. The thin leading edge, 1 mm deep, lags further (39 m): it stays dry too long. HLLC and second-order settings did not change that.

Scored with method 3.0 · Score card: openTELEMAC-2D v9.1.1

OpenSWMM 6
OpenSWMM Engine v6 (HydroCouple's SWMM 6, pre-release) with dynamic-wave routing
#9= 11 % off

Rate the error shrinks on finer grids: -0.25 (90 % range -0.82 to 0.32); the method's expected rate is 0.8 or more

Run time, finest grid: 5.0 s · INTEL(R) XEON(R) PLATINUM 8573C, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: swmm (DYNWAVE routing, conduit per grid cell)

Flood front
• 41.2 m behind exact
11 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 152 m from exact
reported, not counted · 43 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.036 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0312 · 5 m: 0.0599 · 2.5 m: 0.041 · 1.25 m: 0.0633
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate −0.25 (90 % range −0.82 to 0.32)
reported, not counted · the scheme's design order is 1

Identical, number for number, to EPA SWMM 5.2.4: OpenSWMM 6 keeps the original dynamic-wave solver, including the 9 m one-conduit spike near x = 1,126 m.

Scored with method 3.0 · Score card: OpenSWMM Engine v6 dynamic wave (6.0.0a4.dev1)

SWMM 5.1.15
EPA SWMM 5.1.15, the release before 5.2: on the parity tests compared with SWMM 5.2.4, on the exact tests scored like any other engine
#9= 11 % off

Rate the error shrinks on finer grids: -0.25 (90 % range -0.82 to 0.32); the method's expected rate is 0.8 or more

Run time, finest grid: 4.9 s · INTEL(R) XEON(R) PLATINUM 8573C, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: swmm (DYNWAVE routing, conduit per grid cell)

Flood front
• 41.2 m behind exact
11 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 152 m from exact
reported, not counted · 43 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.036 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0312 · 5 m: 0.0599 · 2.5 m: 0.041 · 1.25 m: 0.0633
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate −0.25 (90 % range −0.82 to 0.32)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: EPA SWMM 5.1.15

EPA SWMM 5.2.4
EPA SWMM 5.2.4 with dynamic-wave routing; on the channel tests, the channel is written as one conduit per grid cell
#9= 11 % off

Rate the error shrinks on finer grids: -0.25 (90 % range -0.82 to 0.32); the method's expected rate is 0.8 or more

Run time, finest grid: 4.9 s · INTEL(R) XEON(R) PLATINUM 8573C, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: swmm (DYNWAVE routing, conduit per grid cell)

Flood front
• 41.2 m behind exact
11 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 152 m from exact
reported, not counted · 43 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.036 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0312 · 5 m: 0.0599 · 2.5 m: 0.041 · 1.25 m: 0.0633
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate −0.25 (90 % range −0.82 to 0.32)
reported, not counted · the scheme's design order is 1

SWMM's dynamic-wave routing is built for sewer networks, not dam breaks: the front is 41 m behind and the error does not shrink on finer grids. One conduit near x = 1,126 m also spikes to a 9 m depth at the reporting time (the chart clips it); that is the engine's own output, not a plotting fault.

Scored with method 3.0 · Score card: EPA SWMM 5.2.4

HEC-RAS 6.6
HEC-RAS 6.6 2D with its Eulerian shallow-water option (SWE-EM), the release before 7.0
#12= 15 % off

Rate the error shrinks on finer grids: -0.023 (90 % range -0.11 to 0.064); the method's expected rate is 0.8 or more

Run time, finest grid: 24.6 s · Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz, 2 cores, 16 GB, Windows 2025Server (GitHub Actions (github-hosted, win25-vs2026))

Settings: hecras 2D (headless terrain + seeded mesh, restart-file initial step, SWE-EM)

Flood front
• 57.8 m behind exact
15 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 161 m from exact
reported, not counted · 45 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.0049 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00729 · 5 m: 0.008 · 2.5 m: 0.00749 · 1.25 m: 0.00786
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate −0.02 (90 % range −0.11 to 0.06)
reported, not counted · the scheme's design order is 1

SWE-EM, the option HEC recommends for dam breaks, gets 40 m closer than the default SWE-ELM (58 m behind) but does not converge.

Scored with method 3.0 · Score card: HEC-RAS 6.6 2D SWE-EM

HEC-RAS 7.0
HEC-RAS 7.0.1 2D with its Eulerian shallow-water option (SWE-EM), which HEC recommends for dam breaks
#12= 15 % off

Rate the error shrinks on finer grids: -0.021 (90 % range -0.11 to 0.065); the method's expected rate is 0.8 or more

Run time, finest grid: 19.5 s · AMD EPYC 9V45 96-Core Processor, 2 cores, 16 GB, Windows 2025Server (GitHub Actions (github-hosted, win25-vs2026))

Settings: hecras 2D (headless terrain + seeded mesh, restart-file initial step, SWE-EM)

Flood front
• 57.8 m behind exact
15 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 161 m from exact
reported, not counted · 45 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.0049 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.00732 · 5 m: 0.00801 · 2.5 m: 0.00749 · 1.25 m: 0.00786
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate −0.02 (90 % range −0.11 to 0.06)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: HEC-RAS 7.0.1 2D SWE-EM

HEC-RAS 7.0
HEC-RAS 7.0.1 (US Army Corps of Engineers), built and run headless with its default settings; in 2D, its default full shallow-water option (SWE-ELM)
#14= 26 % off

Rate the error shrinks on finer grids: 0.083 (90 % range 0.053 to 0.11); the method's expected rate is 0.8 or more

Run time, finest grid: 19.5 s · AMD EPYC 9V45 96-Core Processor, 2 cores, 16 GB, Windows 2025Server (GitHub Actions (github-hosted, win25-vs2026))

Settings: hecras 2D (headless terrain + seeded mesh, restart-file initial step, SWE-ELM)

Flood front
• 97.4 m behind exact
26 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 209 m from exact
reported, not counted · 58 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.0049 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0159 · 5 m: 0.0146 · 2.5 m: 0.014 · 1.25 m: 0.0134
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.08 (90 % range 0.05 to 0.11)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: HEC-RAS 7.0.1 2D SWE-ELM

HEC-RAS 6.6
HEC-RAS 6.6, the release before 7.0, run the same way (1D, and 2D with its default SWE-ELM): kept so a change between versions shows
#14= 26 % off

Rate the error shrinks on finer grids: 0.083 (90 % range 0.053 to 0.11); the method's expected rate is 0.8 or more

Run time, finest grid: 23.8 s · Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz, 2 cores, 16 GB, Windows 2025Server (GitHub Actions (github-hosted, win25-vs2026))

Settings: hecras 2D (headless terrain + seeded mesh, restart-file initial step, SWE-ELM)

Flood front
• 97.4 m behind exact
26 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 209 m from exact
reported, not counted · 58 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.0049 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0159 · 5 m: 0.0146 · 2.5 m: 0.014 · 1.25 m: 0.0134
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.08 (90 % range 0.05 to 0.11)
reported, not counted · the scheme's design order is 1

The flood advances as a steep bore and its front is 97 m behind the exact one; the error does not fall on finer grids. HEC-RAS 2D was built and run with no GUI step; the dam-break step was carried in by a restart file.

Scored with method 3.0 · Score card: HEC-RAS 6.6 2D SWE-ELM

Hydra
Hydra 17 (NEER AI, Rust): its urban-drainage engine on the SWMM data model, run through its CLI with default settings
#14= 27 % off

Rate the error shrinks on finer grids: 0.0083 (90 % range -0.22 to 0.24); the method's expected rate is 0.8 or more

Run time, finest grid: 6.4 s · INTEL(R) XEON(R) PLATINUM 8573C, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: swmm (DYNWAVE routing, conduit per grid cell)

Flood front
• 102 m behind exact
27 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 211 m from exact
reported, not counted · 59 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.01 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0268 · 5 m: 0.0274 · 2.5 m: 0.0318 · 1.25 m: 0.025
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.01 (90 % range −0.22 to 0.24)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: Hydra urban drainage (17.0.0/4.1.1)

LISFLOOD-FP ACC
LISFLOOD-FP 8.3, the local-inertia solver it is best known for; it leaves out the advection term
#14= 28 % off

Rate the error shrinks on finer grids: 0.047 (90 % range 0.021 to 0.073); the method's expected rate is 0.8 or more

Run time, finest grid: 0.07 s · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: lisflood (acceleration solver, defaults; CPU, double precision)

Flood front
• 105 m behind exact
28 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 211 m from exact
reported, not counted · 59 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.53 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0418 · 5 m: 0.0414 · 2.5 m: 0.0398 · 1.25 m: 0.038
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.05 (90 % range 0.02 to 0.07)
reported, not counted · the scheme's design order is 1

The local-inertia scheme leaves out the advection term, so it is not expected to get a dam break right; it is shown because it is what most LISFLOOD-FP users run.

Scored with method 3.0 · Score card: LISFLOOD-FP 8.3 ACC

Landlab
Landlab 2.11 (CSDMS), its OverlandFlow component: the local-inertial 2D flood scheme of de Almeida et al. (2012), written independently in NumPy, with its defaults
#18 32 % off

Rate the error shrinks on finer grids: 0.034 (90 % range 0.027 to 0.042); the method's expected rate is 0.8 or more

Run time, finest grid: 0.12 s · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: landlab.components.OverlandFlow (local inertial, defaults; a node per cell centre)

Flood front
• 119 m behind exact
32 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 231 m from exact
reported, not counted · 65 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 0.002 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.039 · 5 m: 0.038 · 2.5 m: 0.037 · 1.25 m: 0.0364
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.03 (90 % range 0.03 to 0.04)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: Landlab 2.11.0 OverlandFlow

HydroNet
HydroNet (Penn State) — its differentiable Roe finite-volume solver (Heun RK2, CFL 0.3), the engine inside its FVM-PINN
#19 63 % off

Rate the error shrinks on finer grids: < 0.0001 (90 % range < 0.0001 to < 0.0001); the method's expected rate is 0.8 or more

Run time, finest grid: 2.2 s · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: hydronet (fvm; HydroNet dam-break example settings, CFL 0.3; h_dry 0.0001 m)

Flood front
• 237 m behind exact
63 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 359 m from exact
reported, not counted · 100 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· < 0.0001 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.0557 · 5 m: 0.0557 · 2.5 m: 0.0557 · 1.25 m: 0.0557
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate −0.00 (90 % range −0.00 to −0.00)
reported, not counted · the scheme's design order is 1

The dam never breaks: no water crosses onto the dry bed. HydroNet's Roe residual uses a fixed 1 cm dry threshold and, at a face between a wet and a dry cell, the wet cell's own flux, so still water next to dry ground feels no net force. The same happens below a 1 cm downstream layer. Mass is conserved because nothing moves.

Scored with method 3.0 · Score card: HydroNet finite volume (Roe, RK2) (0d98ff5)

HydroNet
HydroNet's FVM-PINN neural network, trained per grid with the recipe of its own dam-break example (64×5 network, 5000 Adam epochs)
#20 190 % off

Rate the error shrinks on finer grids: 0.13 (90 % range 0.0038 to 0.25); the method's expected rate is 0.8 or more

Settings: hydronet (pinn; HydroNet dam-break example settings, 5000 Adam epochs; h_dry 0.0001 m)

Flood front
• 713 m ahead of exact
190 % of the 376 m the exact front travels in 60 s
Leading edge (1 mm deep)
· 641 m from exact
reported, not counted · 179 % of the 358 m the exact 1 mm contour travels in 60 s
Water conserved
· 3.4 % error
conservation, reported beside the score
Error by grid (L1 h)
· 10 m: 0.395 · 5 m: 0.378 · 2.5 m: 0.309 · 1.25 m: 0.316
reported, not counted · the checks above are scored on the 1.25 m grid
Improves with finer grids
· rate 0.13 (90 % range 0.00 to 0.25)
reported, not counted · the scheme's design order is 1

The trained network spreads 0.3–0.4 m of water over the whole dry channel downstream, so its front is 713 m ahead of the exact one; it gains 3.3 % of the water, and the error grows on finer grids. Its own finite-volume engine, by contrast, never starts the flow.

Scored with method 3.0 · Score card: HydroNet FVM-PINN (0d98ff5)

Not run yet: TUFLOW, MIKE 21, Iber, BASEMENT, Delft3D FM
Run it and add yours →

Error shrinks as the grid gets finer

Average error on each grid. A steeper line means the model converges faster.

0.3 mm1 mm3 mm1 cm3 cm10 cm30 cm1.252.5510grid cell sizeDemo 1D suite example: rate 0.95HEC-RAS 7.0 1D · 2D SWE-ELM: rate 0.065HEC-RAS 7.0 2D · SWE-EM: rate 0.014TELEMAC-2D openTELEMAC 9.1: rate 0.71ANUGA 4.0.1: rate 0.9GeoClaw Clawpack 5.9: rate 0.6LISFLOOD-FP 8.3 · FV1: rate 0.71LISFLOOD-FP 8.3 · DG2: rate 0.54LISFLOOD-FP 8.3 · ACC: rate 0.062EPA SWMM 5.2.4 dynamic wave: rate -0.039OpenSWMM 6 dynamic wave: rate -0.039OpenSWMM 6 finite volume: rate 0.73Hydra urban drainage: rate 0.066HydroNet finite volume: rate < 0.0001HydroNet FVM-PINN: rate 0.13SWMM 5.1.15 previous release: rate -0.039Basilisk Saint-Venant: rate 1Landlab OverlandFlow: rate 0.031HEC-RAS 6.6 previous release: rate 0.065HEC-RAS 6.6 previous release · 2D SWE-EM: rate 0.013
Demo 1D · rate 0.95HEC-RAS 7.0 · rate 0.065HEC-RAS 7.0 · rate 0.014TELEMAC-2D · rate 0.71ANUGA · rate 0.9GeoClaw · rate 0.6LISFLOOD-FP FV1 · rate 0.71LISFLOOD-FP DG2 · rate 0.54LISFLOOD-FP ACC · rate 0.062EPA SWMM 5.2.4 · rate -0.039OpenSWMM 6 · rate -0.039OpenSWMM 6 · rate 0.73Hydra · rate 0.066HydroNet · rate < 0.0001HydroNet · rate 0.13SWMM 5.1.15 · rate -0.039Basilisk · rate 1Landlab · rate 0.031HEC-RAS 6.6 · rate 0.065HEC-RAS 6.6 · rate 0.013

Status of this test

Candidate. To become frozen it needs: maintainer review recorded.

Technical details for reviewers Checks, reference, inputs, sources

Checks and why each limit was chosen

CheckDifference measured as a percentage ofLatestDifferenceWhy this check
volume_front
volume_front_error of h · in the score
of the 376 m the exact front travels in 60 s–5 × the error of the suite's first-order reference scheme (demo 1D, Godunov/HLL: 1.95 m on the finest grid), scoring method 2, rule R7; since v3.0.0 (v2: two finest cells, 2.5 m). 9.8 m is 2.6 % of the 376 m the front travels in 60 s, about 1.6 s of arrival time. The front is the abscissa beyond which lies the last 5 % of the water downstream of the dam (exact: x0 + 2c0·t·(1 − 0.05^(1/3)) = 1237.4 m at 60 s). An integral of depth is well conditioned on the thin tip, where a depth contour is not; it is computed against the solver's own downstream volume, so mass errors do not leak into it.
front_position
front_position_error of h · reported, not counted
of the 358 m the exact 1 mm contour travels in 60 s–Reported, not gating (since v2.0.0). Exact iso-contour at h=0.001·h0 (~1358 m). On the thin tip a 1 mm depth error moves this contour about 10 m, and production codes treat depths under ~1 mm as dry, so it measures thin-film handling more than the front; the volume front gates instead.
mass
global_mass_error of volume · conservation, beside the score
already a percentage–Conservation property of continuous equations.
convergence
observed order of L1 error in h · reported, not counted
the design order, 1–Measured from the error on every refinement level, as in ASME V&V 20.

Reference

Exact solution from references.ritter.depth_velocity.

More figures

Water depth along the channel — Ritter dry-bed dam break00.20.40.60.8105001,0001,5002,000Distance x (m)Depth h (m)Exact, t = 0 sExact, t = 15 sExact, t = 30 sExact, t = 45 sExact, t = 60 sDemo solver, t = 60 s: 0.625, 1Demo solver, t = 60 s: 16.88, 1Demo solver, t = 60 s: 33.12, 1Demo solver, t = 60 s: 49.38, 1Demo solver, t = 60 s: 65.62, 1Demo solver, t = 60 s: 81.88, 1Demo solver, t = 60 s: 98.12, 1Demo solver, t = 60 s: 114, 1Demo solver, t = 60 s: 131, 1Demo solver, t = 60 s: 147, 1Demo solver, t = 60 s: 163, 1Demo solver, t = 60 s: 179, 1Demo solver, t = 60 s: 196, 1Demo solver, t = 60 s: 212, 1Demo solver, t = 60 s: 228, 1Demo solver, t = 60 s: 244, 1Demo solver, t = 60 s: 261, 1Demo solver, t = 60 s: 277, 1Demo solver, t = 60 s: 293, 1Demo solver, t = 60 s: 309, 1Demo solver, t = 60 s: 326, 1Demo solver, t = 60 s: 342, 1Demo solver, t = 60 s: 358, 1Demo solver, t = 60 s: 374, 1Demo solver, t = 60 s: 391, 1Demo solver, t = 60 s: 407, 1Demo solver, t = 60 s: 423, 1Demo solver, t = 60 s: 439, 1Demo solver, t = 60 s: 456, 1Demo solver, t = 60 s: 472, 1Demo solver, t = 60 s: 488, 1Demo solver, t = 60 s: 504, 1Demo solver, t = 60 s: 521, 1Demo solver, t = 60 s: 537, 1Demo solver, t = 60 s: 553, 1Demo solver, t = 60 s: 569, 1Demo solver, t = 60 s: 586, 1Demo solver, t = 60 s: 602, 1Demo solver, t = 60 s: 618, 1Demo solver, t = 60 s: 634, 1Demo solver, t = 60 s: 651, 1Demo solver, t = 60 s: 667, 1Demo solver, t = 60 s: 683, 1Demo solver, t = 60 s: 699, 1Demo solver, t = 60 s: 716, 1Demo solver, t = 60 s: 732, 1Demo solver, t = 60 s: 748, 1Demo solver, t = 60 s: 764, 1Demo solver, t = 60 s: 781, 1Demo solver, t = 60 s: 797, 1Demo solver, t = 60 s: 813, 0.99Demo solver, t = 60 s: 829, 0.94Demo solver, t = 60 s: 846, 0.883Demo solver, t = 60 s: 862, 0.829Demo solver, t = 60 s: 878, 0.778Demo solver, t = 60 s: 894, 0.728Demo solver, t = 60 s: 911, 0.681Demo solver, t = 60 s: 927, 0.635Demo solver, t = 60 s: 943, 0.59Demo solver, t = 60 s: 959, 0.547Demo solver, t = 60 s: 976, 0.506Demo solver, t = 60 s: 992, 0.466Demo solver, t = 60 s: 1,008, 0.427Demo solver, t = 60 s: 1,024, 0.39Demo solver, t = 60 s: 1,041, 0.355Demo solver, t = 60 s: 1,057, 0.321Demo solver, t = 60 s: 1,073, 0.289Demo solver, t = 60 s: 1,089, 0.259Demo solver, t = 60 s: 1,106, 0.231Demo solver, t = 60 s: 1,122, 0.204Demo solver, t = 60 s: 1,138, 0.179Demo solver, t = 60 s: 1,154, 0.155Demo solver, t = 60 s: 1,171, 0.133Demo solver, t = 60 s: 1,187, 0.113Demo solver, t = 60 s: 1,203, 0.0938Demo solver, t = 60 s: 1,219, 0.0768Demo solver, t = 60 s: 1,236, 0.0612Demo solver, t = 60 s: 1,252, 0.0474Demo solver, t = 60 s: 1,268, 0.0352Demo solver, t = 60 s: 1,284, 0.0248Demo solver, t = 60 s: 1,301, 0.0161Demo solver, t = 60 s: 1,317, 0.00949Demo solver, t = 60 s: 1,333, 0.00497Demo solver, t = 60 s: 1,349, 0.00204Demo solver, t = 60 s: 1,366, 0.00059Demo solver, t = 60 s: 1,382, 0.0003Demo solver, t = 60 s: 1,398, 0.00017Demo solver, t = 60 s: 1,414, 0.00011Demo solver, t = 60 s: 1,431, 6.6e-05Demo solver, t = 60 s: 1,447, 4.1e-05Demo solver, t = 60 s: 1,463, 2.6e-05Demo solver, t = 60 s: 1,479, 1.7e-05Demo solver, t = 60 s: 1,496, 1.2e-05Demo solver, t = 60 s: 1,512, 8.1e-06Demo solver, t = 60 s: 1,528, 5.4e-06Demo solver, t = 60 s: 1,544, 3.6e-06Demo solver, t = 60 s: 1,561, 2.7e-06Demo solver, t = 60 s: 1,577, 1.8e-06Demo solver, t = 60 s: 1,593, 1.4e-06Demo solver, t = 60 s: 1,609, 9.6e-07Demo solver, t = 60 s: 1,626, 7.4e-07Demo solver, t = 60 s: 1,642, 5.3e-07Demo solver, t = 60 s: 1,658, 3.9e-07Demo solver, t = 60 s: 1,674, 3e-07Demo solver, t = 60 s: 1,691, 2.3e-07Demo solver, t = 60 s: 1,707, 1.7e-07Demo solver, t = 60 s: 1,723, 1.3e-07Demo solver, t = 60 s: 1,739, 9.6e-08Demo solver, t = 60 s: 1,756, 7.9e-08Demo solver, t = 60 s: 1,772, 6.1e-08Demo solver, t = 60 s: 1,788, 4.5e-08Demo solver, t = 60 s: 1,804, 3.8e-08Demo solver, t = 60 s: 1,821, 3e-08Demo solver, t = 60 s: 1,837, 2.2e-08Demo solver, t = 60 s: 1,853, 1.9e-08Demo solver, t = 60 s: 1,869, 1.5e-08Demo solver, t = 60 s: 1,886, 1.1e-08Demo solver, t = 60 s: 1,902, 9.5e-09Demo solver, t = 60 s: 1,918, 8e-09Demo solver, t = 60 s: 1,934, 6.4e-09Demo solver, t = 60 s: 1,951, 4.9e-09Demo solver, t = 60 s: 1,967, 4.2e-09Demo solver, t = 60 s: 1,983, 3.6e-09Demo solver, t = 60 s: 1,999, 2.9e-09
  • Exact, t = 0 s
  • Exact, t = 15 s
  • Exact, t = 30 s
  • Exact, t = 45 s
  • Exact, t = 60 s
  • Demo solver, t = 60 s

Exact solution at five instants; dots are the demo solver on its finest grid at the final time.

Promotion checklist

Only frozen tests have fixed inputs and answers. This list is computed from the manifest and the published score cards; the rules are in the method.

  • ✓Data licence verifiedfor candidateanalytic-public
  • ✓All inputs availablefor candidateall committed or fetched by SHA-256
  • ✓Reference (truth) availablefor candidateanalytic generator
  • ✓Every tolerance justifiedfor candidateeach gating criterion has a rationale
  • ✓A published run passesfor frozen8 passing score card(s)
  • ✓Order of accuracy shownfor frozenobserved order meets the minimum
  • ✓Two independent codes passfor frozenpassing codes: ANUGA 4.0.1, Basilisk Saint-Venant, GeoClaw 5.9.2, LISFLOOD-FP 8.3 DG2, LISFLOOD-FP 8.3 FV1, OpenSWMM Engine v6 finite volume, demo, openTELEMAC-2D v9.1.1
  • ✗Maintainer review recordedfor frozenno maintainer review recorded

Inputs

FileRoleFormatSHA-256Get it
inputs/params.jsoncase_parametersjsonec594fd89738…Download

About this test

Physics

Instantaneous dam break of still water of depth \(h_0 = 1\,\mathrm{m}\) at \(x_0 = 1000\,\mathrm{m}\) onto a dry frictionless bed. The exact inviscid 1D Saint-Venant solution is a left-going rarefaction and a wet/dry front that advances as \(x_f(t) = x_0 + 2 t \sqrt{g h_0}\). At \(t = 60\,\mathrm{s}\) with \(g = 9.81\,\mathrm{m\,s^{-2}}\) the front is at \(1375.8\,\mathrm{m}\).

Citation

Ritter, A. (1892). "Die Fortpflanzung der Wasserwellen." Zeitschrift des Vereines Deutscher Ingenieure, 36(33), 947–954. Report identifier: ZdVDI 36(33).

Analytic generator: references.ritter.depth_velocity.

Front check (v2.0.0)

The gating front is integral: the abscissa beyond which lies the last 5 % of the water downstream of the dam, exactly \(x_0 + 2c_0 t\,(1-0.05^{1/3})\) = 1237.4 m at 60 s, within 2.5 m. Version 1 used the 1 mm depth contour (~1358 m). On the thin tip that contour moves about 10 m per millimetre of depth error, and production codes treat depths under ~1 mm as dry, so every production code failed it by 12–211 m while their wave bodies were close. It is still reported, but no longer gates.

Front limit (v3.0.0)

The volume front must lie within 9.8 m of the exact one: 5 × the error of the suite's first-order reference scheme on the finest grid (1.95 m), the rule R7 of scoring method 2. Version 2 allowed two finest cells (2.5 m), a resolution-based limit that failed production codes whose depths are within 1–2 mm of the exact answer everywhere and whose front lags 3–6 m (1–1.5 % of the 376 m it travels). Whether the error shrinks at the expected rate is judged separately (Converges), and is needed for the Verified label.

Pitfalls

  • Wet/dry treatment and positivity-preserving fluxes dominate front error; schemes that clip negative depths can lag the front systematically.
  • First-order Godunov methods typically achieve observed order \(\approx 1\) in L1(\(h\)); do not expect second-order near the front.
  • Mass conservation must be measured against the continuous conserved volume (including dry cells), not against a wet-only mask.
  • Mesh spacings must keep Courant number fixed across the refinement study (fixed_courant: 0.5).

Sources

  • Ritter, A. (1892). Die Fortpflanzung der Wasserwellen. ZdVDI 36(33).

Test A1F-010_ritter_dry_bed_dambreak · version 3.0.0 · data licence analytic-public