A subnetwork represents a topological subset in a tier where all participating features have traversability to the same subnetwork controllers. A subset is a collection of connected lines, devices, and junctions. Subnetworks drive tracing and network diagram events and provide techniques to visualize your network: rendering, labeling, and map generation (for example, circuit and pressure zone maps). You can quickly determine the subnetworks in which a feature participates when editing your assets. The maintenance of subnetwork information is optimized by the ability to export subnetwork information to external systems for further modeling and analysis.

A subnetwork is created by setting one or more features as subnetwork controllers. The name of the subnetwork is defined when a terminal is set to be a subnetwork controller. Each subnetwork in a tier must have a unique subnetwork name, not only in the tier, but in the entire utility network. This is to ensure the subnetwork name is unique in cases where a trace spans subnetworks in multiple tiers across more than one domain network. The subnetwork name used when the subnetwork controller is added is updated for every feature participating in a subnetwork when the subnetwork is updated. Updating the subnetwork name for features is what completes the process of creating a subnetwork: a group of assets with traversability to the same subnetwork controller or controllers.

See Concepts and operations to review key topics for managing subnetworks.

Subnetwork management

Subnetworks are marked as dirty when initially created by adding a subnetwork controller, and can also be determined by the validation of dirty areas. For a full list of situations where a subnetwork is considered dirty, see Dirty subnetworks. Updating a subnetwork using the Update Subnetwork tool takes the edits made in the subnetwork and updates the subnetwork with relevant information.

Information about a subnetwork is stored in the subnetworks table. This table stores information about the subnetwork controllers, the tier to which a subnetwork belongs, editor tracking details, and whether a subnetwork is dirty.

The following is a summary of related subnetwork management tasks:

Hierarchical and partitioned tier definition

The tier definition is a property that's defined when you add a domain network to the utility network. A tier definition denotes the organization of the tiers relative to the rest of the network. In a domain network or tier group, two or more tiers can form a collection of partitioned, successive tiers or a hierarchy of nested tiers. In a utility network, all tiers in a domain network or tier group share the same tier definition. A utility network can have multiple domain networks with different tier definitions.

To learn more, see Tiers.

Topology type

Subnetworks support two topology types for modeling different systems: mesh and radial. The topology type of subnetworks is set at the tier level and defined when a tier is created. All subnetworks in a tier share the same topology type.

In a domain network with a hierarchical tier definition, the topology type of subnetworks can only be mesh. The topology type of subnetworks in a partitioned network can be either mesh or radial.

The following topology types are available when adding a tier:

  • Radial—Consists of one or more subnetwork controllers
  • Mesh—Consists of one or more subnetwork controllers
The topology type currently does not provide a difference in behavior for tracing or subnetwork management. The functionality is under development and will be applicable in a future release.

Each subnetwork controller has a unique Subnetwork Controller Name but must share the same Subnetwork Name.

Subnetwork definition

At the time of configuration, the administrator of a utility network sets a subnetwork definition for each tier in a domain network. A subnetwork definition controls various properties for every subnetwork in the specified tier and is used when updating subnetworks.

To learn more, see Set or modify the subnetwork definition.

The following table describes the components of a subnetwork definition:


Support for disjoint subnetworks

Defines whether two or more subnetworks with the same name can be traversed to one another. This option is only available for tiers in domain networks with a partitioned tier definition. Tiers in a domain network with a hierarchical tier definition always have this property set to true to support disjoint subnetworks.

Valid subnetwork controllers

Defines specific asset groups and asset types in the Device and Junction Object classes that can have their terminals set as subnetwork controllers.

Only terminals belonging to valid subnetwork controllers can be used to create or modify controllers for a specified tier.

Valid features

Defines specific asset groups and asset types for features to participate in a utility network. For example, a distribution tier allows medium- and low-voltage lines but not high-voltage lines. These are specified in the subnetwork definition for a tier and inspected when a subnetwork is updated.

  • Valid Devices
  • Valid Lines
  • Valid Junctions
  • Valid Junction Objects
  • Valid Edge Objects

If connected or associated features with invalid asset types are discovered when a subnetwork is updated, errors are generated and the subnetwork is not updated.

Aggregated lines for the SubnetLine feature class

Defines a subset of lines from the Valid Lines parameter to aggregate together to represent a subnetwork in the SubnetLine feature class.

Subnetwork diagram template

A diagram template is used as the template for the automatically generated subnetwork diagrams. This component is optional.

These diagrams are generated and updated each time the subnetwork is updated. When a subnetwork is deleted, the associated subnetwork system diagram is also deleted.

Subnetwork trace configuration

Subnetwork trace configurations are optional and can be set during the configuration stage of a utility network. Subnetwork events (updating, exporting, and tracing) use some of the subnetwork trace configurations to determine the features that are considered during the event and the features that are updated, exported, or traced and returned. A subnetwork trace configuration can be modified using the tools associated with each of these operations. Some restrictions apply; see each tool for the available trace parameters.

The configuration options are as follows:

  • Include Containers—Specifies whether containers will be included.
  • Include Content—Specifies whether content of containers will be included.
  • Include Structures—Specifies whether structures will be included.
  • Include Barrier Features—Specifies whether barriers will be included.
  • Validate Locatability—Specifies whether an error will be returned if unlocatable junction or edge objects are encountered.
  • Summaries—Calculates and stores information about a subnetwork in the SubnetLine feature class.
  • Condition Barriers—Defines a feature that will stop an operation based on network attributes and categories.
  • Function Barriers—Defines a feature that will stop an operation based on a function.
  • Apply Traversability To—Defines the traversability scope to enforce. Apply traversability to only junctions, only edges, or both junctions and edges.
  • Propagators—Uses propagated network attributes to control what features are considered. A Substitution function is available. This parameter is only available via Python.

To learn more about subnetwork trace configurations, see Subnetwork trace configuration.

Update subnetwork policy

Defines what features are updated and how attribute edits made during update subnetwork are performed in the geodatabase.

Options available to set for update subnetwork policy are as follows:

  • Manage IsDirty—Specifies whether the update subnetwork process will update the IsDirty attribute in the Subnetworks table and SubnetLine feature class. This also impacts the consistency of network diagrams.
  • Update Structure Network Containers—Specifies whether the update subnetwork process will update the supported subnetwork name attribute for structure network containers. This option is checked by default.
  • Update Domain Network Containers—Specifies whether the update subnetwork process will update the supported subnetwork name attribute for domain network containers. This option is checked by default.
  • Edit Mode for Default Version and Edit Mode for Named Version—During the update subnetwork process, various attribute edits are made to subnetwork features. The Edit Mode determines how the attribute edits are performed. Two options are available to control this behavior, With Eventing and Without Eventing.

    • Without Eventing—This is the default for both the default version and named versions. When using this option, edits are performed as direct writes. By performing these attribute edits as direct writes, you bypass any events at the geodatabase level that update feature-linked annotation, or the evaluation of an attribute rule set on the insert or update triggering event. Note that while on the default version, all features and objects in the subnetwork are updated. In a named version, updates are limited to features and objects that are edited in the version.
    • With Eventing—This option triggers events at the geodatabase level to update items such as feature-linked annotation, editor tracking, or the evaluation of an attribute rule set on the insert or update triggering event as well as the subnetwork name and propagated values for all applicable features and objects.

    Certain parameters require a minimum Utility Network Version. Refer to the Set Subnetwork Definition tool for more information.