A few examples of how Real Time Controls work in XPSWMM and XPStorm

This page contains the following topics:

RTC Directly Using Flow as the Control Parameter 

The following example uses RTCflow.xp file located on the Supplemental Sample Files page.


The link being subjected to RTC control is la5, the parameter being controlled is flow and the RTC control starts at 2:30am and ends at 8:00am. The RTC control takes 5 minutes to turn on (minimize) and 2 minutes to turn off (maximize). The minimum flow is 10% of the flow at the time step with the RTC condition changing from false to true. The maximum flow is 100% of the flow at commencement of last false to true change.

So, if the water elevation at mh a1 is >= 132.5 AND the water depth at mh b1 is >= 2.8 and the time is between 2:30am and 8:00am then the flow in link la5 will be restricted to 10% of its calculated value at the time step when the RTC control condition changes to true.

The following two dialogs indicate the required data to represent the control element (la5) and its two sensor nodes at (mh a1) and (mh b1)

The bottom half of the dialog (Control Properties section) is common for all sensors controlling the RTC element.

Sensor 1 Definition

Sensor 2 Definition

Results for Link to La5 without RTC applied.

Mh a1

Mh b1

Mh a5

Results for link La5 with the RTC applied

Link La5


Mh b1

Mh a5

After time 2:30am the RTC control commences operation. At that time the Levels at mh a1 and mh a5 are already above the test levels. The conduit la 5 reduces from its current flow rate to 10 % thereof over a ramp period of 5 minutes. (from 114 m3/s down to 14.5 m3/s). At 3:10am the level at mh a1 goes below 132.5. so the flow rate commences back up towards its original value of 114m3/s over a two (2) minute ramp time to 3:12am.

Between 3:12am and 3:14am the high and low flow peaks over two time steps is simply a reflection of the built up head at node mh a5.

After clearing this head difference between the upstream and downstream ends of link la 5 by 3:14am the flow then remains at 100% of natural flow to the end of simulation as mh a1 and mh a5 remain below the set elevation of 132.5 and depth of 2.8 respectively.

When using flow as a percentage it is important to only commence the RTC control after the flow has reached the amount from which you want to it reduced.

RTC Directly using Diameter as the Control Parameter

The following example uses RTCdia.xp

The following four dialogs provide all the data to describe the operation of RTC controls Gate-01 and Gate-02 with their respective sensors node02 - node 06 and node 04 - node 06.

RTC Element Gate01

Sensor Node02

Sensor Node06

RTC Element Gate02

Sensor Node 04

Sensor Node 06

Both links “Gate01” and “Gate02” are circular pipes with nominal diameter of 1.30m.

While the water levels are below their respective set maximums the pipes are effectively blocked by some form of gate within the pipe itself. In this example the closed position will still let through a small trickle flow representative of real conditions (diameter equal to 0.06m). When fully open the pipe diameter is set to the full 1.30m.

Opening and closing time in this example is set to 0.017 minutes or 1 second. This ramping time could be adjusted to match real gate movement conditions.

In this example it is also assumed that the RTC controls are operational over the full simulation period

Result for Gate 01 and Gate 02 without RTC applied.

Results at node02, node04 and node 06 without RTC applied.

Results for Gate01 and Gate02 with RTC applied.

Results for node02, node04 and node06 with RTC applied

RTC Directly Using Pump Speed as the Control Parameter

The following example uses RTCpump.xp

This example utilizes a pump RTC (utilizing pump speed) to redirect flows when the level of water at a specified node is exceeded.

In this example normal flow will be along the conduits “L1”, “L2”, “L3” to outlet “outo1”. However, if the water depth at node02 is higher than say 0.50m and the water elevation in node05 is still less than RL 2.00m –the pump in link “pump01” will turn on to redirect water away from link “L3” and through links “L4” and “L5” to outlet “outlet “out02”.


Sensor Node02

Sensor Node05

Results for Pump01 without RTC applied

Results for Node02 and Node05 without RTC applied.

Results for L3 and L4 with RTC applied.

Results for Pump01 with RTC applied.

Results for Node02 and Node05 with RTC applied.

After the first time step of the simulation H2 is less than (<) 0.5 depth and H5 is less than (<) 2.0 elevation. Consequently the pump speed over 6 seconds ramps down to zero (0.0).

At time 13 minutes H2 >= 0.5 depth and H5 still < 2.0 elevation, so pump speed ramps from zero to 100.0 percent (%) of original value of 1.0 (i.e. pump turns on to maximum).

Between 13 and 21 minutes the pump speed alternates from zero 0% immediately after H5 > 2.0 elevation and back to 100% pump speed when H5 < 2.0 elevation. Note the pump speed is applied to the defined pump curve. Ramp on and off time is set at 6 seconds (0.1 minutes).

After 21 minutes the pump works at 100% pump curve speed to the end of simulation as H5 is always < 2.0, while H2 > 0.5 depth.

It should be noted that the actual head at H5 between 13 and 21 minutes oscillates around elevation 2.0 and in fact goes as high as 2.6. This is caused by the delayed head build up during the ramping times. This is common to control devices that do not instantaneously turn on and off and propagate surges to adjacent nodes. PID control technologies are often applied to control or optimize these oscillations. In practical terms some over-shoot in control level needs to be taken into consideration. The ramp times for on to off and off to on can play a significant role in the oscillation magnitude.

It is also important to have a smaller simulation time step than the ramp period.

PLEASE NOTE: Initial pump speed in pump dialog should be set to 1.0. This infers 1.0 times pump operating data.