| Module | Description |
|---|---|
| r.richdem.filldepressions | Fill depressions in a DEM using the Priority-Flood algorithm; optional ε-gradient for flat areas |
| r.richdem.breachdepressions | Breach depressions by carving least-cost channels (Lindsay 2016) |
| r.richdem.resolveflats | Impose a local ε-gradient on flat areas to ensure unique flow directions |
| r.richdem.flowaccumulation | Flow accumulation with 13 SFD/MFD algorithms (D8, D-infinity, Quinn, Holmgren, Freeman, …) |
| r.richdem.terrainattribute | Terrain attributes: slope (4 unit systems), aspect, total/planform/profile curvature |
| r.richdem.dephier | Compute the depression hierarchy of a DEM (required first step for Fill–Spill–Merge) |
| r.richdem.fsm | Fill–Spill–Merge: route surface water through the depression hierarchy without removing depressions |
All modules share a librichdem helper library for GRASS ↔ RichDEM raster and vector conversion, installed to $GISBASE/etc/r.richdem/librichdem/.
# Option A: fill depressions, impose epsilon gradient on flat areas r.richdem.filldepressions -e input=dem output=dem_filled r.richdem.flowaccumulation input=dem_filled output=flow_accum # Option B: breach depressions, resolve remaining flats r.richdem.breachdepressions input=dem output=dem_breached r.richdem.resolveflats input=dem_breached output=dem_conditioned r.richdem.flowaccumulation input=dem_conditioned output=flow_accum method=Dinf
# Step 1: build the depression hierarchy (run once per DEM)
r.richdem.dephier input=dem \
output_labels=dep_labels \
output_flowdirs=dep_flowdirs \
output_hierarchy=dep_hierarchy
# Step 2: create an initial water-table depth map
r.mapcalc "wtd = -0.5"
# Step 3: run Fill-Spill-Merge
r.richdem.fsm input=dem \
labels=dep_labels \
flowdirs=dep_flowdirs \
hierarchy=dep_hierarchy \
water_depth=wtd \
output=wtd_after
pip install richdem
git clone https://github.com/r-barnes/richdem.git cd richdem/wrappers/pyrichdem pip install -e .
Ensure that RichDEM is installed into the same Python environment used by GRASS GIS.
GRASS GIS bindings: Andrew D. Wickert, with assistance from Claude Sonnet 4.6
Available at: r.richdem source code (history)
Latest change: Sunday May 31 20:21:19 2026 in commit: 2163cf63360e0ce5bfae95f4815c63ffbb9dda5c
Main index | Raster index | Topics index | Keywords index | Graphical index | Full index
© 2003-2026 GRASS Development Team, GRASS 8.5.1dev Reference Manual