D8 mass flux

This tool can be used to perform a mass flux calculation using DEM-based surface flow-routing techniques. For example, it could be used to model the distribution of sediment or phosphorous within a catchment. Flow-routing is based on a D8 flow pointer (i.e. flow direction) . The user must also specify the names of loading, efficiency, and absorption rasters, as well as the output raster. Mass Flux operates very much like a flow-accumulation operation except that rather than accumulating catchment areas the algorithm routes a quantity of mass, the spatial distribution of which is specified within the loading image. The efficiency and absorption rasters represent spatial distributions of losses to the accumulation process, the difference being that the efficiency raster is a proportional loss (e.g. only 50% of material within a particular grid cell will be directed downslope) and the absorption raster is an loss specified as a quantity in the same units as the loading image. The efficiency image can range from 0 to 1, or alternatively, can be expressed as a percentage. The equation for determining the mass sent from one grid cell to a neighbouring grid cell is:

Outflowing Mass = (Loading - Absorption + Inflowing Mass) * Efficiency

See Also:


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

wd = pluginHost.getWorkingDirectory()
pointer = wd + "D8 pointer.dep"
loading = wd + "loading.dep"
efficiency = wd + "efficiency.dep"
absorption = wd + "absorption.dep"
output = wd + "output.dep"
args = [pointer, loading, efficiency, absorption, output]
pluginHost.runPlugin("MassFluxD8", args, False)

This is a Groovy script also using this tool:

def wd = pluginHost.getWorkingDirectory()
def pointer = wd + "D8 pointer.dep"
def loading = wd + "loading.dep"
def efficiency = wd + "efficiency.dep"
def absorption = wd + "absorption.dep"
def output = wd + "output.dep"
String[] args = [pointer, loading, efficiency, absorption, output]
pluginHost.runPlugin("MassFluxD8", args, false)