OpenHydro Bench
Exact answer known1D2D · mixedCandidate

Overflow and return

When a sewer overflows and then drains back, does every drop come out?

Test A12-012
Chen (2007)
Version 1.0.0
Right answer
Exact, from conservation · Chen (2007)
Results
4 models · closest 0.028 % off · see them ↓
Must
discharge all 180 m³ that came in (within 2 %)
Sketch, not to scale.

What happens

A storm overloads a sewer, which overflows into a hollow above a manhole. As the storm passes, the water runs back down the manhole and out of the system.

Why it matters

Water that surcharges onto streets usually returns to the sewer. A coupling that loses or gains water on the round trip gets flood volumes and outflows wrong.

A good model must

  • discharge all 180 m³ that came in (within 2 %)
  • leave nothing on the surface
  • end with the water accounted for (0.5 %)

Exact answer and models

Water balance over time

Water stored on the surface and in the pipes, minus what came in, plus what went out: zero for a model that neither makes nor loses water. Shaded: the pass limit at the end of the run, ±0.9 m³ (0.5 %).

Point at the chart to read every model's value; click a name to hide or show it.

Water discharged at the outfall

By the end, exactly 180 m³ must have left through the pipe.

Point at the chart to read every model's value; click a name to hide or show it.

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. Compare them in the results viewer →

RankModelDifferenceLargest difference inMass errorRun time
1SWMM + ANUGA coupled 1D/2D0.028 %Water discharged0.029 %13.0 s
2=OpenSWMM 6 coupled 1D/2D0.22 %Left on the surface0.016 %1.0 s
2=OpenSWMM 6 coupled 1D/2D · cross mesh0.24 %Water discharged0.015 %2.0 s
4HEC-RAS 7.0 pipe networks · 1D/2D1.3 %Water discharged1.4 %17.7 s
SWMM + ANUGA
EPA SWMM 5.2.4 pipes coupled to an ANUGA 4.0.1 surface by the suite's own explicit coupler (1 s weir/orifice exchange at the manholes): a worked example of a 1D/2D model, not a product
#1 0.028 % off

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

Settings: suite coupler: explicit 1 s weir/orifice exchange (Chen et al. 2007), levelling-limited

Water discharged
• 0.028 % off
Left on the surface
• < 0.0001 m3 off
<0.01 % of the 180 m³ storm
Water balance
· 0.029 % off
conservation, reported beside the score

180.05 m³ out of 180 m³ in. As in A12-011, SWMM's reported storage is off by up to 2.4 m³ while surcharged, and back to balance once the pipes drain.

Scored with method 3.0 · Score card: SWMM–ANUGA coupled (SWMM 5.2.4 + ANUGA 4.0.1)

OpenSWMM 6
OpenSWMM Engine v6 (pre-release) with its own 1D/2D coupling: a local-inertial 2D surface with each manhole tied to a mesh vertex, run with its defaults; the surface is the case's grid with each square cut into two triangles
#2= 0.22 % off

Run time, finest grid: 1.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: OpenSWMM's own 1D/2D coupling, defaults; vertex-coupled manholes; two triangles per grid square

Water discharged
• 0.21 % off
Left on the surface
• 0.403 m3 off
0.22 % of the 180 m³ storm
Water balance
· 0.016 % off
conservation, reported beside the score

110 m³ surges onto the surface and drains back; 179.6 of the 180 m³ leaves by the outfall and 0.4 m³ stays on the slope. The balance closes to 0.03 m³.

Scored with method 3.0 · Score card: OpenSWMM Engine v6 1D/2D (two triangles per grid square) 6.0.0a4.dev1

OpenSWMM 6
The same OpenSWMM 6 1D/2D model on a finer-cut mesh: each grid square cut into four triangles by both diagonals (the mesh the suite's ANUGA surface uses)
#2= 0.24 % off

Run time, finest grid: 2.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: OpenSWMM's own 1D/2D coupling, defaults; vertex-coupled manholes; four triangles per grid square

Water discharged
• 0.24 % off
Left on the surface
• 0.403 m3 off
0.22 % of the 180 m³ storm
Water balance
· 0.015 % off
conservation, reported beside the score

As on the two-triangle mesh: 179.6 m³ out, 0.4 m³ left on the slope, balance within 0.03 m³.

Scored with method 3.0 · Score card: OpenSWMM Engine v6 1D/2D (four triangles per grid square) 6.0.0a4.dev1

HEC-RAS 7.0
HEC-RAS 7.0.1 with its own storm-drain pipe networks: nodes, conduits and top inlets joined to a 2D SWE-ELM surface, HEC-RAS's defaults; the network is written into the geometry file headless and HEC-RAS's compute builds its cells. HEC-RAS 7.0.1 leaves the pipe solver's settings out of what it hands its engine for these headless plans, so the suite adds HEC-RAS's defaults and runs the engine again (the run time includes both passes)
#4 1.3 % off

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

Settings: hecras pipe network written into the geometry HDF (nodes, conduits, top inlets), 2D SWE-ELM surface, defaults

Water discharged
• 1.3 % off
Left on the surface
• 0.708 m3 off
0.39 % of the 180 m³ storm
Water balance
· 1.4 % off
conservation, reported beside the score

The surge goes onto the slope and drains back: 182.3 m³ leaves by the outfall for 180 m³ in, 0.7 m³ stays on the surface. The balance gains 2.5 m³ (1.4 %); HEC-RAS's own report shows 1.9 %. The pipe network runs on its own Courant-controlled step: on the 2D step alone (up to 8.6 s) its solution went unstable after 15 minutes.

Scored with method 3.0 · Score card: HEC-RAS 7.0.1 pipe networks 1D/2D

Not run yet: TUFLOW, InfoWorks ICM, MIKE+, PCSWMM 2D, Flood Modeller
Run it and add yours →

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
discharged_volume
expected_state_error of V · in the score
already a percentage–Outfall volume within 2 % of the 180 m³ that came in.
surface_empty
expected_state_error of V · in the score
of the 180 m³ storm–At most 1.8 m³ (1 % of the storm) left on the surface: a thin film on the 1 % slope drains slowly.
water_balance
continuity_error of volume · conservation, beside the score
already a percentage–By the end of the run, the water stored on the surface and in the pipes has changed by exactly what came in minus what went out. A coupling that moves water between the two models must not make or lose any; each engine's own continuity error is allowed within this limit.
convergence
not applicable
––Scored on exact states that follow from conservation (exchanged and discharged volumes, settled levels): they do not depend on the grid.

Reference

Exact states that follow from the inputs by conservation and hydrostatics: exchanged and discharged volumes, settled levels and steady flows, plus the model's own volume balance.

Expected stateValueWhy it must hold
discharged_volume
V at outflow
180 m3Everything that enters (the hydrograph's 180 m³) must leave by the outfall: the hollow drains to the manhole and the pipes drain freely.
surface_empty
V at surface
0 m3The hollow slopes to the manhole, whose crest is at its lowest point, so no water can stay on the surface.

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 candidateexact states from conservation
  • ✓Every tolerance justifiedfor candidateeach gating criterion has a rationale
  • ✓A published run passesfor frozen3 passing score card(s)
  • ✓Order of accuracy shownfor frozennot applicable: Scored on exact states that follow from conservation (exchanged and discharged volumes, settled levels): they do not depend on the grid.
  • ✓Two independent codes passfor frozenpassing codes: OpenSWMM Engine v6 1D/2D, SWMM–ANUGA coupled
  • ✗Maintainer review recordedfor frozenno maintainer review recorded

Inputs

FileRoleFormatSHA-256Get it
inputs/coupling.jsoncouplingjsonbd25d0da008d…Download

About this test

Physics

A storm hydrograph rising to 0.3 m³/s at 10 minutes and back to zero at 20 minutes (180 m³) enters a 0.5 m pipe to manhole M1, whose outgoing 0.25 m pipe carries only about 0.06 m³/s. M1 surcharges onto a walled 20 × 20 m hollow whose floor falls 1 % towards the manhole from every side; once the storm passes, the water returns down the manhole and out.

  • Discharged volume: everything that entered, 180 m³, leaves by the outfall within three hours.
  • Surface empty: the manhole is at the lowest point of the hollow, so no water can stay on the surface.

What it checks

Exchange in both directions at one manhole, and that the round trip loses or gains no water.

Citation

Chen, A. S., Djordjević, S., Leandro, J., and Savić, D. A. (2007). The urban inundated area: a coupled 1D/2D model for the interaction between sewer and surface. Proc. NOVATECH 2007.

Sources

  • Chen, A. S., Djordjević, S., Leandro, J., Savić, D. A. (2007). The urban inundated area: a coupled 1D/2D model for the interaction between sewer and surface. www.researchgate.net/publication/257306339
  • Rubinato, M., Martins, R., Kesserwani, G., Leandro, J., Djordjević, S., Shucksmith, J. (2017). Experimental calibration and validation of sewer/surface flow exchange equations in steady and unsteady flow conditions. doi:10.1016/j.jhydrol.2017.06.024

Test A12-012_surcharge_and_return · version 1.0.0 · data licence analytic-public