OpenHydro Bench
Exact answer known1D · free surfaceCandidate

Sewer pipes running part full

Does a drainage model get the depth right in a round pipe?

Test A1D-001
Chow (1959)
Version 1.0.0
Right answer
Exact solution · Chow (1959)
Results
5 models · closest under 0.01 % off · see them ↓
Must
keep every pipe and manhole depth within 1 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

Three lines of 1 m sewer pipes, on a steady slope, carry three different flows that fill them to about a quarter, a half and three quarters. The depth in each pipe is fixed exactly by Manning's formula for a circle.

Why it matters

Pipe capacity checks, surcharge warnings and flood risk all start from the depth in a partly full pipe. This is the simplest thing a sewer model has to get right.

A good model must

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

Exact answer and models

Depth along each line of pipes

Three separate lines of pipes, each carrying a different flow; the exact depth is the same in every pipe of a line.

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, ±10 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
1Hydra urban drainage<0.01 %Worst depth error0.30 s
2=OpenSWMM 6 dynamic wave0.027 %Worst depth error0.73 s
2=SWMM 5.1.15 previous release0.027 %Worst depth error0.40 s
2=EPA SWMM 5.2.4 dynamic wave0.027 %Worst depth error0.41 s
5OpenSWMM 6 finite volume1.4 %Worst depth error1.4 s
Hydra
Hydra 17 (NEER AI, Rust): its urban-drainage engine on the SWMM data model, run through its CLI with default settings
#1 under 0.01 % off

Run time, finest grid: 0.30 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.00051 mm off
<0.01 % of the 1 m pipe diameter
Typical flow error
• < 0.0001 % off

Exact to rounding (0.0005 mm): Hydra computes the circular section exactly, where the SWMM engines interpolate a 51-entry table (0.27 mm 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
#2= 0.027 % off

Run time, finest grid: 0.73 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.27 mm off
0.027 % of the 1 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
#2= 0.027 % off

Run time, finest grid: 0.40 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.27 mm off
0.027 % of the 1 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
#2= 0.027 % off

Run time, finest grid: 0.41 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.27 mm off
0.027 % of the 1 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 1.4 % off

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

Worst depth error
• 1.4 cm off
1.4 % of the 1 m pipe diameter
Typical flow error
• < 0.0001 % off

Accurate mid-line (under 2 mm), but up to 1.4 cm too deep in the pipes next to the normal-depth outfalls and 7 mm too deep in the first pipes below the inflows. EPA SWMM 5.2.4 holds normal depth to 0.3 mm everywhere.

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
normal_depth
Linf of h · in the score
of the 1 m pipe diameter–Worst node or pipe depth within 1 cm (1 % of the diameter). SWMM-family engines store circular-pipe area and hydraulic radius in 51-entry tables and interpolate between them; that alone moves a normal depth by a few millimetres.
pipe_flow
L2 of Q · in the score
already a percentage–Pipe flows within 0.5 %: at steady state every pipe carries its chain's 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.uniform_flow.

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 frozen4 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
  • ✗Maintainer review recordedfor frozenno maintainer review recorded

Inputs

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

About this test

Physics

Three independent chains of ten 1.0 m circular pipes (100 m each, Manning \(n = 0.013\), slope 0.002) carry 0.15, 0.5 and 1.0 m³/s from a constant inflow to an outfall at normal depth. At steady state the flow in every pipe is uniform, so its depth is the root of

\[ Q = \frac{1}{n} A R^{2/3} S^{1/2}, \quad A = \tfrac{D^2}{8}(\theta - \sin\theta),\ P = \tfrac{D\theta}{2},\ \theta = 2\arccos(1 - 2y/D) \]

solved by bisection to \(10^{-13} D\): 0.253, 0.480 and 0.765 m.

What it checks

The circular section and the friction law, with nothing else in play. Every pipe and every interior manhole is scored; the inflow and outfall manholes are not (their depth depends on how an engine treats a chain's ends), but the last pipe is, so an engine's normal-depth outfall must hold normal depth.

SWMM-family engines store a circular pipe's area and hydraulic radius in 51-entry tables; EPA SWMM 5.2.4 is 0.27 mm off for that reason. An engine with exact geometry agrees to rounding.

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-001_circular_pipe_normal_depth · version 1.0.0 · data licence analytic-public