***Note*** This blog was published on 04/18/2022 while still under review. The below material was edited to refer to earlier blogs and provide more context into the utilization of the propagation and substitution functions in the utility network.
Earlier this year, I walked through the core trace parameters and framework for the ArcGIS Utility Network (the trace blog can be found here); a complementary function of network behavior is how attributes can be propagated or substituted through a trace, update or export event in the utility network. Network Propagation is a function that is commonly used to represent a variable such as pipe pressure, line voltage or phase. In either case, there is a condition (pressure, voltage, phase) that is established as a network attribute at a controller and is pushed in the respective direction of the elements of the controlled network. For example, a pump that establishes a given pressure value can push that value to the connected pipes in the system. A Network Attribute is defined to not only persist the pressure value in the controller but also in other features in the subnetwork. A second network attribute is configured to enable the user to update or change the propagated network attribute at the device level and have that updated value propagated downstream.
You might ask what’s the difference between propagation and an attribute calculator or other function and network propagation. Traditional table calculations are a function of Sql performance across the native database framework, but network propagation takes advantage of the network index in its native binary form. For example, lets create a very simple subnetwork with a breaker, transformer, and a few lines. At this time, there are no energized phases.
To configure it as a subnetwork, the Circuit Breaker will be set as a network controller for the subnetwork, the lines will also be configured to connect to the appropriate terminals on the Circuit Breaker and Transformer. The below graphic shows that we have named our subnetwork redlands1 and the Set Phases value has propagated to set the new value for Energized Phases
This is a very simple example of how the Set Phases value was propagated to the Energized Phases value. There are three types of Functions that enable propagation and substitution for the utility network; they are Propagated_MIN, Propagated_MAX, and Propagated_BITWISE_AND.
Propagated_MIN which sets a propagated value based upon the minimum value encountered. An addendum to the Propagated_MIN can be set with a greater or less than value. Using a downstream trace on an electric network where MOV represents a Network Attribute MOV which is assigned to a given field (https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/network-attributes.htm). An example of using the Propagated_MIN function could be found in networks where multiple voltage states might exist in a single tier. The example below uses a function: MOV PROPAGATED_MIN IS_GREATER_THAN 15 MAXVOLTAGE.
The trace begins with a MOV attribute on each edge and junction element. The first MOV value at the controller is set as the initial propagated value until the 25kV value is reached, which changes the propagated value to 25kV. The 25kV value is continued regardless of higher MOV values until it reached the device set at 15kV which is established as a de-energized state in the context of the function operator and sets the propagated value at 0.
Propagated_MAX sets a propagated value based upon the maximum value encountered. An addendum to the Propagated_MAX can be set with a greater or less than value in a manner similar to the previous example. Next, we will explore the function: MOV PROPAGATED_MAX IS_LESS_THAN_OR_EQUAL_TO 30 MAXVOLTAGE.
This downstream configuration directs the system to continue to propagate the highest value as long as MOV remains less than 30kV. The location where 35kV exists acts as a barrier and returns de-energized values for the remaining features.
Propagating conductor phase values requires a bit of a different approach. The Propagated_BITWISE_AND function utilizes a bitset that represents the various conductor phase configurations are represented as three bits together with 8 for Phase N (neutral), 4 for phase A, 2 for phase B, and 1 for phase C; so a state where ABCN is displayed it would be represented as the value 15. if only AB configured that value would be 6, but you have the ability to change the bit values and description when you set the coded domain values of the network attribute.
We can use a downstream trace to show how phase propagation can be configured to update phase configurations based upon Phases Current PROPAGATED_BITWISE_AND INCLUDES_ANY ABC PHASEENG (where ABC PHASEENG = 15). This indicates that the traversal will continue as long as any phase is in an energized state along the lines.
In this example Phaseeng is the attribute updated by the propagation event, the device representing the transition from ABC to AC resets the propagated value, while the final device configuration of B only phase creates a barrier feature resulting in a de-energized state. Looking at the original simple subnetwork, the bitset phase configuration is modified at the transformer location; validation of the edits and running the update subnetwork process results in the function changing the ABC configuration set at the circuit breaker to AC downstream of the transformer.
The subnetwork properties are configured with the network in a disabled state. When setting propagation parameters in the update subnetwork geoprocessing tool a network attribute is defined as the propagated field (Propagated Attribute) and a separate network attribute is set as the defining field (Attribute). A third network attribute is defined for setting values for substitution (Substitution Attribute). The Function value establishes the type of function used (MIN, MAX, Bitwise_AND), the Operator value indicates the specific condition that is used during the execution of the query, and the Value represents the binary value that is compared with the calculated propagated value during each trace operation.
Going back to our subnetwork we can see the effect of substitution at a new tap point. The new line segment that pulls up from the tap point (purple) displays an energized phase of C using the tap as the substitution from A phase to B phase; because the B phase is previously de-energized at the transformer, the resulting values represented are A phase de-energized, B phase de-energized, C phase energized.
The example above shows another characteristic of propagation where the bitwise configuration/phase is in a diminishing function and does not allow for additive functions where for example a single energized phase could transition to a two phase configuration. We can see this behavior when we change the substituted attribute from phase B to phase A and validate/update. The phasing on the tap is restored to the two phase orientation on the new segment.
The ability to set these advanced configurations enables utilities to model wire and pipe operational behaviors based upon load or pressure values. Network propagation and substitution are functions designed to provide a better user experience for the ArcGIS Utility Network. These capabilities are used to represent the properties of pipe or wire networks and the engineering properties of the respective configurations. As the network platform continues to evolve these capabilities will continue to grow and adapt to the needs of utilities and facilities managers.