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

Implement flow routing #5

Closed
6 tasks done
wkearn opened this issue Mar 26, 2024 · 1 comment
Closed
6 tasks done

Implement flow routing #5

wkearn opened this issue Mar 26, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@wkearn
Copy link
Contributor

wkearn commented Mar 26, 2024

Flow routing constructs a flow network from a digital elevation model. The flow network is heavily used by the rest of TopoToolbox, so providing optimized implementations of flow routing and traversing the flow network should be a priority for the core library.

TopoToolbox represents the flow network as a topologically sorted weighted edge list, in which all of the incoming edges of a grid cell are listed before all of the outgoing edges from the same cell. The weights between zero and one represent the partitioning of the outgoing flow from a cell among its neighbors.

TopoToolbox constructs a flow network from a DEM in three phases:

  1. Preprocess the DEM to remove sinks
  2. Compute flow directions including routing flow through flat areas
  3. Construct and topologically sort the edge list

We should probably start by implementing a single version of these three steps before filling in the other algorithms. I suggest implementing the equivalent to FLOWobj(DEM,'preprocess','carve') in the MATLAB version. This requires at least implementations of

@wkearn
Copy link
Contributor Author

wkearn commented Aug 2, 2024

With #72, we can implement this entire flow routing pipeline using libtopotoolbox functions, so I will close this issue. Any further improvements, additions or corrections to flow routing can be discussed in additional issues.

@wkearn wkearn closed this as completed Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant