Schematic Processor v2.0 documentation

Tutorial

This tutorial demonstrates how to use the schematic processor. It uses sample data provided with this tool. The sample data include an Arc Hydro schematic network whose nodes are populated with values representing bacteria which decays as it travels down the stream network.

Examining the Data

Let’s take a look at the sample data.

  1. In the sample_data folder, open example.mxd. The map shows a schematic network representing subwatersheds, streams, and the connections between them. Flow travels from the subwatershed nodes to the stream network outlet. Runoff from subwatersheds brings bacteria to the stream network. The bacteria decays as it travels along stream segments.
  2. Open the attribute table for the Node and Link layers.

Notice that Arc Hydro attributes such as HydroID and LinkType are already populated. Note that stream segments have a LinkType of 2 and the nodes associated with the upstream and downstream ends of stream segments are of SrcType 2. The subwatershed nodes have SrcType values of 1 and the links connecting those subwatersheds to the stream segment have LinkType values of 1.

The IncVal attribute of the node features stores the bacterial load produced at the subwatershed nodes. TotVal and PassVal attributes store total values and passed values, respectively, and will be populated by the schematic processor.

In the Link attribute table, notice DecayConst and TravelTime attributes (in units of 1/year and year, respectively). The custom op, decay, expects these attributes and will use them in the first-order decay calculation.

Also notice the SortOrder attribute. This attribute tells the schematic processor in what order features in the schematic network should be processed. You will populate this field and process the network in the next steps.

Assigning Processing Order

The schematic processor processes features from upstream to downstream. Once a schematic network has been created, you typically only need to determine this processing order once. The Assign Processing Order tool handles this task, and writes results to the SortOrder attribute in the link and node feature classes.

If the Schematic Processor Tools toolbox isn’t already visible in ArcToolbox:

  1. Show the ArcToolbox window.
  2. Right-click in ArcToolbox and click Add Toolbox.
  3. Navigate to the schematic_processor folder and click once on Schematic Processor Tools.tbx to select it. Then click Open.

To assign processing order:

  1. In ArcToolbox, expand Schematic Processor Tools to see the two tools associated with the schematic processor.
  2. Double-click Assign Processing Order to run that tool. Click Show Help in the tool dialog if you want to see help for the tool and its inputs.
  3. Select Link as the link features and Node as the node features.
  4. Click OK to run the tool.
  5. Close the tool progress dialog when the tool is finished.
  6. Click View and then click Refresh to refresh your map.

The features in the map are labeled according to their processing order. You can now see that upstream features are to be processed before downstream features receive data from them.

Now you are ready to process the network.

Processing the Network

Recall that, in this example, subwatershed nodes store the amount of bacterial load that they contribute in their IncVal attribute. Let’s process the network to simulate the accumulation of bacterial loads from upstream to downstream, taking into account bacterial (first-order) decay along the stream segments.

The default accumulation behavior will suffice for most of the interactions between schematic features in this example. The only exception is that we’ll specify the decay processing op to handle decay along the stream segments as they pass loads to the next downstream feature.

  1. Double-click Process Schematic Network to run that tool.
  2. Select Link as the link features. Then select the IncVal, TotVal, and PassVal attributes from the Link layer as the “Link Incremental Value Field”, “Link Total Value Field”, and “Link Passed Value Field”, respectively.
  3. Select Node as the node features. Then select the IncVal, TotVal, and PassVal attributes from the node layer.
  4. For processing ops, type decay (case sensitive!) and click the plus sign to add decay to the list of processing ops. Each op must be associated with a source type, feature type, and behavior type, so you’ll specify those items next.
  5. For source types, type 2 and click the plus sign.
  6. For feature types, type LINK and click the plus sign.
  7. For behavior types, type PASS and click the plus sign.
  8. Click OK to run the tool.
  9. Close the tool progress dialog when the tool is finished.
  10. Click View and then click Refresh to refresh your map.

The labels should now indicate total and passed values of bacterial load. The math is very simple except for the stream segments, whose passed values are less than their total values due to bacterial decay.

Congratulations! You have completed the tutorial. Feel free to try the schematic processor on more complex networks or to write your own processing ops.

For more complex applications of the schematic processor see Whiteaker et al., 2006 and/or Johnson, 2009.

References

Johnson, S. (2009). “A General Method for Modeling Coastal Water Pollutant Loadings.” Ph.D. Dissertation, The University of Texas at Austin, Austin, Texas.

Whiteaker, T., D. R. Maidment, J. L. Goodall, M. Takamatsu (2006). “Integrating Arc Hydro Features with a Schematic Network.” Transactions in GIS 10(2) pp. 219-237. (DOI: 10.1111/j.1467-9671.2006.00254.x)