This tool is used to generate a flow accumulation grid (i.e. contributing area) using the Fairfield and Leymarie (1991) flow algorithm, often called Rho8. Like the D8 flow method, this algorithm is an examples of a single-flow-direction (SFD) method because the flow entering each grid cell is routed to only one downslope neighbour, i.e. flow divergence is not permitted. The user must specify the name of the input file (`input`), which may be either a digital elevation model (DEM) or a Rho8 pointer file (see rho8_pointer). If a DEM is input, it must have been hydrologically corrected to remove all spurious depressions and flat areas. DEM pre-processing is usually achieved using either the breach_depressions_least_cost (also breach_depressions_least_cost) or fill_depressions tool.

In addition to the input and output (`output`)files, the user must also specify the output type (`out_type`). The output flow-accumulation can be: 1) `cells` (i.e. the number of inflowing grid cells), `catchment area` (i.e. the upslope area), or `specific contributing area` (i.e. the catchment area divided by the flow width). The default value is `specific contributing area`. The user must also specify whether the output flow-accumulation grid should be log-tranformed (`log`), i.e. the output, if this option is selected, will be the natural-logarithm of the accumulated flow value. 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 (wetness_index), or relative stream power index (`StreamPowerIndex`).

If a Rho8 pointer is used as the input raster, the user must specify this (`pntr`). Similarly, if a pointer input is used and the pointer follows the Esri pointer convention, rather than the default WhiteboxTools convension for pointer files, then this must also be specified (`esri_pntr`).

## Reference

Fairfield, J., and Leymarie, P. 1991. Drainage networks from grid digital elevation models. Water Resources Research, 27(5), 709-717.

## See Also

rho8_pointer, `D8FlowAccumulation`, qin_flow_accumulation, `FD8FlowAccumulation`, `DInfFlowAccumulation`, `MDInfFlowAccumulation`, wetness_index

## Function Signature

`def rho8_flow_accum(self, raster: Raster, out_type: str = "sca", log_transform: bool = False, clip: bool = False, input_is_pointer: bool = False, esri_pntr: bool = False) -> Raster: ...`

## Project Links

WbW Homepage User Manual Support WbW