[GRASS-user] r.watershed

Moritz Lennert mlennert at club.worldonline.be
Wed Jun 24 02:30:00 PDT 2015

On 23/06/15 10:32, Robl Jörg Christian wrote:
> Dear GRASS Gurus,
> During the last days I've discovered a strange behaviour of r.watershed
> and D8. The used DEM is the result from a landscape evolution model and
> there are no depressions. I cannot use MFD as the D8-FlowDirections
> input data of a variety of tools I’ve written during the last years.
> I got obviously wrong values for the flow accumulation of r.watershed
> and D8. The number of cells in the Flow Accumulation grid at the outlet
> point was significantly smaller than the area of catchment analysed
> catchment (spatial resolution in north south and east west direction is
> 1) also computed with GRASS using r.water.outlet and a conversion to an
> Area. I checked Flow Accumulation at the the outlet with an alternative
> code of a colleague and the contributing drainage area was exactly the
> value
> of the catchment size computed with r.water.outlet.
> I further found some deviations in the flow direction grid. In some
> cases the flow routing leads to the lowest neighbouring cell which
> however might not be the steepest decent. r.watershed chooses sometimes
> a diagonal flow direction while the the local channel gradient would be
> greater in horizontal direction.
> I started some test runs with very simple geometries. I've defined a
> ramp with r.mapcalc that dips in north direction and I expected that the
> this will also be shown by the flow direction of r.watershed. However,
> this is not the case. The synthetic DEM features a watershed!!! See
> attachment.  It seems that r.watershed fills the region (without need).
> This strange behavior disappears in by applying the multiple flow
> direction algorithm.
> I have tested with the latest versions grass70 , grass71 and grass645.
> Here is a test case (grass71). I would be great if somebody could
> reproduce the problem and show me a workaround.
> ---------------------------------------------------------
> g.region w=0 e=1000 s=0 n=1000 res=1 -p
> r.mapcalc "DEM = 1000 - y()"
> r.watershed -s elevation=DEM at PERMANENT accumulation=ACC drainage=DIR

After a first rapid look I can confirm the issue, but don't have an 
explanation, nor a workaround.

MarkusM, you know r.watershed best. Could you have a look ?


More information about the grass-user mailing list