Burn streams into DEM

This tool can be used to decrement the elevation values in a digital elevation model (DEM) along a defined stream network. This is a so-called stream burning operation. The stream network can be either a vector shapefile or a raster image. If a raster streams file is chosen, it must have the same grid dimensions as the input DEM file. The user must also specify the decrement value. This parameter is in the same units as the elevation units of the DEM.

In addition to a simple elevation decrement, the user may optionally specify a decay coefficient (k) which will impose a gradient toward the stream, such that:

Z = E - (G / (G + D))k × H

Where Z is the newly calculated elevation, E is the old elevation from the DEM, G is the grid resolution, D is the distance from a stream cell, k is the decay coefficient, and H is the elevation decrement. The distance to stream will be calculated automatically, using the same algorithm used by the Euclidean Distance tool. Notice that E, H, and G should all be measured in the same units. Values of the decay coefficient must be larger than 0, with increasing values resulting in a steeper decrement gradient toward streams, i.e. less modification of the riparian topography. This type of sophisticated stream burning can help to reduce the undesirable results on drainage patterns when the 'blue-line' burned in streams run parallel to the 'digital stream' that is apparent in the raw DEM. When this is the case, the digital stream will capture flow from one hillslope before it is allowed to enter the burned in 'correct' stream cells. A forced stream-direction gradient can be an effective method for reducing this problem.

It is still recommended that stream-burned DEMs undergo depression removal (filling or breaching methods) after the burning and prior to calculation of flow parameters (e.g. flow direction and accumulation).

See Also:

Scripting:

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

wd = pluginHost.getWorkingDirectory()
inputDEM = wd + "DEM.dep"
inputStreams = wd + "streams.shp"
outputFile = wd + "output.dep"
decrement = "10.0"
distanceDecay = "1.0"
args = [inputDEM, inputStreams, outputFile, decrement, distanceDecay]
pluginHost.runPlugin("BurnStreams", args, False)

This is a Groovy script also using this tool:

def wd = pluginHost.getWorkingDirectory()
def inputDEM = wd + "DEM.dep"
def inputStreams = wd + "streams.dep"
def outputFile = wd + "output.dep"
def decrement = "10.0"
def distanceDecay = "1.0"
String[] args = [inputDEM, inputStreams, outputFile, decrement, distanceDecay]
pluginHost.runPlugin("BurnStreams", args, false)

Credits: