Skip to content

Add MFD watershed and basin delineation #1017

@brendancol

Description

@brendancol

Summary

watershed.py only works with D8 flow direction. There's no MFD variant for watershed or basin delineation.

What's needed

MFD watershed delineation using reverse tracing from pour points. With MFD routing, each cell sends flow to multiple downslope neighbors with nonzero fractions. A cell belongs to a watershed if any of its downstream neighbors (those with nonzero fraction) eventually reach the pour point.

MFD watersheds are generally larger than D8 watersheds because flow disperses to multiple neighbors -- cells at the boundary that D8 would assign to an adjacent basin may have a small fraction of flow reaching the target pour point.

Need to decide on a threshold: include a cell if any fraction reaches the pour point, or only if the cumulative fraction exceeds some minimum? A configurable threshold parameter would handle both cases.

References

  • xrspatial/watershed.py -- existing D8 implementation
  • xrspatial/flow_accumulation_mfd.py -- fraction grid construction and handling

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions