Running a Criticality Analysis

Product(s): WaterGEMS, WaterCAD
Version(s): CONNECT Edition, V8i
Area: Modeling


The purpose of this TechNote is to discuss the Criticality feature available in WaterGEMS and WaterCAD. Additional information can be found in the Help menu for the products. There is also a Quick Start Lesson available for Criticality under Help > Quick Start Lessons.


Criticality provides the user with a flexible tool to evaluate and identify the most critical elements in a water distribution system. Using this process, the user can shut down individual segments of the system and view the results on system performance. This is simulated in a single run rather than in a series of different scenarios.

A variety of indicators are reported for each outage during the criticality analysis. Depending on the type of run, the criticality analysis can report the demand shortfall, volume shortfall, or pressure shortfall in the distribution system for each segment outage.

Starting with WaterGEMS CONNECT Edition Update 2, when you create a new Criticality Study, you will be able to choose between Critical Pipes/Segments and Critical Valves. Critical Valves enables you to determine which valves are most critical in water delivery - those that would result in the largest demand shortfall if they failed and could not be operated. See more: Critical Valves Analysis

Earlier versions will only have the ability to run an analysis based on critical pipes/segments. 

Subsections of the Criticality Tool

Segmentation - This is defined as the pipes that are closed to find the outage segments. This is typically the pipes (full and partial) between values that closed. 

Outage segments - when you click on each segment listed in there, it highlights that segment in blue (in the drawing pane) and any downstream, disconnected segments in red. So if a particular segment that you click on would cause a downstream segment to be disconnected from a source when all it's bounding valves are closed, that disconnected segment shows up as red.

Criticality - when you click each segment in there, it will show you information on the demands that are not met when that segment's bounding valves are closed. For example, if the closure of a particular segment would cause half of the demands in the model to be disconnected, then when you click on that segment in the list, it will show you 50% as the shortfall. Note that the option "run hydraulic engine" exposes some additional constraints. For example, if you enter a pressure constraint of 20 psi, then if there are any demand nodes whose pressure falls below 20 psi when that segment is closed, then those demands are considered to be not satisfied, and the "shortfall" will be effected accordingly.

Getting Started

Before conducting a criticality analysis, the segments to be removed from service during the analysis must be identified. Often this will be defined by the valves in the system, wherein a closed valve will disrupt service to parts of the model. Included in this, the user must identify which types of valves will be used in the analysis. The user will also have to decide which scenario will be used for the analysis.

Once identified, this information will be entered into the Criticality manager. The steps to do this and compute the criticality analysis are detailed below.

Running a Criticality Analysis

Segmentation Analysis

The Criticality manager can be opened by going to Analysis > Criticality. This will open the following dialog:

Next, click the Options tab. In this section, you will identify how the segments in the analysis will be defined.

The recommended procedure is to place isolation valves on the pipe elements. If you don’t have sufficient data on the location of isolating valves, each pipe element can be isolated. In this case, each distribution segment consists of a single pipe, not including the nodes at each end. You can set this up by way of the “Consider Valves?” option at the top of the page. By default, this item is checked. When it is checked, the segments are defined by the valves. If it is unchecked, the pipes are isolated individually. 

When the “Consider Valves?” option is selected, the default status of the valves is available. By default, these will be set to “Always Use.” If you have some valve types that you don’t want used in the criticality analysis, change this field to “Do Not Use.” Note: if you don’t have a given valve type in the model, you can leave this with the default setting.

There is a valve override section at the bottom of the page. This item is used in cases where an individual valve will not be considered in the analysis, such as if the valve is broken open. Once the options are set as needed, click the New icon in the upper left and choose the scenario you will be using in the analysis. Once this is done, you will have to select the segmentation scope of the analysis. You can either choose a subset of the model or the entire network. With Subset is selected, you can select the subset by clicking the ellipsis button. If you choose Entire Network, all elements in the model will be used.

Next, click the green Compute icon. You may be prompted about update valve placement data. Typically, you will click Yes for this. The criticality analysis will then run. The results will be available in the Segmentation Results tab.

In the middle pane will be a list of all of the segments. In the right pane, you will see the distribution of segments and their properties, such as the number of pipes in a segment and the number of affected nodes. The displayed results are governed by the highlight segment in the middle pane.

Note: this is true of viewing results for the Outage Segments and Criticality sections below as well.

You can view the segments graphically by clicking the Highlight Segments icon at the top of the middle pane.

If you minimize Criticality manger, you can then view the segments on the model itself.

Analyzing Outage Segments

Once the segmentation is completed, you then do an outage analysis. This allows you to determine which segments are affected when a certain valve is closed. To do this, highlight “Outage Segment” in the left pane and select the green Compute icon.  

The results from this section will show you how an outage affects a model, including the number of affected elements (see below for what "affected" means). You can also view these outage segments graphically in the model. Highlight one of the outage segments in the middle pane and select the Highlight Segment icon. When you minimize the window, the outage segment chosen will be highlighted.

If you have customer meters in the model, any customer meter connected to a pipe or node in the outage segment will be included. However, if the customer meter is attached to one of the closed pipes (i.e., one of the pipes in the segmentation), it will not be included in the outage segment.

Criticality Analysis

The final step is to see how the outages affect the demand. This is the most important function of the criticality analysis. It will determine if the system can supply the needed demand if a section is closed, and if it cannot, how much demand shortfall there is as a result of the closure.

Highlight “Criticality” in the left pane. At the top of the right pane is an item called “Run Hydraulic Engine?” If this is unchecked, the model will check the connectivity of the model when certain segments are closed. If you select the green Compute icon, you will be able sort the results to see which outage segments will cause the largest disruption by looking at the “System Demand Shortfall” column.

If you place a check in the “Run Hydraulic Engine?” icon, the program will hydraulically compute the model as well. If the demands are not met in that segment, the check box in the column “Are all demands met?” will not be checked.

If you have customer meters in the model, the affected customer meters will include all customer meters in the outage segment and if the customer meter is associated with a pipe or node that is part of the pipes that are closed.


  • Demand nodes that are fully disconnected as a result of a segment being closed, are assumed to be zero (even when using the "run hydraulic engine" option).
  • Pressure Dependent Demands (PDD) are often used in conjunction with Criticality, as this enables the demands to vary as the flow varies. For example when pressure in the system drops as a segment is taken out of service, the demand will drop accordingly.
  • If you are using the "run hydraulic engine" option but are not using PDD, the numerical solver will satisfy the full demand, even if it is below the pressure threshold. (with the exception of fully-disconnected demands which are assumed to be zero in such cases as mentioned above) This can be considered conservative (plus, it would not make sense to assume a zero demand in such cases either.) If you would like the demand to be reduced if the pressure drops too low, use the PDD approach.
  • When the time analysis type for the criticality scenario is set to EPS, the criticality results are based on all timesteps in the EPS.
  • The pressure-related Criticality results ("Node with the Largest Pressure Shortfall", "Pressure Demanded at Worst Node" and "Pressure Supplied at Worst Node") are in reference to nodes with demands, and exclude demand nodes inside the segment itself.
  • Even if demand nodes other than those in the segment itself are disconnected, it is possible for the pressure to still be above the threshold (though usually they will be zero)
  • Due to the large negative pressures that can sometimes occur for disconnected elements, the pressure results such as Maximum pressure shortfall may not be as significant compared to other results such as demand shortfall.
  • Fixes and Enhancements
    • Starting with version and greater (and a patch for - contact technical support), the list of Affected Elements and Affected Customers also includes those that have pressure below the set threshold (when "run hydraulic engine" is checked)
    • Starting with version, the list of Affected Elements contains all elements which at least for one time step are hydraulically disconnected during the criticality run. (earlier versions are based on the last timestep - see further below)
    • Starting with (and a patch for, improvements have been made to the handling of PDD during Criticality when running the hydraulic engine.
    • Starting with 10.03.01.XX (and a patch for, sorting the "affected customers" column now works correctly.

Do outage segments consider valves and pipes that are already closed in the model?

No, outage segmentation assumes that all of the flow controlling facilities (valves, isolation valves) are open except for the segment in question.

Is there a downfall to not using isolation valves in a Criticality analysis?

When using isolation valves, you will generally have a higher demand shortfall than you would without isolation valves because the segments will be longer. 

Why does the Criticality analysis return zero segments when using the Subset Scope type?

See this article.

Why doesn't the "Affected elements" list elements that have demand/pressure below the threshold?

As of version and below, the "affected elements" tab in Criticality results shows elements that are completely cut off / hydraulically disconnected (and 100% demand shortfall, if demand exists on the node) when the segment is isolated. You can click the "zoom to segment" button at the top to identify and select the elements in the model. From there you can look at the individual elements, create a selection set, filter flextables or the demand control center on selection, etc. Starting with CONNECT Edition Update 3 and greater, the list will include elements / customers that are both fully-disconnected, as well as those that are below the pressure threshold.

Criticality hangs or displays incorrect list of affected elements

See: Criticality hangs or displays incorrect list of affected elements

When the pressure is below the threshold at a demand node, is the demand assumed to be zero?

If the low-pressure demand node is fully disconnected as a result of closing the segment in question, the demand is assumed to be zero. Otherwise, if you are using the "run hydraulic engine" option in Criticality but are not using Pressure Dependent Demands (PDD), the numerical solver will satisfy the full demand, even if it is below the pressure threshold. This can be considered conservative (plus, it would not make sense to assume a zero demand in such cases either.) If you would like the demand to be reduced if the pressure drops too low, use PDD.

See Also

Why does the criticality analysis return 0 segments when using the Subset Scope type?