Working with Demands in WaterGEMS and WaterCAD

Product(s): WaterGEMS, WaterCAD
Version(s): All
Area: Layout and Data Input


What are the different options for entering and viewing demands and how do they work?


When designing a water distribution system, demands are allocated on nodes. A node can be a junction, a customer meter or in some cases, even a tank. A demand represents water requirement at a location and drives the hydraulics of the network. When demands are applied at nodes, they can be either “fixed” or vary over time. If a demand varies over time, the factors by which it would vary over time are available as multipliers in a pattern. This pattern can be applied to the demand and would be considered at different time steps during an Extended Period Simulation (EPS).

This article provides details on the different ways demands and patterns can be applied and viewed in a hydraulic model.

Table of Contents

Assigning Demands

The two main types of demands are;

Demand (Base) This is the base demand, which is usually applied at a junction, customer meter, hydrant, tank. This demand is usually your ‘average daily demand’. An average daily demand is the average water requirement for the day at that node.
Unit Demand A unit demand can be a per capita demand based on population, count or area. This value is usually considered as per standards followed and may change from region to region.

In conjunction with these demands, there are patterns that need to be specified to govern how the demands would be applied in the hydraulic model;

Fixed A fixed pattern means that the demand would be constant throughout the simulation.
Pattern If any hydraulic pattern is specified with the demand the same would be applied throughout the simulation.

Within patterns we have hourly, daily and monthly factors. They are elaborated as below;

Hourly Patterns This pattern signifies the hourly variation in demand. Usually the diurnal curve is represented here. The multipliers defined would be multiplied by based demand and the resulting demand would be considered at the corresponding time. Example: If junction J-1 has base demand of 10 L/s and as per the pattern in the above snapshot the multiplier for time 4 hours is 0.5. Hence the resultant demand applied at 4 hours would be 0.5*10 = 5 L/s
Daily Patterns

Daily patterns signify the day to day changes in the demands. Usually, extended period simulations run for a day i.e. 24 hours, but in some cases your simulation time may be more if you want to account for daily changes. In such cases daily factors can be used which would be applied for particular days.

Monthly Patterns

Similar to daily patterns, these are multipliers which are applied for months. Usually these patterns are applied at a reservoir level where there could be seasonal changes in HGL over the year.

There are different ways in which demands can be applied in a model. A few things would however remain constant such as;

  • Demands are always applied at node elements (junctions, hydrants, customer meters or tanks)
  • Patterns would be associated with a demand based on the simulation.

In a typical water distribution network, there are several ways in which we can apply a demand. We will look at an example in which a demand of 5 L/s has to be assigned to a junction (J-1) with a pattern for 24 hours.

Option 1: Assign Demands Individually to Nodes

In the drawing pane search for J-1 and open up the “Demand Collection” under the junction J-1 properties.

Click on the ellipsis and the demands dialog box opens up;

Here we enter the “Demand (Base)” and assigned the pattern “24 x 7” which has to be created before it is assigned.

This method is suitable for small models where you can individually assign demands to the different nodes.

Option 2: Assign Demands from the Demand Control Center

Navigate to Components Tab > Demand Center > Demand Control Center.

This opens up the Demand Control Center where we currently see only junction J-1 for whom we have assigned the demand of “5 L/s” and the “24 x 7” pattern.

This option is most suitable if you have multiple nodes or junctions in your model and all the demands and their patterns are visible in a tabular manner. This saves time from the manual operation of locating and individually assigning demands to the nodes.

For more information on this see here: Unit demand control center Vs. Demand control center

Option 3: Assign Demands from the Demand Alternative

Navigate to Home > Alternatives and expand the Demand alternative and open “Base Demand”

Once opened the details of the junction and the various types of demands currently applied to the node are visible. This can be useful if a single node has multiple demand types associated with it.

Editing demands by going to the Demands alternative is mainly done to control which demands will be active in a particular scenario. Often models are run with multiple cases in different scenarios and different demands are applied to simulate these results. To achieve this, you can control which demands are active in a particular scenario.

See more on this here: Scenario and Alternative Management

Option 4: Assign Demands via ModelBuilder or LoadBuilder

A good way to assign demands quickly for large models is by importing them via ModelBuilder / LoadBuilder. This method is used when you have large models and the demand data is available in either a spreadsheet format or in a shapefile format. See the articles below which discuss these options in detail below;

Importing Demand and Loading Patterns using ModelBuilder

How do each of the LoadBuilder methods work?

It’s a good idea to first decide what kind of demands one needs to work with in their system and what is the best way to get them into the model. The above options can guide on the ways to enter demands for simulation.

You can also consider importing the individual customer meters and then associating them to the nearest pipe or junction. See:

Viewing Demands

Once demands are entered, there are multiple ways to view them. The important thing to understand is that, when entered in junctions, multiple demands per junction are supported, which means they are nested within a "collection". In the junction properties you will see the "Demand Collection" field which needs to be opened to see the list of one or more demands for that junction.

Option 1 - Demand Collection Window

When modeling demands at junctions, the first option to view demands is to expand the demand "Collection" found in the junction properties. This opens a separate Demand window where you can see one or more demands for that junction. This step is necessary since junctions support multiple demands. For example a junction might represent some residual demands plus some industrial demands, each with their own separate demand pattern.



If you need to view demand information for multiple junctions without having to drill into the demand collection each time, simply keep the Demands window (second image above) open while you select other junctions. As you select different junctions, the Demands collection window will automatically update to show the details of those demands.

Option 2 - Computed Demand

For junctions with one or more demand configured in the demand collection, after computing the model you can view the calculated demand. This is shown as the "Demand" field within the "Results" section of the junction properties. This can also be shown in Flextable view.

Note that this calculated demand is based on all demands entered in the junction properties, associated with the junction via any attached customer meters, any assigned emitter coefficients, plus any demand multipliers based on the assigned demand pattern, or demand adjustment groups calculation option. Use the Time Browser to select the desired timestep for an EPS.

The calculated demand can also be annotated or color coded via Element Symbology.

Option 3 - Demand Control Center

For a tabular list of all individual demands on junctions, open the Demand Control Center from the Components ribbon.

See also: Unit demand control center Vs. Demand control center

Option 4 - Customer Meter Flextable

If you choose to model you demands in individual customer meter elements, you can use the Customer Meter flextable to view them in tabular form.

Additionally, you can connect your customer meters to a data source (such as a database or spreadsheet) that contains more information and view it in the External Customer Meter Data Manager. For example this could show the customer name, address, etc. See more here: Customer Meter Elements and the External Customer Meter Data Manager

See Also

Forum Post - Pattern usage questions