Generalized terrain-based flow analysis of digital elevation models
Digital Elevation Models (DEMs) of topography are widely used in Geographic Information Systems (GIS) to derive information for the modeling of hydrologic processes. We present a general method for flow analysis that builds upon the representation of downslope flow using the proportioning of flow among one or multiple downslope grid cells, such as with the D8 or D-infinity models for the representation of downslope flow used in hydrologic terrain analysis, to enable the calculation of a new set of flow-based derivative surfaces. This general method which we refer to as flow algebra, extends flow accumulation approaches commonly available in GIS through the integration of multiple inputs and a broad class of algebraic rules into the calculation of flow related quantities. It is based on first establishing a flow field through DEM grid cells, or more generally model elements of any spatial discretization of the domain, by removing spurious pits and then proportioning the flow from a grid cell among downslope neighbors based on elevation. The flow field is required to be non-circulating, and as such these methods are applicable for flow problems related to the gradient of any potential field. Once a flow field is defined we show how it may be used to evaluate any mathematical function that incorporates dependence on values of the quantity being evaluated at upslope (or downslope) grid cells as well as other input quantities. The definitions of flow algebra functions are thus recursive and allow the evaluation of concepts that extend the concepts captured by recursive calculations of weighted contributing area available in GIS, to a broad class of flow related hydrologic terrain analysis functionality. Flow algebra encompasses single and multi-directional flow fields, various topographic representations, weighted accumulation algorithms, and enables untapped potential for a host of application-specific functions. While flow algebra expressions are recursively defined and most easily implemented using recursive functions, we describe here both recursive and non-recursive approaches to their evaluation. We have used the non-recursive approach to develop implementations for parallel processing architectures thereby enabling the rapid processing of large datasets. We illustrate the potential of flow algebra by presenting examples of new functions enabled by this perspective that are useful for hydrologic and environmental modeling. A new weighted flow distance to stream function averages the "weight" moving through multiple flow paths from each point in the domain to the stream or other downslope reference point. This is an example of a general function which can specifically be used to estimate potential for sediment and nutrient filtering by streamside vegetation, by specifying vegetation cover as the weight. This function can also be used to provide a definition for connectivity in the context of multiple flow paths and identify areas that are connected to streams. Other new functions that examine elevations on upslope and downslope flow paths have been developed determine the average rise to ridge and drop to stream which together determine hillslope position useful for soil depth modeling. A new avalanche runout function determines the zone with downslope gradient greater than a critical angle (alpha) and is useful for mapping avalanche or potential landslide hazards. Software implementing the functions illustrated here is available as part of the TauDEM package: http://www.engineering.usu.edu/dtarb/taudem.