Downslope index

This tool can be used to calculate the downslope index described by Hjerdt et al. (2004). The downslope index is a measure of the slope gradient between a grid cell and some downslope location (along the flowpath passing through the upslope grid cell) that represents a specified vertical drop (i.e. a potential head drop). The index has been shown to be useful for hydrological, geomorphological, and biogeochemical applications.

The user must specify the name of a flow pointer grid derived using the D8 flow algorithm. This grid should be derived from a digital elevation model that has been pre-processed to remove artifact topographic depressions and flat areas. The user must also specify the name of the digital elevaton model (DEM) from which the flow pointer grid has been derived, the head potential drop (d), and the output type. The output type can be either 'tangent', 'degrees', 'radians', or 'distance'. If 'distance' is selected as the output type, the output grid actually represents the downslope flowpath length required to drop d meters from each grid cell. Linear interpolation is used when the specified drop value is encountered between two adjacent grid cells along a flowpath traverse.

Notice that this algorithm is affected by edge contamination. That is, for some grid cells, the edge of the grid will be encountered along a flowpath traverse before the specified vertical drop occurs. In these cases, the value of the downslope index is approximated by replacing d with the actual elevation drop observed along the flowpath. To avoid this problem, the entire watershed containing an area of interest should be contained in the DEM.

Grid cells containing NoData values in any of the input images are assigned the NoData value in the output raster. The output raster is of the float data type and continuous data scale.


Hjerdt, K.N., McDonnell, J.J., Seibert, J. Rodhe, A. (2004) A new topographic index to quantify downslope controls on local drainage, Water Resources Research, 40, W05602, doi:10.1029/2004WR003130.

See Also:


The following is an example of a Python script that uses this tool:

wd = pluginHost.getWorkingDirectory()
pointerFile = wd + "D8 pointer.dep"
demFile = wd + "DEM.dep"
outputFile = wd + "output.dep"
verticalDrop = "10.0"
outputType = "tangent"
args = [pointerFile, demFile, outputFile, verticalDrop, outputType]
pluginHost.runPlugin("DownslopeIndex", args, False)

This is a Groovy script also using this tool:

def wd = pluginHost.getWorkingDirectory()
def pointerFile = wd + "D8 pointer.dep"
def demFile = wd + "DEM.dep"
def outputFile = wd + "output.dep"
def verticalDrop = "10.0"
def outputType = "degrees"
String[] args = [pointerFile, demFile, outputFile, verticalDrop, outputType]
pluginHost.runPlugin("DownslopeIndex", args, false)