pysheds icon indicating copy to clipboard operation
pysheds copied to clipboard

Add new priority flood module.

Open groutr opened this issue 1 year ago • 0 comments
trafficstars

Implements variations of the Priority Flood algorithm mentioned in "Priority-Flood: An Optimal Depression-Filling and Watershed-Labeling Algorithm for Digital Elevation Models"

The methods are placed in their own module to facilitate easy maintenance.

The methods are:

  • fill_depressions: A priority flood based method for fill depressions. First implemented in #243.
  • fill_depressions_epsilon: A modification of priority flood that automatically resolves flats. This is achieved by adding an epsilon to neighboring cells that are raised.
  • flow_dirs: Instead of using fill_depressions_epsilon, this variant computes the flow directions directly from the DEM. The paper describes this as a "depression carving" algorithm (rather than filling depressions, it drills through their walls). This helps preserve flow directions within depressions that otherwise would have been filled.
  • basins: Uses priority flood to label watersheds.

@mdbartos How would you envision exposing these methods to pysheds API?

groutr avatar Feb 20 '24 18:02 groutr