OpenHydro Bench
Exact answer known1D · free surfaceCandidate

Backwater up a sewer

Does a high water level at the outlet back up the right distance?

Test A1D-005
Chow (1959)
Version 1.0.0
Right answer
Exact solution · Chow (1959)
Results
5 models · closest 0.024 % off · see them ↓
Must
keep every manhole and pipe depth within 2 cm
Sketch, not to scale.

The model file

The suite writes this EPA SWMM 5 input file from the test's inputs. Each engine's own copy, as it ran, is in Run it yourself under its result below.

On the map: click any element to see its line in the file and every engine's result there over time.

What happens

A kilometre of 1.2 m sewer drains to an outlet whose level is held high (as by a river in flood). Water backs up through twenty manholes, its depth falling gradually towards normal depth upstream, along an exactly integrated curve.

Why it matters

Outfalls into rivers and the sea are often submerged. How far the backwater reaches decides which basements and gullies flood.

A good model must

  • keep every manhole and pipe depth within 2 cm
  • pass the full inflow down every pipe

Exact answer and models

Water level along the sewer

The outfall holds the water high; it backs up through the manholes towards normal depth upstream.

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

Difference from the exact answer at every manhole and pipe

Shaded: the pass limit, ±20 mm.

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 inRun time
1=Hydra urban drainage0.024 %Worst depth error0.18 s
1=OpenSWMM 6 dynamic wave0.025 %Worst depth error0.60 s
1=SWMM 5.1.15 previous release0.025 %Worst depth error0.25 s
1=EPA SWMM 5.2.4 dynamic wave0.025 %Worst depth error0.25 s
5OpenSWMM 6 finite volume0.31 %Worst depth error1.0 s
Hydra
Hydra 17 (NEER AI, Rust): its urban-drainage engine on the SWMM data model, run through its CLI with default settings
#1= 0.024 % off

Run time, finest grid: 0.18 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, network.json as a SWMM input file)

Worst depth error
• 0.29 mm off
0.024 % of the 1.2 m pipe diameter
Typical flow error
• < 0.0001 % off

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

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

Run time, finest grid: 0.60 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, network.json as a SWMM input file)

Worst depth error
• 0.3 mm off
0.025 % of the 1.2 m pipe diameter
Typical flow error
• < 0.0001 % off

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
#1= 0.025 % off

Run time, finest grid: 0.25 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, network.json as a SWMM input file)

Worst depth error
• 0.3 mm off
0.025 % of the 1.2 m pipe diameter
Typical flow error
• < 0.0001 % off

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
#1= 0.025 % off

Run time, finest grid: 0.25 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, network.json as a SWMM input file)

Worst depth error
• 0.3 mm off
0.025 % of the 1.2 m pipe diameter
Typical flow error
• < 0.0001 % off

Scored with method 3.0 · Score card: EPA SWMM 5.2.4

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
#5 0.31 % 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: swmm (FV routing, network.json as a SWMM input file)

Worst depth error
• 3.7 mm off
0.31 % of the 1.2 m pipe diameter
Typical flow error
• < 0.0001 % off

3.7 mm. With one cell per pipe (FV_MIN_CELLS 1, as on the channel tests) it is 2.2 cm off; the default subdivides each pipe.

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

Not run yet: InfoWorks ICM, MIKE+ (MOUSE), PCSWMM, XPSWMM, Flood Modeller, HEC-RAS
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
profile_depth
Linf of h · in the score
of the 1.2 m pipe diameter–Worst manhole or pipe depth within 2 cm. A link–node model represents each 50 m pipe by its end heads and a mid-pipe depth, a second-order discretisation of the profile whose error here is a few millimetres; the rest is the section tables.
pipe_flow
L2 of Q · in the score
already a percentage–Pipe flows within 0.5 % of the inflow.
convergence
not applicable
––A link–node network with a closed-form (or 1e-11 integrated) reference at fixed elements: there is no grid to refine.

Reference

Exact solution from references.drainage.backwater.

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 frozen5 passing score card(s)
  • ✓Order of accuracy shownfor frozennot applicable: A link–node network with a closed-form (or 1e-11 integrated) reference at fixed elements: there is no grid to refine.
  • ✓Two independent codes passfor frozenpassing codes: EPA SWMM 5.1.15, EPA SWMM 5.2.4, Hydra urban drainage, OpenSWMM Engine v6 dynamic wave, OpenSWMM Engine v6 finite volume
  • ✗Maintainer review recordedfor frozenno maintainer review recorded

Inputs

FileRoleFormatSHA-256Get it
inputs/network.jsonnetworkjson880838ccb4e0…Download

About this test

Physics

Twenty 1.2 m circular pipes (50 m each, \(n = 0.013\), slope 0.001) carry 0.6 m³/s to an outfall held 1.0 m above its invert. Normal depth is 0.59 m and critical depth lower, so the flow is subcritical and the outfall level backs up an M1 profile,

\[ \frac{dy}{dx} = \frac{S_0 - S_f}{1 - Fr^2}, \quad S_f = \frac{n^2Q^2}{A^2R^{4/3}},\ Fr^2 = \frac{Q^2 T}{g A^3}, \]

integrated upstream from the outfall, pipe by pipe, with an adaptive eighth-order Runge–Kutta method (DOP853, relative tolerance \(10^{-11}\)). The manholes have no losses and the inverts are continuous, so depth is continuous through every manhole. A pipe's reference depth is the profile at its midpoint.

What it checks

Gradually varied flow in a network: friction, the circular section and the convective term together. A link–node model represents each pipe by its end heads and a mid-pipe depth; on 50 m pipes that costs a few millimetres at most.

Citation

Chow, V. T. (1959). Open-Channel Hydraulics. McGraw-Hill. Rossman, L. A. (2017). SWMM Reference Manual Volume II – Hydraulics. EPA/600/R-17/111.

Sources

Test A1D-005_backwater_through_manholes · version 1.0.0 · data licence analytic-public