OpenHydro Bench
Exact answer known1D · pressurizedCandidate

Pump working on its curve

Does the model run a pump at the right operating point?

Test A1D-004
Rossman (2017)
Version 1.0.0
Right answer
Exact solution · Rossman (2017)
Results
5 models · closest under 0.01 % off · see them ↓
Must
get the wet-well level 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

A pump lifts water from a wet well into a rising main held at a fixed level. At steady state it must pass exactly the inflow, and its curve then fixes the water level in the well.

Why it matters

Pumping stations keep low-lying areas dry. A wrong operating point means the wrong wet-well level, the wrong switching and the wrong energy bill.

A good model must

  • get the wet-well level within 1 cm
  • pump exactly the inflow

Exact answer and models

Depth in the wet well as the pump settles

The pump starts from 1 m and settles where it passes exactly the inflow (1.143 m).

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 drainage<0.01 %Worst depth error0.03 s
1=OpenSWMM 6 dynamic wave<0.01 %Worst depth error0.42 s
1=OpenSWMM 6 finite volume<0.01 %Worst depth error0.36 s
1=SWMM 5.1.15 previous release<0.01 %Worst depth error0.08 s
1=EPA SWMM 5.2.4 dynamic wave<0.01 %Worst depth error0.06 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.03 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.0001 mm off
<0.01 % of the exact 1.14 m wet-well depth
Worst flow error
• < 0.0001 m³/s off
<0.01 % of the 0.1 m³/s inflow

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= under 0.01 % off

Run time, finest grid: 0.42 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.0001 mm off
<0.01 % of the exact 1.14 m wet-well depth
Worst flow error
• < 0.0001 m³/s off
<0.01 % of the 0.1 m³/s inflow

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

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

Run time, finest grid: 0.36 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
• < 0.0001 mm off
<0.01 % of the exact 1.14 m wet-well depth
Worst flow error
• < 0.0001 m³/s off
<0.01 % of the 0.1 m³/s inflow

Scored with method 3.0 · Score card: OpenSWMM Engine v6 finite volume (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= under 0.01 % off

Run time, finest grid: 0.08 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.0001 mm off
<0.01 % of the exact 1.14 m wet-well depth
Worst flow error
• < 0.0001 m³/s off
<0.01 % of the 0.1 m³/s inflow

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= under 0.01 % off

Run time, finest grid: 0.06 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.0001 mm off
<0.01 % of the exact 1.14 m wet-well depth
Worst flow error
• < 0.0001 m³/s off
<0.01 % of the 0.1 m³/s inflow

Scored with method 3.0 · Score card: EPA SWMM 5.2.4

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
wet_well_depth
Linf of h · in the score
of the exact 1.14 m wet-well depth–Wet-well depth within 1 cm. The operating point is the curve read at the inflow; the curve is linear between its points in every engine that accepts this input.
pump_flow
Linf of Q · in the score
of the 0.1 m³/s inflow–Pump flow within 1 L/s of the inflow (1 %).
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.pump_curve.

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.jsonnetworkjson2c974666927f…Download

About this test

Physics

A 20 m² wet well receives a constant 0.1 m³/s. A pump with a head–flow curve (12 m at no flow, 10 m at 0.08 m³/s, 6 m at 0.15 m³/s, linear between points: SWMM's TYPE3 pump) lifts it into an outfall held at 10 m. At steady state the pump must pass the inflow, so its head rise is the curve read at 0.1 m³/s, 8.857 m, and the wet well stands at \(10 - 8.857 = 1.143\) m. The run lasts six hours, about nineteen time constants of the wet well.

What it checks

That the pump runs on its curve against the head difference between its two nodes, and that wet-well continuity settles on the operating point.

Citation

Rossman, L. A. (2017). SWMM Reference Manual Volume II – Hydraulics. EPA/600/R-17/111.

Sources

Test A1D-004_pump_on_its_curve · version 1.0.0 · data licence analytic-public