Skip to content

r.fluvial 0.4.0

Latest

Choose a tag to compare

@awickert awickert released this 29 Jun 08:37

This release adds objective channel-head extraction and a flow-routing / landscape-evolution engine to the toolkit, and renames the project to r.fluvial.

Highlights

r.fluvial.channelheads method=dreich — DrEICH morphological channel heads. A faithful Python/NumPy port of the LSDTopoTools DrEICH algorithm (Clubb et al., 2014): depression fill, D8 routing, second-order polynomial tangential curvature, valley detection, and the per-valley χ–z regression split. Validated stage-by-stage against an instrumented LSDTopoTools run on Mid Bailey Run, OH — routing/sources, valley junctions (768), hilltops (768/768), and head count (634) are bit-exact; 630/634 head locations match. Emits channel-head points, the downstream network as vector lines (v.stream.network format) and/or a raster stream map, and accepts an external D8 routing raster via direction=.

r.fluvial.fastscape — D8 flow routing + optional landscape evolution. Routing-first: by default (nsteps=0) it routes a DEM (filled, direction, accumulation) as a fast O(n) drainage solver and a routing front-end to r.fluvial.channelheads; with nsteps>0 it evolves the landscape under stream-power incision (dz/dt = U − K·Aᵐ·Sⁿ) using the implicit, unconditionally stable FastScape algorithm (Braun & Willett, 2013).

rivernetworkx library gains the χ integral coordinate (Perron & Royden, 2013), the DrEICH χ–z head-finder, Strahler ordering, drainage-divide extraction, and a slope–area break detector.

Also in this release

  • v.stream.profilerv.fluvial.profiler — breaking rename; the geomorphic-analysis modules now form a fluvial family on the shared rivernetworkx core.
  • Repository renamed GRASS-fluvial-profilerr.fluvial (old URLs redirect).
  • Proper attribution added for every ported algorithm (Clubb 2014; Mudd 2014, 2019; Perron & Royden 2013; Evans 1980; Zevenbergen & Thorne 1987; Braun & Willett 2013; Strahler 1957).
  • Fix: v.stream.network no longer crashes on networks with both confluences and an off-map outlet.

The API is still pre-1.0 and may change. Full details in the CHANGELOG.