Tracking cumulative length (stationing) for a branched water network

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


How can I create a pipe field/attribute for cumulative pipe length, for a branched system? For example this would help in a branched system where you may want to use a certain diameter pipe for a certain distance from the source.


Looking at cumulative length (stationing / distance from source) may be useful for rural, branched systems, but most WaterCAD/WaterGEMS models would not be able to use such a feature as they tend to be more complicated, with looping and flow direction that changes (for example a tank filling or draining). 


If you simply want to know how far a specific element is from the source, you can select that element with the "Trace upstream" query in Network Navigator, select the element, open a flextable on that selection, then look at the statistics table on the "Length" column.

If you need to have a field in the pipe properties/flextable to show the cumulative distance (stationing), you can use the following workflow:

1) First, create a User Data Extension to store the cumulative pipe length values. Use Length as the Dimension and Numeric Formatter

2) Compute the model.

3) Create a new flextable with label, start HGL and "length". To do this, open the Flextable manager, right click on "tables - hydraulic model", choose New and select Pipe as the type and add the fields.

4) Create a Selection Set for the full branch of interest: from the upstream-most point to the downstream end of a branch. You can use Network Navigator queries to help, such as "Find Shortest Path".

5) Double click the selection set to select the elements, then right click on the new table in the Flextable manager and choose open on selection

6) Sort Descending on Start HGL to order the table from upstream to downstream

7) Use the button in the top-left corner of the flextable to export to CSV

8) Open the spreadsheet in Excel, add a column for cumulative length, then create a function to apply to all cells, to add the respective row's length value to the previous value of cumulative length. For the first cell, start with the "station" corresponding to that first pipe. This might be more than the length of that first pipe if for example your selection set starts with a pump (due to the HGL sorting) and you need to add the length of piping between the pump and the upstream source.

9) Save the file to XLS or XLSX format.

10) Set up a ModelBuilder connection to the spreadsheet, mapping to the Pipe table type. Use label as the key field and map the new cumulative length field to the new user data extension.

11) Repeat steps 4-10 for any other downstream branches. You can continue to include all the way up to the same common source, as the subsequent ModelBuilder runs will apply the same cumulative distance to those pipes that are common to each branch.

See Also

Related Forum discussion