Depressions & Storage
A digital elevation model always contains depressions: cells lower than every neighbour, with no downhill path out. A few are real, such as ponds, quarries and karst hollows. Most are artefacts, from interpolation, from vegetation left in the surface, or from a road embankment that dams a valley because the culvert under it is invisible to the sensor.
Either way, water routed over that surface stops there. Every flow accumulation, every stream network and every watershed you compute afterwards will be wrong. So this sub toolbox comes first: it produces the conditioned elevation model that the rest of the Hydrology toolbox uses.
There are two schools for removing a depression. Filling raises it to the level of its lowest outlet, like pouring water in until it spills. Breaching carves a narrow channel out of it, like cutting a notch in the rim. Filling is simple and always works but flattens large areas. Breaching alters far fewer cells and often reflects reality better, since the obstruction is frequently a missing culvert.
The Whitebox manual is explicit on the matter: try breaching first, and fall back on filling for whatever it could not resolve.
Start here
Section titled “Start here”Breach Depressions Least Cost
Section titled “Breach Depressions Least Cost”The recommended first pass. For each pit it searches for the cheapest path to a lower cell, where cost measures how much the terrain has to be lowered, and carves that channel.
| Parameter | What to set |
|---|---|
| Dem | Your elevation raster. |
| Max Dist | How far, in cells, the search may look for an outlet. This is the parameter that matters. Too small and pits behind a wide embankment stay unresolved, too large and the search gets slow. The default of 100 cells is a good starting point. |
| Max Cost | An optional ceiling on how much lowering is acceptable. Leave it empty at first, and set it if you see channels being carved through terrain that should have stayed intact. |
| Fill Deps | Fills whatever could not be breached within the limits above. Leave it on when this is your only conditioning step, so the output is guaranteed depression free. |
| Minimize Dist | Makes the search prefer short breach paths as well as shallow ones. |
| Flat Increment | A tiny elevation step applied across flat areas so flow keeps a direction. Leave it empty and the tool determines it. |
| Output | The conditioned elevation model. |
Fill Depressions
Section titled “Fill Depressions”The classic approach, and the safest when you need a surface with no depressions at all. It raises every hollow to its spill level using a priority flood strategy.
| Parameter | What to set |
|---|---|
| Dem | Your elevation raster. |
| Fix Flats | Applies a very small gradient across the filled flats so water still has somewhere to go. Keep this on, otherwise the flat areas break flow routing exactly where you just repaired the surface. |
| Flat Increment | The size of that gradient. Leave it empty unless the result shows artefacts. |
| Max Depth | Fills only depressions shallower than this. This is how you keep genuine lakes and quarries as depressions while removing the noise. |
| Output | The conditioned elevation model. |
Fill Depressions Wang And Liu and Fill Depressions Planchon And Darboux are the same operation with the parameter set of those two published algorithms, for people reproducing a documented workflow.
Fill Burn
Section titled “Fill Burn”The pragmatic answer to road embankments. You give it a stream network you already trust, typically from a national dataset, it lowers the DEM along those lines and then fills what is left. The resulting drainage follows the streams you know are there, instead of detouring around every road.
Burn Streams At Roads does the same targeted work at stream and road crossings only, which alters far less of the surface.
Sink and Depth In Sink
Section titled “Sink and Depth In Sink”Two tools for looking before acting. Sink marks the cells belonging to a depression, so you can see how many there are and where. Depth In Sink measures how far below its spill level each cell lies, which tells you whether you are looking at centimetres of noise or at a genuine ten metre hollow.
Run one of these on a raw DEM before choosing between breaching and filling.
All the tools
Section titled “All the tools”| Tool | What it does |
|---|---|
| Breach Depressions Least Cost | Removes depressions by carving the cheapest channel out of each pit, within a search distance and cost you set. |
| Breach Single Cell Pits | Carves one cell channels out of isolated single cell pits. A fast, very low impact first pass. |
| Burn Streams | Lowers the elevation of cells along a stream network so drainage follows it. |
| Burn Streams At Roads | Lowers elevations at stream and road crossings only, to breach road embankments. |
| Depth In Sink | Measures how far each cell lies below the depression filled surface. |
| Fill Burn | Burns a stream network into the DEM, then fills the remaining depressions. |
| Fill Depressions | Fills every depression using a priority flood, with flat resolution and an optional maximum depth. |
| Fill Depressions Planchon And Darboux | Depression filling with the Planchon and Darboux parameter set. |
| Fill Depressions Wang And Liu | Depression filling with the Wang and Liu parameter set. |
| Fill Pits | Fills isolated single cell pits only. |
| Flatten Lakes | Sets each lake polygon to a single elevation, taken from its lowest perimeter cell. |
| Impoundment Size Index | Estimates, for each cell, the mean and maximum depth, volume, area and dam height of the reservoir a dam there would create. |
| Insert Dams | Adds dam embankments at points you supply, choosing the crest from the terrain profile. |
| Raise Walls | Raises elevations along wall or levee lines, optionally breaching selected crossings. |
| Sink | Marks the cells that belong to a topographic depression. |
| Stochastic Depression Analysis | Perturbs the DEM many times within its error margin and returns, per cell, the probability of being in a depression. The way to tell a real hollow from noise. |
| Topological Breach Burn | Burns streams, conditions the surface and returns the stream, elevation, pointer and accumulation rasters in one pass. |
| Upslope Depression Storage | Maps the mean depression storage depth upstream of each cell, over a conditioned DEM. |
Keep the original. Every tool writes a new raster layer, so the raw DEM stays on your map. Compare the two before moving on: a conditioning pass that changed a quarter of your terrain is telling you something about the parameters.
Where to go next. With a conditioned elevation model in hand, continue with Flow Routing.
Credits
Section titled “Credits”These tools come from WhiteboxTools by Prof. John Lindsay, University of Guelph. Its manual documents each algorithm and cites the research behind it.