Extended Period Simulation in EPANET: 24-Hour Runs
TutorialOctober 17, 20267 min read

Extended Period Simulation in EPANET: 24-Hour Runs

An extended period simulation (EPS) in EPANET solves the network at a series of times instead of one instant, so demand follows a daily pattern and tanks fill and drain. This guide turns a snapshot model into a 24-hour run and covers intermittent supply. You can follow it in PipePilot, a free browser workspace that runs the EPANET 2.3 engine and reads and writes standard .inp files.

What is the difference between a snapshot and an extended period run?

A snapshot solves one set of demands, and an extended period run repeats the solution through time while tracking the water in each tank. The switch is DURATION in the [TIMES] section: its default of 0 means a snapshot, and any longer duration makes an EPS. Between solutions EPANET advances the clock, takes new demands from the patterns, adjusts tank levels from the current flows and checks the controls. A snapshot still suits a check at one demand level, such as the design peak hour.

Which time options does a 24-hour run need?

A 24-hour run needs a Total Duration of 24:00; the step options already default to one hour. These defaults are from the EPANET 2.2 user manual.

Option ([TIMES] keyword)DefaultWhat it controls
Total Duration (DURATION)0Length of the run. 0 is a snapshot.
Hydraulic Time Step (HYDRAULIC TIMESTEP)1 hourHow often a new hydraulic state is computed.
Pattern Time Step (PATTERN TIMESTEP)1 hourHow long each multiplier lasts, for every pattern.
Reporting Time Step (REPORT TIMESTEP)1 hourHow often results are saved.
Start Clock Time (START CLOCKTIME)12:00 AMThe time of day when the run begins.

If the hydraulic step is longer than the pattern or reporting step, EPANET cuts it to the shorter of the two. EPANET also takes shorter steps by itself when a tank becomes full or empty, a control acts, or the next pattern or reporting period begins, so a tank cannot run past its limits for the rest of an hour.

How does a demand pattern change demand through the day?

A demand pattern is a list of multipliers, and at each time EPANET multiplies a junction's base demand by the current one. All patterns share the pattern time step, each can have its own number of periods, and a run that passes the end of a pattern wraps round to its first value.

EPA's Net1 example shows both rules. Its pattern 1 has 12 multipliers at a 2-hour step, so one pass covers a day. Its junctions name no pattern, so they follow the default pattern: the one named in [OPTIONS], or pattern 1 if none is named. Change the pattern step to 1 hour to fit a new 24-value pattern, and Net1's pattern now covers 12 hours and repeats twice a day.

For an EPS, set the base demand to the average demand and let the pattern supply the peaks, with multipliers that average 1.0 (Net1's sum to 12 over 12 periods). A junction with a base demand of 2 L/s and a peak multiplier of 2.5 draws 5 L/s at the peak and still uses 2 × 86,400 s = 172.8 m³ a day. If the base demand already includes a peak factor, the pattern applies the peak twice.

How do tanks fill and drain in an extended period run?

A tank's level changes at each step by its net inflow divided by its plan area. A cylindrical tank 15 m across has a plan area of about 176.7 m², so if 20 L/s more leaves than enters for an hour, it loses 72 m³ and drops about 0.41 m.

Levels are heights of water above the tank bottom, kept between the minimum and maximum you set. When a tank is empty, EPANET closes the links that would drain it; when it is full, it closes the links that feed it. EPANET 2.2 added an option to let a full tank overflow instead; the default is no overflow.

A run that starts with a full tank can look fine for 24 hours while the level falls a little each day. Run 48 hours or more and check that each tank ends the day near where it began. For pumps switched on tank level, see how to model pumps and pump curves in EPANET.

How do you find the lowest pressure over the day?

Compare each junction's pressure in every reporting period with the minimum service pressure your utility or regulator sets. The worst period is not always the peak demand hour, because a tank that drained through the morning lowers the head for the zone it feeds.

Setting STATISTIC to MINIMUM in [TIMES] reports only the lowest value of each result over the run. Under the default demand driven analysis, EPANET also warns when a junction with a positive demand has a negative pressure. Results are saved only at reporting times, and the manual notes that events between them, such as a tank closing because it is empty, are not reported, so a shorter reporting step catches more.

In PipePilot, View > Query with Pressure Below your limit highlights the failing junctions and counts them, and the count updates as you move the Time slider. Report > Table can list nodes at one period with the same filter, and a Time Series graph shows one junction across the run. PipePilot does not let you change the Statistic option, so it always keeps the full time series.

How do you model intermittent supply in EPANET?

You model intermittent supply with a pattern that is zero outside the supply hours, plus pressure driven analysis so that each junction receives only what the pressure can deliver. It is common in parts of South Asia, Africa, Latin America and the Middle East: Taylor, Slocum and Whittle (2018, PLOS ONE) state that intermittent supplies deliver piped water to one billion people, and Totsuka, Trifunovic and Vairavamoorthy (2004, WEDC Conference) give examples from Asian cities, Nigeria, Kenya, Peru and the Middle East.

The pattern

Totsuka and colleagues describe demand in these networks as the most water consumers can collect while the supply is on, an amount that depends on the pressure at the outlet. One way to represent households that store water keeps the daily volume and squeezes it into the supply hours, so the multiplier inside them is 24 divided by the number of supply hours. With 4 hours of supply it is 6.0, and the junction above draws 12 L/s for 4 hours, the same 172.8 m³. Pressures fall sharply at such flows.

The demand model

Demand driven analysis delivers every demand in full whatever the pressure, which the same paper names as the basic problem with conventional analysis of intermittent networks. Pressure driven analysis, added in EPANET 2.2, delivers the full demand above a Required Pressure, nothing below a Minimum Pressure, and a power-law share in between. Their defaults of 0.1 and 0 give almost every junction its full demand, so set Required Pressure to the pressure at which a connection on your scheme gets its full flow. In EPANET 2.2 these values apply to every node.

What EPANET leaves out

EPANET assumes all pipes are full at all times. An intermittent network drains between supply periods and refills when the valves open, and Taylor and colleagues describe a flushing phase before steady supply, so an EPANET run covers only the pressurised part. Filling needs other methods, such as the model of De Marchis and colleagues (2010, Urban Water Journal) or the partial-flow analysis of Mohan and Abhijith (2020, Journal of Water Resources Planning and Management).

PipePilot's Project > Set up a 24-Hour Run window builds the intermittent pattern from supply windows in whole hours, with a daily volume factor for when supply falls short (0.8 delivers 80% of the daily demand). It does not model pipe filling, and pressure driven analysis is set on the Hydraulics page of Project > Analysis Options.

How do you set up a 24-hour run in PipePilot?

Open PipePilot in your browser (free to use, nothing to install), load your .inp file or the EPA Net1 sample from File > Start / Sample Networks, and choose Project > Set up a 24-Hour Run to set the duration, pattern and time steps in one window. The 24-hour and intermittent supply runs docs page covers each step, and Running and reading results covers the graphs, tables and queries.

Share
JG

Jagadeesh Gaddam

CEO, Smart Bhujal

Try this in GeoPilot

Run the analysis described in this article with one prompt. No setup required.

Open GeoPilot

Related posts