The Pfafstetter System for Watershed Identification

The Pfafstetter Coding system, developed by Otto Pfafstetter in 1989, is a methodology for assigning watershed IDs based on the topology of the land surface (Verdin, 1997). The system is hierarchal, and watersheds are delineated from junctions on a river network. Level 1 watersheds correspond to continental scale watersheds. Higher levels (levels 2, 3, 4, etc.) represent ever-finer tessellations of the land surface into smaller watersheds, which are sub-watersheds of lower level watersheds. Each watershed is assigned a specific Pfafstetter Code based on its location within the overall drainage system and on the total drainage area upstream of the watershed's outlet.

According to the Pfafstetter system, watersheds are divided into 3 types - basins, interbasins, and internal basins. A Pfafstetter basin is an area that does not receive drainage from any other drainage area; a basin contains the headwater of the river reach for which the watershed is defined. Conversely, a Pfafstetter interbasin is a watershed that receives flow from upstream watersheds. Finally, an internal basin is a drainage area that does not contribute flow to another watershed or to a waterbody (such as an ocean or lake). The assignment of IDs is irrespective of level, and is carried out with the following basic steps:

Pfafstetter System
Figure 1 - Pfafstetter Levels 1, 2, and 3 - Individual watersheds are numbered in an upstream direction
  • From the watershed outlet, trace upstream along the main stem of the river, and identify the 4 tributaries with the greatest drainage area. The watersheds containing these four tributaries are basins.

  • Assign each basin the code "2," "4," "6," or "8" in the upstream direction, i.e. the most downstream basin gets the "2," the next most downstream basin gets the "4," etc.

  • Interbasins are the watersheds that contribute flow to the main stem. The upstream and downstream boundaries of each interbasin are either a confluence between a basin tributary and the main stem or the overall drainage area outlet. Therefore, interbasins are the watersheds between basins.

  • Assign each interbasin the code "1," "3," "5," "7," or "9" in the upstream direction, i.e. the most downstream interbasin gets the "1," the next most downstream interbasin gets the "3," etc.

  • A complication may arise in that the two most upstream watersheds are both basins - i.e. the overall watershed does not receive flow from another watershed. In this case, as shown in Figure 1, the upstream watershed with the largest drainage area is assigned the "9" and the other, smaller upstream watershed is assigned the "8" code.

  • If an area contains internal basins, the largest internal basin is assigned the code "0" and all other internal basins are incorporated into a surrounding basin or interbasin.

These assigned codes are then appended on to the end of the Pfafstetter code of the next lowest level. For example, in assigning level 3 codes, each level 2 watershed is divided into at most ten sub-watersheds, and these sub-watersheds all have the level 2 code XY. The level 3 codes of these sub-watersheds become XY0, XY1, XY2, etc.