Set units: ? Hide this line
Length and map coordinates Diameter Elevation and head Pressure Flow Velocity Head loss gradient Water age Roughness
▲
Move that point to:

X: -- Y: --
© OpenStreetMap contributors © Mapbox © OpenStreetMap © Maxar Improve this map
Visibility

Nothing is docked here yet. Everything that belongs to the whole project is in Settings.

Profile along a path
Ground surface Hydraulic grade line Pressure
Properties
Find and replace
Settings

Visualization

Node symbology
Link symbology
Node and link

Map and page

Appearance
Page

Assets

ID prefixes
Values

Calculation

Units
Time
Hydraulics
Energy
Quality

Credits

Libraries
Fire flow analysis
Pump energy report
Scenario comparison
EPANET run report

	
Fire flow run
New project
Coordinates ?
Units ?
About

LibreWaterNet.org

You are loved and cherished forever, you have nothing to fear, and you are not ruining everything.

Licensed under the GNU General Public License v3.0 or later.
Copyright © 2009–2026 Thomas Gail Haws

Credits

2026-09-13 02:04 UTC · 8733bd7a

Notes

How it is solved
The EPANET solver works this network out. Set a total run time and every reporting step is calculated in turn: tanks fill and drain, demands follow their patterns, and the toolbar plays the run back.
What it does not do
Water quality is modeled: water age, source trace, and a chemical that reacts in the pipe walls and in the body of the water. Surge and water hammer are not: every answer here is for water already flowing steadily, not for the pressure wave when a valve slams.
Saving projects
Every project is a tab, and every tab is saved in this browser as you work. Clearing your browser data deletes them all, so keep your work in a file: File, Save as. An asterisk on a tab means it holds changes that are not in a file. Nothing is ever written to a file unless you ask. In some browsers a project connects to the file you save it to, and File, Save writes back to that same file from then on; in others no connection is possible, so Save is disabled and only Save as is available. When a project file is kept on a shared drive, this page tells you if a colleague already has it open, so that two people do not write over each other.
Pump curve
A pump follows H = H₀ − aQ^b, where H is the head the pump adds and Q is the flow through it. Enter one, two, or three points from the manufacturer’s curve. Three points, the head at zero flow, the normal working point, and the point of highest flow, fit H₀, a and b directly, and follow a published curve most closely. Two points fit a parabola (b = 2) with its peak at zero flow. One point uses a common rule: the head at zero flow is 1.33 × the head you enter, and the highest flow is 2 × the flow you enter, which again gives b = 2. A pump with no points entered adds no head at all. The curve is not cut off where the head reaches zero, so asking a pump for more flow than its curve can deliver gives a negative head. The fix is a bigger pump or a smaller demand, not a different curve fit. A curve can hold more than three points, and every point you gave it is read.
Also on this page
A project can sit on real ground with a street map behind it. EPANET .inp files can be read in and written out. The bottom panel draws a profile along a route and lists the junctions. Assets can be colored by their results, and Find picks out every asset that matches a condition you set.
Color band boundaries stay the same
Color band boundaries are set when you choose a data classification method. They are not set again at each time step, because that would make the colors mean something new at every step, and that is not helpful for visualizing your system. EPANET works the same way. To get new boundaries, choose a method again or type your own boundaries.
Hazen-Williams constants match EPANET
In August 2026 the Hazen-Williams coefficient and exponent were changed to match EPANET. Head loss results differ from earlier versions of this page by up to 0.1 percent, which is far smaller than the uncertainty in the C value itself.
Which EPANET this page runs
The EPANET solver on this page is OWA-EPANET 2.3.5, released on 20 February 2025. EPANET is developed by Open Water Analytics, a community that works with the United States Environmental Protection Agency, which released version 2.2.0 in December 2019. The run report calls it 2.3.05 because the engine writes the last number in two digits. It reaches this page through epanet-js 0.9.0 by Luke Butler, under the MIT licence, and it runs inside your browser: your network is never sent anywhere to be solved.

May we save a one-digit cookie in this browser to remember that we have already counted this page? It records nothing about you and nothing you type. Without it we cannot tell your second visit from somebody else’s first.

Privacy notice Terms of use