Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new priority flood module. #246

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

groutr
Copy link
Contributor

@groutr groutr commented Feb 20, 2024

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 Use Priority Flood algorithm to fill depressions #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?

Implements variations of the Priority Flood algorithm mentioned in "Priority-Flood: An Optimal Depression-Filling and Watershed-Labeling Algorithm for Digital Elevation Models"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant