This tool calculates the convergence index (
Where Φ is the aspect of a neighbour of the center cell and Az0 is the azimuth from the neighbour directed towards the center cell. Note, -90 <

The user must specify the name of the input DEM (dem) and the output raster (output). The Z conversion factor (zfactor) is only important when the vertical and horizontal units are not the same in the DEM, and the DEM is in a projected coordinate system. When this is the case, the algorithm will multiply each elevation in the DEM by the Z Conversion Factor to perform the unit conversion.
For DEMs in projected coordinate systems, the tool uses the 3rd-order bivariate Taylor polynomial method described by Florinsky (2016). Based on a polynomial fit of the elevations within the 5x5 neighbourhood surrounding each cell, this method is considered more robust against outlier elevations (noise) than other methods. For DEMs in geographic coordinate systems (i.e. angular units), the tool uses the 3x3 polynomial fitting method for equal angle grids also described by Florinsky (2016).
Florinsky, I. (2016). Digital terrain analysis in soil science and geology. Academic Press.
Kiss, R. (2004). Determination of drainage network in digital elevation models, utilities and limitations. Journal of Hungarian geomathematics, 2, 17-29.
Koethe, R. and Lehmeier, F. (1996): SARA - System zur Automatischen Relief-Analyse. User Manual, 2. Edition [Dept. of Geography, University of Goettingen, unpublished]
aspect, plan_curvature, profile_curvature
def convergence_index(self, dem: Raster, z_factor: float = 1.0) -> Raster: ...