-
Notifications
You must be signed in to change notification settings - Fork 86
Description
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 implementationxrspatial/flow_accumulation_mfd.py-- fraction grid construction and handling