Home / Insights / DEM conditioning

Hydrology

Why your delineated stream network doesn't match the real river

Most delineation problems are not delineation problems. They are terrain-preparation problems that only become visible three steps later.

You run flow direction, then flow accumulation, then set a threshold, and the stream network that comes out runs across a floodplain the river demonstrably does not occupy. The channel jumps a divide. A tributary terminates in the middle of a field. The catchment boundary clips half of a neighbouring basin.

The tools did exactly what they were told. The problem is upstream — in the elevation surface itself.

Ten colour-coded sub-watersheds with their delineated stream network
Sub-basins delineated from a conditioned DEM. Every boundary in this map is a consequence of decisions taken before flow direction was ever computed — sink handling, flat resolution and the accumulation threshold.

1. Understand what the algorithm assumes

Standard D8 flow routing assumes that water leaves every cell into exactly one of its eight neighbours, that the surface is hydrologically continuous, and that there is a monotonic descent to the outlet. A real DEM violates all three. It contains spurious pits from interpolation and sensor noise, genuine closed depressions, flat surfaces where the vertical resolution cannot resolve a gradient, and — most disruptively — anthropogenic barriers such as road embankments and dams that block a flow path the water actually passes under through a culvert.

The core point: conditioning is not "cleaning up" the DEM. It is deliberately editing the surface so that its flow behaviour matches reality, at the cost of its elevation accuracy. Those two goals are in tension, and you should be explicit about which one the project needs.

2. Separate real depressions from artefacts

Blanket depression filling is the default, and in a landscape with genuine internal drainage — karst, glacial terrain, arid endorheic basins — it is wrong. It will silently connect a closed basin to the river network and inflate downstream accumulation.

Before filling, map the depressions and inspect them by size and depth. A cluster of single-cell, sub-metre pits is noise. A 40-hectare depression that appears in the topographic map as a lake is not. Fill the first; preserve the second, or handle it as a separate sink with its own outlet rules.

3. Deal with flats explicitly

After filling, you inherit flat areas — regions where every neighbour has the same elevation and the algorithm has no gradient to follow. Naive resolution produces the characteristic parallel-line artefact across floodplains and filled depressions. Use a flat-resolution method that routes both away from higher terrain and toward lower terrain, which yields a far more plausible drainage pattern across low-relief ground.

4. Handle barriers before you blame the delineation

Road and rail embankments are the single most common cause of a stream network that "goes the wrong way" in populated catchments. The DEM records the embankment; it does not record the culvert beneath it. Flow accumulates behind the embankment and eventually spills at whatever low point the surface happens to offer — which is rarely where the culvert is.

Two practical remedies:

  • Stream burning. Lower the DEM along a known hydrography layer so the modelled network follows the mapped one. Effective, but it imposes the reference network's errors and generalisation onto your result.
  • Targeted breaching. Cut a narrow channel through the specific barrier at the culvert or bridge location. More work, far less collateral damage to the surface, and defensible in a report.

Prefer breaching where you can identify the crossings, and reserve full burning for cases where a reliable hydrography layer exists and channel position matters more than terrain fidelity.

5. Choose the accumulation threshold on evidence, not habit

The threshold that converts flow accumulation into a stream network is a modelling decision, not a default. It controls drainage density, and drainage density controls sub-basin count, which controls every per-catchment statistic you subsequently report.

Set it by comparing candidate thresholds against a reference network — a topographic map, a national hydrography dataset, or high-resolution imagery — over a representative sample of the study area, and record the value and its justification in the methodology. If the study compares sub-watersheds, hold the threshold constant across all of them.

6. Verify before you build on it

Four checks that catch most of the damage:

  1. Overlay the derived network on imagery and on any independent hydrography layer. Look at confluences and at the crossings you breached.
  2. Compare the delineated catchment area against a published or gauged area for the same outlet. A large discrepancy usually means a divide has been crossed.
  3. Check that the outlet cell actually sits on the accumulated channel — snapping a pour point to a nearby high-accumulation cell is a routine, and routinely forgotten, step.
  4. Difference the conditioned DEM against the original. The map of that difference is your record of exactly how much surface you altered, and where.
A delineation you cannot defend at the culvert scale is not a delineation you should be reporting at the catchment scale.

Keep the conditioning reproducible

Every step above involves a parameter or an edit. Run them as a script rather than as a sequence of interactive tool dialogs, so that the same conditioning can be re-applied when the DEM is updated, audited by a reviewer, or re-used across sub-basins without drift. Save the difference raster and the breach locations alongside the outputs — they are part of the result, not scratch data.

Need this done properly on a real catchment? GISPromo builds conditioned, documented hydrological base layers as a standalone deliverable, or as the foundation for erosion, sediment and watershed-prioritization work. Talk to us about your study area.

All insights