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

Markus Metz markus.metz.giswork at googlemail.com
Fri Mar 6 12:35:15 EST 2009


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


More information about the grass-dev mailing list