2  Attribute Lists

The attributes generated for the synthetic channel networks used by Netstream programs are specified in the input file with an attribute list, as described in Section 1.2. Programs that use a channel-node list data structure created with the bldgrds program (Chapter 1) will generally include an attribute list with their input file to specify the attributes of the network and its watershed that the program will use internally and to specify the data fields to include in output shapefile attribute tables.

Attributes are specified using a “keyword: argument” format. A keyword may have multiple arguments. Each argument has a name and may have a value associated with it. For example, the keyword “VALLEY WIDTH” triggers calculation of the valley width at each channel node. This keyword requires an argument specifying the elevation above the channel at which to measure the valley width. This elevation may be measured in meters using the argument “ELEVATION = X”, where “X” specifies the elevation in meters or using the argument “CHANNEL DEPTHS = X”, where “X” specifies the elevation in terms of the channel depth calculated for each node.

Certain keywords have required prerequisites. For example, if the VALLEY WIDTH keyword is used, the valleyFloor_ID.dat binary data file must be present. This data file is created by program ValleyFloor. Likewise, if elevation above the channel is specified in terms of CHANNEL DEPTHS, then the keyword DEPTH must also be present in the attribute list so that channel depth will be available. And to calculate channel depth, the attribute-list entry will require use of the “equation” format to specify the equation used to calculate channel depth, which will require other data attributes, such as contributing area, which must also be included in the attribute list.

Following is a list of keyword: argument options available for Netstream programs. This list is probably incomplete (I can’t remember all the options I’ve written subroutines for so have to search through the rather lengthy code base). I’ll start with the most commonly used keywords.

Certain optional arguments can be used for any keyword. These include:

Other important notes.

Keyword Argument Description
CONTRIBUTING AREA: Upstream contributing area to each channel node in square kilometers.
ELEVATION: Elevation of each channel node in meters.
STREAM ORDER: Strahler stream order
MEAN ANNUAL PRECIPITATION: FILE = file name (full path), raster file of mean annual precipitation
FACTOR = real value (optional),
UNIT = “mm” or “m” or “in” (optional)sec-equationssec-equations
Mean annual precipitation over the contributing area to each channel node in meters depth. Raster files of mean annual precipitation depth based on 30-year normals are available from the PRISM Climate Group. These rasters must be projected to the same coordinate system used by the DEM from which the channel network was constructed. PRISM values are reported in millimeters (mm) depth. This is the default assumed by Netstream programs. If the units are in meters or inches, these are specified using the UNIT argument. The FACTOR argument can be used to set the conversion explicitely. For example, if the raster gives precipitation depth in feet, then use FACTOR = 0.3048 to convert to meters.
MEAN ANNUAL FLOW: EQUATION (see Section 1.3) Mean annual flow in qubic meters per second, based on a regional regression equation.
WIDTH: EQUATION (see Section 1.3) Estimated channel width in meters, based on a regional regression equation.
DEPTH: EQUATION (see Section 1.3) Estimated channel depth in meters, based on a regional regression equation.
VALLEY WIDTH: ELEVATION = real value, elevation above channel in meters to measure valley width.
CHANNEL DEPTHS = real value, number of channel depths above the channel at which to measure valley width.
RIGHT, (optional) returns valley width on the right side of the channel (looking downstream).
LEFT, (optional) returns valley width on the left side of the channel (looking downstream).
Valley width in meters at each node.
Only one of the ELEVATION or CHANNEL DEPTHS arguments may be specified, not both.
If neither the RIGHT or LEFT arguments are included, total valley width is returned.
Multiple valley width attributes may be specified, e.g., one for the right and another for the left sides of the channel, or one at 2 channel depths and another at 5 channel depths. Each one must have a unique OUTPUT FIELD argument.
VWI: ELEVATION = real value, elevation above channel in meters to measure valley width.
CHANNEL DEPTHS = real value, number of channel depths above the channel at which to measure valley width.
Valley Width Index, the ratio of valley width to channel width (valley width/channel width), used as a measure of channel confinement. This requires that the keyword DEPTH also be included in the attribute list. One of the arguments ELEVATION or CHANNEL DEPTHS must be specified (not both) to indicate at what elevation above the channel to measure valley width.
GRADIENT: WINDOW = real value, length in meters over which gradient is calculated.
CHANNEL WIDTHS = real value, length in channel widths over which gradient is calculated.
POLY ORDER = integer, order of the polynomial fit to the channel profile
Channel gradient. There are many methods for calculating channel gradient. This is the simplest. A polynomial of specified order is fit over a window centered over each node. The gradient of the polynomial at the center point, over the node, is reported as the channel gradient. The window length may be specified in terms of meters, which is then constant regardless of channel size, or in terms of channel widths, in which case the window length increases as channel size increases. POLY ORDER = 1 will fit a straight line, POLY ORDER = 2 will fit a quadratic, and so on.