[GRASS-dev] Re: [GRASS GIS] #518: negative flow accumulation with r.watershed SFD or MFD

Helena Mitasova hmitaso at unity.ncsu.edu
Sat Mar 7 22:50:24 EST 2009

There is no question that the default should be kept negative,  
although checking whether the result
is correct would not hurt - we can look at it with our Panama  
experiments, others using
r.watershed could provide some helpful feedback too.

But adding a flag to keep values positive actually makes sense to me,  
if the flag is properly
described (e.g. use positive flowaccumulation even for uncomplete  
contributing areas).
User who selects to run r.watershed with this flag apparently knows  
that he has
uncomplete watersheds and will be getting negative values that may  
not be useful
for his application, so there is no need to tell him that he has a  
problem - he would already know it
and for some reason wants to ignore it. I often found myself running  
mapcalc abs on the accum
output for various reasons.

BUT for erosion modeling you really want to run r.watershed  with  
negative values - erosion models require
upslope contributing area as measure of water flow and if the  
watershed is not complete,
water flow will be underestimated leading to underestimated erosion  
rates. So the cells with
uncomplete contributing area need to be excluded from the computation  
of erosion, and here
the negative values actually come handy.


On Mar 6, 2009, at 12:35 PM, Markus Metz wrote:

> Michael Barton wrote:
>>>> A much more direct way is to give a warning for each problematic  
>>>> basin in the output:
>>>> WARNING: part of basin XX extends beyond region extent;  
>>>> accumulation values may be too low.
>>> IMHO not very practical. When thousands of basins are calculated,  
>>> you would get flooded with these warnings.
>> Are people calculating so many basins that thousands would be  
>> along the region extents?
> It is technically possible to calculate thousands of basins,  
> therefore the code must consider that. IMHO, the code must consider  
> all technically possible scenarios, you never know what a module is  
> used for, and I would like it to be very generally applicable and  
> not restricted to certain scenarios.
>>> Hmm, don't you need to know the exact flow accumulation to  
>>> calculate erosion/deposition? Are some "at least so much, but  
>>> probably much more" values really ok? BTW, RUSLE factors as  
>>> created by r.watershed are also only correct for cells with  
>>> positive flow accumulation.
>> It depends on how much difference there is. A couple cells would  
>> not make much difference, 100's would make a difference. But I'd  
>> still like to know which ones are a problem of course. I'm not  
>> suggesting to make absolute value of accumulation a default (not  
>> permitted in 6.5 anyway), but simply making it an option that the  
>> user could exercise
> Now I'm confused: negative values tell you where there is a  
> problem, but you don't want negative values, only positive values,  
> but then there should be additional, new output telling you where  
> the problems are?
> Coming up with my technically possible scenarios: let's assume a  
> basin threshold of 10,000, that gives a max accumulation value for  
> exterior basins of 10,000. 10 cells within an exterior basin have  
> negative flow accumulation, that's only 0.1%. The absolute flow  
> accumulation value is probably very low, whereas the real flow  
> accumulation value can be anything, also >>> 10,000. Certain  
> calculations will be very different. The exterior basin is in this  
> case in reality an interior basin, but this can only be found out  
> by expanding the computational region.
>>> The new SFD version should produce results identical to previous  
>>> versions. If not, I introduced a bug. The MFD version calculates  
>>> different, improved basins compared to SFD.
>> This is the issue. It happened when we tried MFD. I'm happy for  
>> the better calculations and we'll redo our watershed boundaries.  
>> But this points out some of the problems.
> To be precise, the calculations are only better if MFD is regarded  
> as more accurate than SFD.
>>> Or introduce a new output option named something like  
>>> "incomplete_basin_parts" where the incomplete parts are assigned  
>>> the negative value of the basin they belong to.
>> If this is better than warnings, that's OK too. I just think that  
>> there might be a better way to do this than only by making the  
>> accumulation values negative.
> Maybe Helena can give some tips?
> I personally am biased, I like the concept of the original  
> r.watershed with all that information in the output too much:-) See  
> also negative drainage direction, IMHO very useful.
> Markus M
> _______________________________________________
> grass-dev mailing list
> grass-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-dev

More information about the grass-dev mailing list