To support interoperability across PSMFC data systems and to facilitate discoverability of content on StreamNet systems the StreamNet adheres to adopted standards and conventions, and follows specific processes agreed to by StreamNet members.

Below we identify existing standards, conventions, and processes used by StreamNet 



To facilitate querying data available for anadromous and resident fish species, StreamNet Program has adopted a naming convention used in its query tools.

The StreamNet Technical Team was tasked by the StreamNet Executive Committee members during the committee’s November 2023 meeting, to define a convention that could be applied to both resident and anadromous fish.

The StreamNet Executive Committee members approved during their November 2023 meeting having  the StreamNet Program adopt the process recommended by the PNAMP Fish Monitoring Work Group’s Fish Management Units Boundaries and Attributes Task Team. Below is the process as approved:

Recommended methods for defining fish management units (e.g., population, core area, migratory corridor), names, and boundaries for more effective, standardized analyses, and communication/display of data via the StreamNet data tools and GIS layers.

Define Fish Management Unit Boundaries that are inclusive of official designations (e.g., USFWS or NOAA recovery planning units) and reflect the existing species distribution knowledge

  1. Leverage StreamNet’s best available Generalized Fish Distribution dataset for the species of interest (e.g., bull trout). Overlay this dataset with the best available Watershed Boundary Dataset (sixth level HUCs 170602010101) to identify and attribute those sub-watersheds for which the partnership has identified species presence and habitat use type (where available). This collection of sub-watersheds defines the current or ‘probable native range’ for the species based on StreamNet’s fish distribution dataset (see figure 1) including all primary use types (e.g. migratory corridors).
  2. Obtain the best available, official management/recovery planning units from the authoritative agency, particularly when a listed species is involved. For example, the USFWS maintains a dataset that designates bull trout ‘core areas’ and ‘local populations’. Use these layers to expand and further attribute the selection of sixth level HUCs to track the official fish management unit types that they encompass (e.g. spawning and rearing). Fortunately, the USFWS and NOAA have generally followed a practice of using the Watershed Boundary Dataset as the primary source for geometry when defining such units, so the spatial relationship tends to be clean.
    • For purposes of supporting regionwide display and filtering of data, we recommend not splitting HUC units to create a precise fit with established management units. Since the purpose of the boundaries in our use case is to support standardized filtering and display of data on multiple species and subspecies across the landscape, we instead recommend tracking exceptional cases of a fractional ‘fit’ through attribution. Additionally, the lines of distribution more precisely delineate extents within HUCs.
  3. Combine the boundary units defined by step (i) and (ii) above (see figure 2). These polygons will serve as the building blocks that will define the fish management units to be coded with standardized names and fish unit type

Define Fish Management Unit IDs, Names and Attributes by using the collection of polygons and associated attributes from step 1 above and further standardize and assign unit IDs, Names, and Type attributes while also tracking feature level metadata (e.g., data source, audit fields).

  1. Fish Management Unit IDs: A unique identifier will be needed for each unit. The specifics of how an ID is assigned and managed will be left to the implementation phase. One option would be to mimic and build upon the existing ‘population’ table from the Coordinated Assessments DES, recognizing that a population could be considered a type of fish management and/or analysis unit.
  2. Fish Management Unit Names: Establish a standardized convention for assigning Names to each Unit Type.
    • Where a Unit is Official: Retain the official name from the authoritative source (e.g., bull trout core area or local population names as defined by the USFWS).
    • Where a Unit is being created based on fish distribution: Follow a convention like that used to define population names in the StreamNet population table (see Appendix E of Coordinated Assessments DES).
  3. Fish Management Unit Type: What is appropriate here will vary by species and lead management agency. Examples below are for bull trout.
    • Where a Unit is Official: Retain the official unit type designation from the authoritative source (e.g., core area, local population, potential population, etc. – as defined by the USFWS).
    • Where a Unit is being created based on fish distribution: Follow a convention that characterizes the unit based on the primary use type values from the distribution data. In the bull trout example, we anticipate using a decision tree to incorporate and attribute migratory corridor or foraging areas, units with an unknown use type values (may warrant review by biologists), and those that include other non-migratory use types but that have no official unit type designation (may also warrant review by biologists).
  4. Other attributes from the source input layers may be carried forward during implementation and may vary by However, there will be a standardized, core set of attributes across all taxa. Feature level metadata will help track the source lineage of geometry, attributes and edit history.

To facilitate user understanding and interoperability across PSMFC systems, the PSMFC GIS Center coordinates and maintains a regional ‘fish facilities’ dataset to serve as a point of integration across multiple Columbia Basin projects administered by the Commission (StreamNet, PTAGIS, RMIS, and others).

It is recommended that maps displaying these fish facilities use the same symbols as on the PSMFC Fish Facilities mapper: