On Mar 6, 2009, at 3:09 AM, <grass-dev-requ...@lists.osgeo.org> wrote:

Date: Fri, 06 Mar 2009 08:18:38 -0000
From: "GRASS GIS" <t...@osgeo.org>
Subject: [GRASS-dev] Re: [GRASS GIS] #518: negative flow accumulation
        with r.watershed SFD or MFD
To: undisclosed-recipients:;
Message-ID: <048.30fedfc30b8b5f67edb5ee82855f1...@osgeo.org>
Content-Type: text/plain; charset="utf-8"

#518: negative flow accumulation with r.watershed SFD or MFD
-------------------------- +-------------------------------------------------
 Reporter:  dylan        |       Owner:  grass-dev@lists.osgeo.org
     Type:  enhancement  |      Status:  new
 Priority:  major        |   Milestone:
Component:  default      |     Version:  svn-develbranch6
Resolution:               |    Keywords:  r.watershed
 Platform:  Linux        |         Cpu:  x86-32
-------------------------- +-------------------------------------------------
Comment (by mmetz):

IMHO, there is still some cleaning up to do for r.watershed. I left some things in it for backwards compatibility. One such thing is the "visual" output which I regard as obsolete because "accumulation" output now comes
with a (better I hope) colortable by default.
The "visual" output could be removed and another output option be added, e.g. called "absacc" that gives absolute accumulation values. That would
however break backwards compatibility, a new flag would not.

There is a good reason *not* to add this option/flag, nicely illustrated by Dylan creating this ticket. The purpose of negative accumulation values is to make people wonder what on earth is going here, then figure out that
not the whole catchment area under study was included and expand the
computational region accordingly to get proper results: only positive
accumulation values for the catchment under study.

IMHO, this is a very poor way to achieve this end--i.e., silently performing all hydrology operations and producing completely bogus values to get you to scratch your head and wonder what is going on when you notice it. I suspect this is a legacy of the age of this module. To make things worse, GRASS's other hydrology modules do not work this way.

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.

It should be possible to turn off this "feature" of negative accumulation. This is especially important for scripting. For example, we use accumulation values as part of a complex, iterative erosion/ deposition model. We are currently running this on complete watersheds created with r.watershed (although an earlier version). Our goal is not to create accumulation maps and in fact never see the accumulation maps but use the values for additional modeling. Watershed maps get deleted along the way unless a flag is set to keep them because of the very large numbers of maps created to model decades or centuries of surface process dynamics. The new version seems to be calculating the watershed in a slightly different way, and now a tiny bit must extend off the region because we are getting negative values in some watersheds that were not problematic before. We will check this of course. But we never knew that we were getting negative values until this issue came up in another context. So our model values are completely bogus and we have to run this over again. The slight difference in accumulation would have only a very tiny effect on our results, but entire negative accumulation values make a big difference. So we'll have to build in taking the absolute value of accumulation (completely negating the goal of the negative values, BTW), but it would still be nice to have a text informational warning about which watersheds might be a problem for users of the model.

Michael


_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to