Fixing problems
What EPANET's common errors and warnings mean in plain language, and how the Problems window and Model Check help you fix them.
EPANET reports trouble with short codes such as "Error 233" or "WARNING: Negative pressures". PipePilot turns these into rows you can act on, each with the cause, numbered steps to fix it, and a Zoom to button for every object involved.
The Problems window
Open it with Project > Model Check... (it opens on the Model check tab) or Report > Problems... (it opens on the Last run tab).
- Model check looks at the network before you run it and re-checks after every edit. It catches the mistakes that stop EPANET running, or let it run and give nonsense.
- Last run reads what EPANET reported in the last run. Repeated lines are folded into one row, so forty "disconnected" lines over a day become one row listing the junctions and the times.
Rows are sorted errors first (red), then warnings (amber), then notes (blue). Click a row to open it. Open Status Report shows EPANET's original text, and Run analysis reruns from the window.
What Model Check looks for
| Check | Why it matters |
|---|---|
| No reservoir or tank | Every network needs at least one source to fix the head (error 224). |
| Nodes with no links | EPANET refuses to run (error 233). Often left over from a deleted pipe or a misclick. |
| Part of the network has no reservoir or tank | Junctions joined to each other but not to any source get no water; EPANET reports them disconnected or fails with error 110. |
| Junctions at elevation 0 | Usually the elevation was never entered; pressure there is too high by the missing ground level. |
| Nodes on top of each other | A pipe drawn to a new node instead of the existing one looks connected on the map but is not. |
| Bad tank levels | Minimum, initial and maximum levels must be in that order (error 225). |
| Zero diameter or zero length | EPANET rejects the pipe (error 211). |
| Diameters look like inches in a metric model | Values of 48 or less in an LPS project are probably inches. Multiply by 25.4. |
| Very small or very large diameters | Under 50 mm or over 3000 mm in a metric model is usually a typo. |
| Pipes shorter than 0.1 | Very short pipes next to long ones make the equations hard to solve. |
| Hazen-Williams C outside 50 to 160 | Usually a Darcy-Weisbach roughness or a Manning n entered under the wrong formula. |
| Pump with no curve and no power | A pump needs one or the other (error 226). |
| Pump with a single-point curve | EPANET invents the rest of the curve; results away from the design point are guesses. |
| IDs EPANET cannot save | IDs with spaces, semicolons or quotes, or longer than 31 characters (error 252). |
| Single period run with patterns | Total Duration is 0, so demand patterns, tank filling and pump controls are not simulated. |
Common warnings from a run
A warning means the run finished but some results need checking. These are the ones you will meet most often:
| EPANET says | In plain words | What to do |
|---|---|---|
| Negative pressures | Some junctions have pressure below zero. EPANET still delivers their full demand, which cannot happen, so those results are not physical. | Check junction elevations first (a mix of feet and metres is the usual cause), then undersized or closed pipes and pumps that are off. Switching Demand Model to PDA in the analysis options shows how much water those junctions would really get. |
| System disconnected | Junctions with demand have no open path to any source at this time. | Follow the pipes back to the source; look for Closed pipes, valves and pumps, controls that close them, and tanks that have emptied. |
| Pump cannot deliver head | The system needs more head than the pump's shutoff head, so EPANET switched it off for that time. | Compare the pump curve with the lift needed; check tank levels and elevations either side, and the pump direction. |
| Pump exceeds maximum flow | The pump runs past the end of its curve; its head and energy results are extrapolated. | Check what it delivers into; add the real maximum-flow point to a single-point curve. |
| Valve cannot deliver flow or pressure | There is not enough head upstream for an FCV, PRV or PSV to meet its setting. | Check the setting against the pressure available upstream, and that the valve points downstream. |
| System unbalanced | EPANET could not converge within the maximum number of trials at this time. | Look for links that keep switching status; raise Maximum Trials (200 is common); check impossible pump curves and valve settings. |
Common errors
An error stops the run. The ones a new modeller meets first:
| Error | Meaning | Fix |
|---|---|---|
| 110 | The hydraulic equations cannot be solved. | Fix any "disconnected" warnings before it; run Model check for orphan nodes and groups with no source; check pump curves and directions. |
| 200 | One or more errors in the input file. | Each problem is listed on its own line naming the section; fix the first one first. |
| 203 / 204 | A link, control or other item names a node or link that does not exist. | Check the spelling of the ID, including upper and lower case. |
| 211 | A pipe has a length, diameter or roughness of zero or less. | Enter real values; remember diameter is in mm for metric flow units. |
| 215 | Two objects of the same type share an ID. | Rename one of them. |
| 219 / 220 | A control valve is connected straight to a tank or to another valve. | Put a short length of pipe between them. |
| 223 / 224 | The network is too small or has no reservoir or tank. | Add a source and connect it. |
| 225 | A tank's levels are out of order. | Set Minimum Level, then Initial Level, then Maximum Level, each no higher than the next. |
| 226 / 227 | A pump has no curve, or a curve EPANET cannot use. | Give it a head curve whose head falls as flow rises, or a power value. |
| 233 | A node has no links. | Connect it to the network or delete it. |
Codes not listed here are still explained in the Problems window, which carries EPANET's full catalogue of error and warning codes.
A routine for any failed run
- Open Project > Model Check... and fix every red row.
- Run again. If it still fails, open Report > Problems... and read the Last run tab from the top.
- Fix the first problem first: later ones are often caused by it.
- Use Zoom to on each object, and read its values in the Property Editor.
- When the run succeeds with warnings, treat each warning as a question about the model, not as noise.
