⚡ The One-Line Translation
EPANET is to pressurized water distribution what SWMM5 is to gravity-driven stormwater collection.
You already own the hard part — you think in networks, nodes, links, time steps, and hydraulic engines. EPANET uses the same mental model with one enormous flip: every pipe is full, all the time. No free-surface flow, no surcharging transition, no open channels. Always pressurized, always full-bore.
🔀 Visual: Gravity vs Pressure Networks
🗺️ Quick Translation Table
| SWMM 5.2 | EPANET 2.2 | Mapping | Core Difference |
|---|---|---|---|
| Junction node | Direct | EPANET junctions withdraw water (demand); SWMM junctions collect water (inflow) | |
| Reservoir | Closest | Mirror image in typical role — outfalls discharge out, reservoirs typically supply in (a fixed-head boundary can also receive flow). Both are boundary conditions with fixed or time-varying stage/head. | |
| Tank | Closest | Similar: volume-vs-depth, min/max levels. EPANET adds mixing models for WQ; SWMM adds ponding, evaporation, seepage. | |
| Pipe | Closest | SWMM has 20+ cross-section shapes, can run partly full. EPANET always circular, always full. | |
| Pump | Direct | Both have pump curves and controls. EPANET adds efficiency curves & energy cost. SWMM 5.2 adds Type 5 variable-speed affinity-law pumps. | |
| / | Valve (6 types) | Closest | EPANET has PRV, PSV, FCV, TCV, PBV, GPV — active pressure/flow control for pressurized networks. |
| .inp text file | .inp text file | Direct | Same concept, different section names. Both human-readable. |
| + Rainfall | — (nothing) | None | EPANET has no rainfall-runoff generation. Water is supplied through fixed-head reservoirs, tanks, pumps, or prescribed nodal injections (negative demands); demand is assigned to nodes. |
| DWF (dry weather flow) | Base Demand + Pattern | Closest | Same baseline-×-pattern idea, opposite sign and different pattern architecture: DWF is an external inflow (SWMM stacks monthly/daily/hourly/weekend factors); demand is a withdrawal (EPANET assigns multiple demand categories, each with its own pattern). |
| Bulk & wall reactions | Closest | SWMM: pollutants from land surfaces. EPANET: reactions inside pipes and tanks. | |
| Continuity error % | Mass-balance reporting | Closest | Both measure mass balance. These are not equivalent to convergence status — see Solver tab. |
🔍 What Has No Equivalent
Subcatchments & rainfall-runoff generation, infiltration models (Green-Ampt, Horton, SCS-CN), groundwater/aquifer coupling, snowmelt, LID controls (rain gardens, green roofs, permeable pavement), street/gutter routing, free-surface open-channel flow, surcharging/flooding transition, RDII/RTK unit hydrographs, pollutant buildup and washoff from land surfaces, evaporation, conduit seepage.
Core Pressure-driven demand analysis (PDA), emitters (sprinkler/nozzle flow), tank mixing models (FIFO, LIFO, 2-compartment, complete), pipe wall reactions, chlorine/THM chemistry, water age tracking, source tracing, energy cost analysis, pump efficiency curves, specific gravity/viscosity settings, independent pressure units.
EPANET-UI Fire flow analysis, energy audit reporting.
MSX Multi-species water quality with user-defined reaction equations.
OWA 2.3 PCV (positional control valve), FAVAD pressure-dependent pipe leakage.
🌉 Where InfoWorks ICM Sits
For practitioners who bridge both worlds daily: InfoWorks ICM's native engine solves the full St. Venant equations and handles pressurized surcharge with a Preissmann slot — a single network passes between free-surface and pressurized flow without changing engines. The regime boundary that separates SWMM5 from EPANET runs through the middle of ICM. ICM also ships a SWMM engine option for direct SWMM5 compatibility, while the EPANET lineage lives on the distribution side in InfoWater Pro.
EPANET — always full ← ICM — both regimes, one network → SWMM5 — gravity first, surcharge handled
📚 Sources & Versions
Last technical review: July 20, 2026, against the references below. Both embedded engines self-report their versions live in the Run Both Engines tab (EPANET EN_getversion → 20305; SWMM banner → 5.2 Build 5.2.2).
| Source | Covers here | Link |
|---|---|---|
| EPA EPANET 2.2 User Manual (online) | Core hydraulics & WQ, analysis options, Status Report, [RULES] precedence, error codes, .inp format | usepa.github.io/EPANET2.2 |
| EPA EPANET homepage | Desktop releases and downloads (EPA 2.2.0 current) | epa.gov/water-research/epanet |
| OWA EPANET releases (GitHub) | OWA 2.3.x engine line — PCV valve, engine-level FAVAD | OpenWaterAnalytics/EPANET |
| epanet-js (GitHub) | Provenance of the embedded OWA 2.3.5 WASM engine | modelcreate/epanet-js |
| EPA SWMM homepage | SWMM 5.2 manuals and the current 5.2.4 desktop release | epa.gov · SWMM |
| EPA SWMM engine source (GitHub) | Engine files this page was verified against (report.c, swmm5.c) | USEPA/Stormwater-Management-Model |
| @fileops/swmm-wasm-web (npm) | Provenance of the embedded SWMM 5.2.2 WASM engine (newest published browser build) | npm · swmm-wasm-web |
| EPANET-UI User Manual (2025) | EPANET-UI-only features: fire-flow analysis, FAVAD UI, energy indices | Distributed with the EPANET-UI application |
Which sections depend on extensions
Anything untagged is EPANET 2.2 Core or SWMM 5.2. Items tagged EPANET-UI (fire flow, FAVAD leakage editor, energy indices) need the EPANET-UI application; OWA 2.3.x items (PCV, engine-level FAVAD) need the Open Water Analytics engine line; MSX needs the multi-species extension. The Run Both Engines tab executes OWA 2.3.5 and SWMM 5.2.2 (web build) — embedded, offline, version-checked at boot.
📦 Interactive Object Lookup
Click any SWMM5 object to see its EPANET translation and property-level differences.
🔁 Property Transfer Matrix
When a model crosses dialects, every property lands in one of four buckets: Transfers copies as-is, Transforms needs a mechanical conversion, Judgment needs an engineering decision, and No path has no EPANET regime at all.
| Property | SWMM 5.2 form | EPANET 2.2 form | Class | What to do |
|---|---|---|---|---|
| Hazen–Williams C | [XSECTIONS] FORCE_MAIN roughness | [PIPES] roughness under HEADLOSS H-W | Transfers | Copy the value; confirm both files use H-W. |
| Darcy–Weisbach ε | FORCE_MAIN_EQUATION D-W roughness | [PIPES] roughness under HEADLOSS D-W | Transforms | Same physics, different unit convention (millifeet US / mm SI) — convert, don't copy. |
| Manning's n | [CONDUITS] n, partly-full open-channel flow | C-M roughness on always-full pipes | Judgment | Same symbol, different regime; C-M full-pipe flow is not open-channel Manning. |
| Pipe diameter | [XSECTIONS] Geom1 in ft (m) | [PIPES] diameter in inches (mm) | Transforms | ×12 in US units — the classic silent error. |
| Pipe length | [CONDUITS] length | [PIPES] length | Transfers | Same units both sides. |
| Node elevation | Junction invert elevation | Junction reference elevation | Judgment | Invert-of-pipe vs demand-node datum — choose the datum deliberately and document it. |
| Baseline flow | [DWF] average value (external inflow) | [JUNCTIONS] base demand (withdrawal) | Transforms | The sign flips: into the network becomes out of it. |
| Diurnal patterns | [PATTERNS] HOURLY/DAILY/MONTHLY/WEEKEND per pattern | [PATTERNS] multipliers on one global Pattern Step | Transforms | Flatten stacked SWMM factors onto a single interval; EPANET patterns wrap automatically. |
| Pump curve (Type 3 ↔ HEAD) | [CURVES] PUMP3 rows are (Head, Flow) | [CURVES] rows are (Flow, Head) | Transforms | Transpose the columns — the engine-verified trap documented on this page. |
| Pump on/off logic | Startup/shutoff depths on the [PUMPS] line | [CONTROLS] / [RULES] statements | Transforms | Move thresholds into control statements; the trigger side inverts with the storage side. |
| Storage geometry | [STORAGE] area-vs-depth (FUNCTIONAL/TABULAR) | [TANKS] diameter or volume-vs-level curve | Transforms | Convert area(depth) to volume(level); set min/max operating levels. |
| Orifices & weirs | [ORIFICES]/[WEIRS] Cd + geometry | Valve family (PRV/PSV/PBV/FCV/TCV/GPV) | Judgment | Pick the valve whose setting matches the intent; a GPV takes a custom head-loss curve. |
| Free-surface routing | Dynamic wave, partly full, surcharge transition | — | No path | EPANET has no partly-full regime; that half of SWMM stays behind. |
| Rainfall & subcatchments | [SUBCATCHMENTS] + [RAINGAGES] | — | No path | Nothing generates flow from rain in EPANET. |
| Water-quality state | Buildup/washoff, node treatment | Bulk/wall reactions, tank mixing, WQ sources | Judgment | Different paradigms — map the intent (what enters vs what transforms), not the fields. |
🧮 Solver Philosophy: Side by Side
Momentum-based, time-marching
Solves the full 1-D St. Venant equations at every time step — continuity + momentum with inertia, pressure gradient, gravity, and friction terms.
Marches forward in small time steps (Δt typically constrained by Courant conditions). Handles surcharging, backwater, reverse flow, looped networks.
Key output: depth at nodes, flow in conduits.
Energy-based, quasi-steady-state
At each hydraulic time step, finds the steady-state solution using conservation of mass at nodes + energy equations across links (Todini-Pilati gradient algorithm).
Iterates via Newton-Raphson until flow changes converge. No inertia, no momentum, no dynamic-wave CFL restriction. Each hydraulic event represents a quasi-steady network solution.
Key output: pressure at nodes, flow in pipes.
📐 Head Loss Formulas
SWMM 5.2 uses Manning's equation for open-channel flow and offers either Hazen-Williams or Darcy-Weisbach for force mains (controlled by the FORCE_MAIN_EQUATION option; Hazen-Williams is the default). In SWMM 5.2+, pair force mains with SURCHARGE_METHOD SLOT in [OPTIONS] for smoother pressurization transitions. EPANET lets you choose one formula for all pipes:
| Formula | Roughness | Equation | SWMM 5.2 Connection |
|---|---|---|---|
| Hazen-Williams EPANET default |
C-factor (unitless) 100–150 typical |
h_f = 10.67·L·Q^1.852 / (C^1.852·D^4.87) |
Also the default for SWMM 5.2 force mains. C-factors transfer directly when both use H-W. |
| Darcy-Weisbach | Roughness height ε (mm) | h_f = f·(L/D)·V²/(2g)f from Colebrook-White |
Available for SWMM 5.2 force mains via FORCE_MAIN_EQUATION D-W. Physical roughness framework is directly comparable; confirm unit conventions. |
| Chezy-Manning | Manning's n | h_f = 10.29·n²·L·Q² / D^5.33 |
Same n as SWMM5 open-channel flow — but applied to full-pipe flow in EPANET. Values transfer; the flow context differs. |
🔧 Convergence & Stability: Three Separate Concepts
These are often conflated. They are distinct in both engines:
| Concept | SWMM 5.2 | EPANET 2.2 |
|---|---|---|
| Mass balance | Continuity error % (simulation-wide metric) | Hydraulic continuity is enforced within each network solution. The full Status Report lists per-trial convergence error; a final mass-balance accounting is reported when water quality is analyzed [EPA 2.2 §8.1] |
| Nonlinear convergence | Iterative (Picard) nodal solution per routing step: MAX_TRIALS (default 8) and HEAD_TOLERANCE (default 0.005 ft) | Gradient-method trials (engine default 200; the UI suggests 40) with Accuracy (default 0.001), Max. Head Error, Max. Flow Change; "If Unbalanced: CONTINUE" grants 10 extra trials with link statuses frozen [EPA 2.2 §8.1] |
| Temporal stability | Routing step size + variable-step adjustment. Small steps needed for CFL/Courant stability. | Hydraulic event step (typically 1 hr). No dynamic-wave CFL restriction. DAMPLIMIT damps flow changes to 60% below a threshold to cure oscillations. |
| Link-status chattering | Separated on/off thresholds (hysteresis) and control-rule timing prevent cycling; smaller routing steps sharpen transition resolution but do not by themselves eliminate chattering | CHECKFREQ (how often to check status during iteration) and MAXCHECK (after which checks occur only at convergence) control iterative status evaluation — status checking inside the gradient solution, not an analogue of SWMM’s variable routing step |
| Failure mode | Oscillatory flows or heads, repeated nodal non-convergence, excessive time-step reductions, elevated continuity error | "System Unbalanced" warning (solver couldn't converge), negative pressures (physically impossible demand) |
💧 Demand-Driven vs Pressure-Driven Analysis
This concept has no SWMM5 parallel — SWMM5 doesn't have "demand" because water enters from subcatchments and gravity pulls it through. In EPANET:
Every node gets exactly the demand you assigned, regardless of pressure. If the system can't deliver, you get negative pressures — mathematically valid but physically impossible.
Demand varies with pressure: zero below minimum pressure, full above service pressure, power-law in between. More realistic. Parameters: minimum pressure, service pressure, pressure exponent (typically 0.5).
⚙️ Control Architecture Comparison
SWMM 5.2 has a single rule-based system. EPANET splits into two tiers — and adds priority-based conflict resolution:
One-liners — no SWMM5 equivalent:
Fast to write, easy to read, limited to one condition per action.
EPANET's rule syntax is nearly identical to SWMM5's:
Same IF/AND/OR/THEN/ELSE logic. EPANET adds PRIORITY keyword for conflict resolution. Note: OR has higher precedence than AND in EPANET — IF A OR B AND C means (A OR B) AND C (unusual; watch out) [EPA 2.2 [RULES]].
📋 Condition Syntax: Word-for-Word Mapping
| What You're Testing | SWMM 5.2 Syntax | EPANET 2.2 Syntax |
|---|---|---|
| Node water level | NODE xxx DEPTH > value | TANK xxx LEVEL ABOVE value |
| Node pressure / head | NODE xxx HEAD > value | NODE xxx PRESSURE ABOVE valueNODE xxx HEAD ABOVE value |
| Link flow | LINK xxx FLOW > value | LINK xxx FLOW ABOVE value |
| Link status | LINK xxx STATUS = ON | LINK xxx STATUS IS OPEN |
| Pump speed / setting | PUMP xxx SETTING > value | LINK xxx SETTING ABOVE value |
| Elapsed time | SIMULATION TIME > value | SYSTEM TIME > value |
| Clock time | SIMULATION CLOCKTIME > value | SYSTEM CLOCKTIME >= 8 AM |
| Day / month | SIMULATION MONTH > value | — (not available; EPANET has no calendar dates) |
| Tank fill/drain time | — (not available) | TANK xxx FILLTIME BELOW 4TANK xxx DRAINTIME BELOW 6 |
| System total demand | — (not available) | SYSTEM DEMAND ABOVE value |
⏱️ Rule Evaluation Timing
In SWMM 5.2, control rules are evaluated at every routing time step. In EPANET, rules are evaluated at a separate Rule Step (default: 1/10 of the hydraulic time step). Between hydraulic steps, EPANET advances the clock in Rule Step increments, updates tank levels linearly, and checks all rules at each increment. If a rule fires, a new full hydraulic solution is triggered immediately at that point.
🧪 The Paradigm Shift: Surface → Pipe
Source-to-outfall pollutant tracking
Pollutants generated on subcatchment surfaces (buildup), washed off by rainfall, routed through pipes. Focus: what enters the system from the land.
Typical: TSS, BOD, nutrients, metals, bacteria. First-order decay or treatment at nodes.
In-pipe reactions and mixing
Water enters from reservoirs with known quality. Undergoes bulk reactions (water column) and wall reactions (pipe surface). Focus: what happens inside the system.
Typical: chlorine residual, THMs, water age, source tracing. Per-pipe bulk + wall coefficients.
🔬 EPANET-Specific Quality Concepts
Click each to expand — these have no SWMM5 equivalent:
⏱️ Time Step Mapping
| EPANET Time Option | Typical | SWMM 5.2 Equivalent | Key Insight |
|---|---|---|---|
| Duration | 24–168 hrs | Total Duration | Direct Both engines support arbitrary durations. SWMM is routinely used for multiyear continuous simulations. |
| Hydraulic Step | 1 hour | Routing Step | Closest EPANET's step is much longer because each step is a quasi-steady solve with no CFL restriction. SWMM dynamic-wave routing requires seconds-scale steps. |
| Quality Step | 5 min | — (none) | None Sub-step for advecting water quality parcels. SWMM routes quality at the same step as hydraulics. |
| Pattern Step | 1 hour | DWF pattern interval | Direct Interval between demand pattern multipliers. |
| Report Step | 1 hour | Reporting Step | Direct Identical — how often results are written to output. |
| Rule Step | 6 min | Control Rule Step | Closest EPANET evaluates rules at this sub-interval within hydraulic steps. |
| Clock Start | 12:00 AM | Start Date/Time | Closest EPANET uses time-of-day only (no calendar dates). SWMM uses actual dates. |
| Statistic | NONE | — (none) | None Post-processing: AVERAGED, MIN, MAX, RANGE, or NONE. You'd do this yourself after SWMM. |
📏 Unit Systems
| Parameter | SWMM 5.2 | EPANET 2.2 |
|---|---|---|
| Flow | CFS, GPM, MGD, CMS, LPS, MLD | CFS, GPM, MGD, IMGD, AFD (US) LPS, LPM, MLD, CMH, CMD (SI) |
| Pipe diameter | feet (US) / meters (SI) | inches (US) / mm (SI) |
| Pressure | ft or m of head | psi, m, or kPa — independent of flow units |
| Velocity | ft/s or m/s | ft/s or m/s |
| Roughness | Manning's n; H-W C or D-W ε for force mains | C-factor (H-W), ε in mm (D-W), or n (C-M) |
⚡ Energy Options EPANET 2.2
EPANET has a full energy cost analysis framework. SWMM 5.2 reports pump power usage (kW·hr in the Pumping Summary) but does not compute operating costs.
EPANET provides: global pump efficiency (default 75%), energy price per kWh, price patterns for time-of-use rates, and demand charges for peak kW. The Pumping Report totals cost across the simulation.
Hydraulic Power Equation (US units)
Where efficiency is a decimal (e.g., 0.75). The /5310 constant converts ft·gpm to kW.
EPANET-UI also reports energy-based performance metrics: Efficiency Index, Friction Loss Index, Leakage Loss Index, Excess Supply/Usage indices.
🔧 EPANET Valve Types 6 in EPA 2.2
In SWMM5, flow restriction comes from orifices (fixed opening) and weirs (overflow). In EPANET's pressurized world, you need active pressure and flow control:
Limits downstream pressure to a set value. Opens/closes automatically.
Maintains minimum upstream pressure. Mirror image of PRV.
Forces a fixed pressure drop across the valve. Altitude control between zones.
Limits flow to a maximum specified rate.
Simulates a partially closed valve by adjusting minor loss coefficient.
User supplies a custom head-loss vs. flow curve. Maximum flexibility.
⟳ Pump Feature Comparison
| Feature | SWMM 5.2 Pump | EPANET 2.2 Pump |
|---|---|---|
| Pump curve types | Type 1 — fixed/volume (stepped by inlet volume) Type 2 — fixed/depth (stepped by inlet depth) Type 3 — variable/head (Q vs H characteristic curve) Type 4 — variable/depth (Q varies by inlet depth) Type 5 — variable-speed affinity-law pump SWMM 5.2 Ideal — unconstrained transfer |
Head vs flow curve. Auto-fits a continuous function from 1 or 3 points. Constant-power alternative (specify kW directly). |
| Variable speed | Type 5 pump uses affinity laws. Pump setting can be modulated via controls. | Relative speed setting (e.g., 1.2 = 120%) + speed pattern over time. Affinity-law scaling built in. |
| On/off control | Start/shutoff depths at wet well, plus control rules | Simple controls (by tank level, pressure, time) or rule-based controls |
| Energy reporting | Pumping Summary reports Power Usage in kW·hr SWMM 5.2 | Efficiency curve (% vs flow), energy price per kWh, price pattern for TOU rates, demand charge. Full operating-cost framework. |
| Check valve | Inherent (no reverse flow) | Inherent (closes at shutoff head) |
💦 Emitters & Leakage
Flow through a nozzle/sprinkler at a junction:
C = discharge coefficient, P = pressure, n = exponent (typically 0.5). Used for sprinkler systems, fire hydrants, or simplified leakage. No SWMM5 equivalent.
Per-pipe leak area and expansion rate:
A₀ = crack area at zero pressure; m = expansion rate. More physically based than the emitter shortcut. In SWMM5, leakage = RDII, groundwater exchange, or seepage — not pressure-driven pipe cracks.
🏔️ The Same Hill, Two Stories
One physical system: water at elevation 90 ft must reach elevation 130 ft through a pump. SWMM5 tells it as a collection story — inflow → wet well → pump → force main → outfall. EPANET tells it as a supply story — source → pump → pipes → customers → elevated tank. Below, each .inp dialect side by side, abridged to the key lines.
1️⃣ Boundaries — The Mirror
[OUTFALLS] ;;Name Elev Type Outfall 130.0 FREE
[RESERVOIRS] ;;Name Head Source 90.0
2️⃣ Storage — Swaps Sides of the Pump
[STORAGE] ;;Name Elev MaxD InitD Shape Coef Exp Const WetWell 90.0 14.0 3.0 FUNCTIONAL 0 0 200
[TANKS] ;;Name Elev InitLvl MinLvl MaxLvl Diam T1 130.0 5.0 2.0 12.0 16.0
3️⃣ Nodes — Inflow vs Demand
[JUNCTIONS] ;;Name InvertEl MaxDepth J1 100.0 8.0 J2 118.0 6.0 [INFLOWS] ;;Node Type Tseries J1 FLOW InflowTS
[JUNCTIONS] ;;Name Elev Demand Pattern J1 100.0 50 Diurnal J2 118.0 0
4️⃣ Links — Force Main vs Pipe
[CONDUITS] ;;Name From To Len N GRAV1 J1 WetWell 350 0.013 FM1 J2 Outfall 600 0.013 [XSECTIONS] ;;Link Shape Diam(ft) C FM1 FORCE_MAIN 0.67 130
[PIPES] ;;Name From To Len Diam(in) Rough P1 J2 J1 350 8 130 P2 J1 T1 600 8 130
5️⃣ Pump — Same Curve, Different Wiring
[PUMPS] ;;Name From To Curve Status Start Shutoff P1 WetWell J2 PC1 OFF 6.0 2.0 [CURVES] ;;Name Type Head Flow <-- X = head! PC1 PUMP3 25 600 PC1 48 300 PC1 62 0
[PUMPS] ;;Name From To Parameters PMP1 Source J2 HEAD PC1 [CURVES] ;;Name Flow Head PC1 0 62 PC1 300 48 PC1 600 25
6️⃣ Controls — The Logic Inverts
[CONTROLS]
RULE R1
IF NODE WetWell DEPTH > 6
THEN PUMP P1 STATUS = ON
RULE R2
IF NODE WetWell DEPTH < 2
THEN PUMP P1 STATUS = OFF
[CONTROLS]
LINK PMP1 OPEN IF NODE T1 BELOW 3.0
LINK PMP1 CLOSED IF NODE T1 ABOVE 11.0
7️⃣ Patterns — Nearly Identical
[PATTERNS] ;;Name Type Multipliers Diurnal HOURLY 0.5 0.6 0.9 1.3 1.5 1.2
[PATTERNS] ;;Name Multipliers Diurnal 0.5 0.6 0.9 1.3 1.5 1.2
⚙️ The Same Hill, Live — Two Real Engines in Your Browser
The Worked Example tab tells the story; this tab runs it. Both models below are complete, verified input files executed by genuine compiled engines — EPA SWMM 5.2 (Build 5.2.2) and OWA EPANET 2.3.5 — embedded in this page as WebAssembly. Nothing leaves your browser.
Engine: EPA SWMM 5.2 (Build 5.2.2), WebAssembly build.
Honest label The current EPA desktop release is 5.2.4 (Aug 2023); 5.2.2 is the newest engine published as a browser build. The deltas are bug fixes, not solver changes.
Engine loads on first run.
Engine: OWA EPANET 2.3.5 via the epanet-js engine build.
OWA 2.3 The version shown after load is read live from the engine with EN_getversion — not a label taken on faith.
Engine loads on first run.
▶️ Run the Models
24 simulated hours each. SWMM takes a few seconds — 17,000+ dynamic-wave steps at Δt = 5 s; EPANET finishes in a blink (~300 quasi-steady solves). If WebAssembly is blocked in an embedded preview, use the deployed copy.
🌧 SWMM Results — the Wet Well Drives the Pump
Chart data as a table
Downsampled for reading — the full series is in the downloadable .rpt and .out.
Raw .rpt written by the engine
🚰 EPANET Results — the Tank Drives the Pump
Chart data as a table
Downsampled for reading — the full series is in the downloadable report.
Report written by the engine
🔄 The Inversion, Measured
—
—
📈 Same Curve, Two Operating Points
Both files carry the identical three-point characteristic — 62 ft shutoff, 300 GPM @ 48 ft, 600 GPM runout @ 25 ft — yet the engines report different pump flows, because the static lifts differ: the SWMM wet well (water at el. 92–96 ft) pushes to an outfall at 128 ft (≈ 32–36 ft of lift → ≈ 440 GPM), while the EPANET source at 90 ft fills a tank riding at 133–141 ft (≈ 43–51 ft → ≈ 290 GPM). One curve, two systems, two operating points — read them off the charts above.
❓ EPANET Questions → SWMM5 Answers
Common EPANET scenarios explained through your SWMM5 experience: