GeoPilotPipePilot DocumentationOpen PipePilot

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.

Run the Model check before every first run of a new or imported network. Most failed runs come from a handful of input mistakes it finds in seconds.

What Model Check looks for

CheckWhy it matters
No reservoir or tankEvery network needs at least one source to fix the head (error 224).
Nodes with no linksEPANET refuses to run (error 233). Often left over from a deleted pipe or a misclick.
Part of the network has no reservoir or tankJunctions joined to each other but not to any source get no water; EPANET reports them disconnected or fails with error 110.
Junctions at elevation 0Usually the elevation was never entered; pressure there is too high by the missing ground level.
Nodes on top of each otherA pipe drawn to a new node instead of the existing one looks connected on the map but is not.
Bad tank levelsMinimum, initial and maximum levels must be in that order (error 225).
Zero diameter or zero lengthEPANET rejects the pipe (error 211).
Diameters look like inches in a metric modelValues of 48 or less in an LPS project are probably inches. Multiply by 25.4.
Very small or very large diametersUnder 50 mm or over 3000 mm in a metric model is usually a typo.
Pipes shorter than 0.1Very short pipes next to long ones make the equations hard to solve.
Hazen-Williams C outside 50 to 160Usually a Darcy-Weisbach roughness or a Manning n entered under the wrong formula.
Pump with no curve and no powerA pump needs one or the other (error 226).
Pump with a single-point curveEPANET invents the rest of the curve; results away from the design point are guesses.
IDs EPANET cannot saveIDs with spaces, semicolons or quotes, or longer than 31 characters (error 252).
Single period run with patternsTotal 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 saysIn plain wordsWhat to do
Negative pressuresSome 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 disconnectedJunctions 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 headThe 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 flowThe 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 pressureThere 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 unbalancedEPANET 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:

ErrorMeaningFix
110The 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.
200One or more errors in the input file.Each problem is listed on its own line naming the section; fix the first one first.
203 / 204A 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.
211A pipe has a length, diameter or roughness of zero or less.Enter real values; remember diameter is in mm for metric flow units.
215Two objects of the same type share an ID.Rename one of them.
219 / 220A control valve is connected straight to a tank or to another valve.Put a short length of pipe between them.
223 / 224The network is too small or has no reservoir or tank.Add a source and connect it.
225A tank's levels are out of order.Set Minimum Level, then Initial Level, then Maximum Level, each no higher than the next.
226 / 227A 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.
233A 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

  1. Open Project > Model Check... and fix every red row.
  2. Run again. If it still fails, open Report > Problems... and read the Last run tab from the top.
  3. Fix the first problem first: later ones are often caused by it.
  4. Use Zoom to on each object, and read its values in the Property Editor.
  5. When the run succeeds with warnings, treat each warning as a question about the model, not as noise.