I want to compute DEM for a whole country (cca 79 000 sqr. km) and I need to be hydrologically correct as much is possible. After, for this correct DEM I need to compute drainage lines of surface run-off. I can use 4G model, which is a cloud of discrete points 5x5 m. But this is secondary. Which algorithm should I use to solve this?

On sample data I tested TauDEM, which appears to be a really good tool, but when it's supposed to make raster with drainage lines, the output raster has only one value (whole black). I tried it on ArcGIS 10.2 and 9.3 (on Win 7). Both were the same, first few steps OK, then black raster. I tried to use TauDEM in QGIS, but there was an error:

"Oooops! The following output layers could not be open"..

I checked paths to toolbox and everything was fine. Next tool that I tried was ArcHydro toolbox, but this tool seems to be very inaccurate.

Does anyone know a good tool to simulate drainage lines? Or why I can't do it with TauDEM?

EDIT: As a final result I need shapefile of run-off lines. I already have some, but there are many error like crossing of lines, lines aren't snapped to next segment and so on. Now I'm trying to compute them again without these errors.

Example of run-off lines:

enter image description here

  • 2
    I have successfully used ArcHydro toolbox and other functions for DEM creation. Failure to create a relevant DEM with so many functions indicates to me that your initial data might be the problem. You probably need to take a closer look at your point data and see if they actually contain the information you think it does, and in the correct field etc.
    – Martin
    Commented Aug 4, 2014 at 12:37
  • I'm not using all that functions together. I'm trying them separately to chose the best one. I wanna try TauDEM, but I cant solve the error. But I'm trying to find best algorythm to generate run off lines.
    – david_p
    Commented Aug 4, 2014 at 13:28
  • What exactly do you mean by "drainage lines of a surface runoff". Channel Network?
    – reima
    Commented Aug 4, 2014 at 13:34
  • It's concentrated runoff of rainwater on ground. It because simulating erosion. Do you know, what I mean?:) Im not sure about my explanation.
    – david_p
    Commented Aug 4, 2014 at 13:41
  • 2
    A hydrographically correct dem is not necessarily a prerequisite for creating a channel network. DEM curvature can also be used to create that. See for example: Koenders et al. 2014: Multiscale curvatures for extracting channel network: sciencedirect.com/science/article/pii/S0098300414000764 OR Pelletier 2013: A robust two parameter method for the extraction of drainage network..: geomorphology.geo.arizona.edu/PAPERS/pelletier_13.pdf . I suggest you edit the title a bit, since this is a very interesting question!
    – reima
    Commented Aug 4, 2014 at 13:48

1 Answer 1


Choosing the right algorithm for hydrologically correcting a DEM really depends on your particular application. DEM size is certainly an issue, as you discovered. If you have a massive DEM, there are only a few algorithms that will work for your application. Another important consideration is whether or not all of the topographic depressions in your DEM are actually artifacts and whether any of the real depression that may be in your DEM are significant in terms of the process that you are modelling (modelling surface flow in your case). If there are real features, and they are significant, you should look for a way to retain these features in your DEM. Then there is the depression filling versus depression breaching question. It turns out that although there are many depression filling algorithm available, they will all result in the same solution (see this question). Importantly depression filling almost always results in far greater impact to the DEM (i.e. more modification of the original elevation values) than does depression breaching. I almost always recommend depression breaching solutions over filling.

So now for the really tricky part. You asked for a tool to recommend. As full disclosure, I am the lead developer of the open-source GIS Whitebox Geospatial Analysis Tools. Whitebox GAT has several tools available for depression removal within the DEM Pre-processing toolbox contained within the Hydrological Tools toolbox. For example, there are tools that implement the Planchon and Darboux algorithm, which is suitable for use with massive DEMs, as well as the Wang and Liu (2006) filling algorithm, which is far faster but not suitable for massive DEMs. It also contains tools for depression breaching, which is a very good solution for fine-resolution massive DEMs. I've just finished writing a tool that performs depression breaching very efficiently (as fast as the Wang and Liu algorithm) but it is not as suited to massive DEMs. So there is a lot of options there. Welcome to the murky waters of DEM pre-processing! Many people, I think, just use whatever tool is available in ArcGIS without much thinking about how greatly it can impact the results of the analysis.

EDIT: Okay, if it's channel lines that you're after then there are really two general approaches to accomplishing this task. The first approach is to use a morphologically based approach. These techniques are based on the early work of Peucker and Douglas (1975) and Johnston and Rosenfeld (1975), and are based on finding v-shaped profiles, some measure of thresholded curvature, or some low topographic position. They have the advantage that they don't require depression filling or removal of flat areas and they can work quite well for highly accurate, fine resolution DEMs in areas of relatively high topographic relief. They have the disadvantage that they don't necessarily produce continuous, single-cell wide channel networks and therefore require substantial post-processing. They can also be greatly affected by the scale of operation as seen by the impacts of DEM smoothing filters. In Whitebox GAT, you will find the Find Valleys series of tools in the Stream Network Analysis toolbox that can be used to perform this type of channel mapping.

The second general approach is based on measuring upslope contributing area. These techniques all go back to the work of O'Callaghan and Mark and the D8 flow algorithm, although there have been numerous studies since. The general idea is that you can use the DEM as a means of discerning flowpaths and for measuring upslope contributing area. In reality the importance of upslope contributing area is that it is a surrogate for discharge (the larger the area draining to a site, the greater the amount water discharged from the location). While drainage area and discharge are actually quite well correlated for most basins, it is generally a non-linear relation. With the DEM handling both the flow direction problem and the upslope area/discharge measure, the issue becomes one of defining channel heads, i.e. it is a channel initiation issue related to erosion of surface materials. We generally figure this out simply by applying a constant landscape invariant threshold to the contributing area map, although there is a fair amount of research that demonstrates that no such constant threshold actually exists and that it is dependent on local slope and surface materials (see the work of Montgomery). That's why you generally have to experiment a fair amount with various threshold before finding one that's appropriate. Anyhow, in Whitebox GAT, you can use one of the several flow routing algorithms available in the Hydrological Analysis toolbox to measure upslope area, although remember that these techniques DO require removal of depressions and flat areas to work properly. Also see the Extract Streams tool in the Stream Network Analysis toolbox. The main advantage of these area based methods is that they can produce continuous, single-cell wide channels networks that are amenable to stream network analysis. The tools in the Stream Network Analysis toolbox can be used to do all sorts of analytical processing of raster stream networks extracted from DEMs including stream classification and ordering, channel slope analysis, profile mapping, identification of main channels, etc. Importantly for you, there is a tool called Raster Streams to Vector that will convert your raster stream into a shapefile that you can then use for display purposes.

  • Thanks a lot! Now I really see clearny into DEMs pre-processing. But let me ask one more thing. My biggest problem is generating of runoff lines. I need to find algorythm which is able to generate lines. In final I need line shapefile with those lines. See upper for example.
    – david_p
    Commented Aug 4, 2014 at 13:27
  • Okay, I'll try to solve my problem with Whitebox GAT, it seems to be good tool! And thank you very much for explanation! Maybe I'll ask you some more question if I find some problems, if you don't mind..:)
    – david_p
    Commented Aug 5, 2014 at 9:03
  • @david_p Of course, feel free to email me your questions as you work through your problem, or join the Listserv (lsoft.com/scripts/…) and tap into the user community knowledge base. Also, other useful tools for this type of analysis include SAGA GIS and TopoToolbox both of which I would recommend. Commented Aug 5, 2014 at 12:57
  • @WhiteboxDev - what do you consider the threshold for massive versus non-massive DEMs? And isn't it strange that only the slower tool can handle the larger DEMs, while the faster algorithm can't?
    – traggatmot
    Commented Aug 5, 2014 at 23:33
  • @traggatmot First, the definition of a massive DEM depends on how much RAM your computer has. I have 64GB so, that is a pretty big DEM! As for your second question, an algorithm that requires a DEM be read completely into memory will necessarily have a smaller maximum DEM size it can process but because accessing values in RAM is about 10X faster than from disc, it will also be much faster. I don't think they like these comments to be discussions, so send me an email on the Whitebox listserv if you have any further questions on this topic. ;) Commented Aug 6, 2014 at 0:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.