This tool is used to generate a flow accumulation grid (i.e. contributing area) using the D-infinity algorithm (Tarboton, 1997). This algorithm is an examples of a multiple-flow-direction (MFD) method because the flow entering each grid cell is routed to one or two downslope neighbour, i.e. flow divergence is permitted. The user must specify the name of the input pointer-grid, which has been created either from the Dinf flow-pointer tool. The flow-pointer grid should be created from a digital elevation model (DEM) that has been hydrologically corrected to remove all spurious depressions and flat areas. DEM pre-processing is usually achieved using the Fill Depressions tool.
In addition to the input flow-pointer grid name, the user must specify the output type. The output flow-accumulation can be 1) specific catchment area (SCA), which is the upslope contributing area divided by the contour length (taken as the grid resolution), 2) total catchment area in square-metres, or 3) the number of upslope grid cells. The user must also specify whether the output flow-accumulation grid should be log-tranformed, i.e. the output, if this option is selected, will be the natural-logarithm of the accumulated area. This is a transformation that is often performed to better visualize the contributing area distribution. Because contributing areas tend to be very high along valley bottoms and relatively low on hillslopes, when a flow-accumulation image is displayed, the distribution of values on hillslopes tends to be 'washed out' because the palette is stretched out to represent the highest values. Log-transformation provides a means of compensating for this phenomenon. Importantly, however, log-transformed flow-accumulation grids must not be used to estimate other secondary terrain indices, such as the wetness index, or relative stream power index. Perhaps a better alternative to log-transformation of flow-accumulation values is to increase the 'Palette non-linearity' value under the Layer Properties tab.
Grid cells possessing the NoData value in the input flow-pointer grid are assigned the NoData value in the output flow-accumulation image. The output raster is of the float data type and continuous data scale.
The following is an example of a Python script that uses this tool:
wd = pluginHost.getWorkingDirectory()
flowPointer = wd + "pointer.dep"
outputFile = wd + "output.dep"
outputType = "specific catchment area (sca)"
logTransformOutput = "false"
args = [flowPointer, outputFile, outputType, logTransformOutput]
pluginHost.runPlugin("FlowAccumDinf", args, False)
This is a Groovy script also using this tool:
def wd = pluginHost.getWorkingDirectory()
def flowPointer = wd + "pointer.dep"
def outputFile = wd + "output.dep"
def outputType = "number of upslope grid cells"
def logTransformOutput = "false"
String args = [flowPointer, outputFile, outputType, logTransformOutput]
pluginHost.runPlugin("FlowAccumDinf", args, false)