[GRASS-user] flow accumulation values

Markus Metz markus.metz.giswork at gmail.com
Sun Sep 4 13:21:49 PDT 2016


On Thu, Sep 1, 2016 at 7:28 AM, Micha Silver <micha at arava.co.il> wrote:
>
>
> On 31/08/2016 23:33, Markus Metz wrote:
>
> On Fri, Aug 26, 2016 at 9:41 AM, Micha Silver <micha at arava.co.il> wrote:
>
> Hi Markus
>
> ------ Original Message ------ Subject: Re: [GRASS-user] flow accumulation
> values Date: Thu, 25 Aug 2016 19:54:59 +0200 To: Ken Mankoff, Micha Silver,
> Grass-user From: Markus Metz
>
> On Thu, Aug 25, 2016 at 4:07 PM, Ken Mankoff <mankoff at gmail.com> wrote:
>
> Is this MFD or SFD? If MFD, flow may split and re-join.
>
> Exactly. With MFD, flow may be distributed to several downstream cells
> and the accumulation value can drop when following the extracted path.
> This is is most prominent when a river flows into an ocean. Paths,
> however, follow Horton's stream network logic and can not split, only
> join.
>
>
> So what would be the correct way to get total flow accumulation for each
> stream segment?
> Do I have to revert to running r.watershed with the SFD flag?
>
> Probably yes. For MFD, streams can be more than one cell wide, and you
> would need to draw a cross-section at the beginning and end of each
> stream segment, then sum up all stream cells for each cross-section.
>
>
> I've changed my script to use the flags "-a -s" in r.watershed so that
> Single Flow Direction is used, and flow out of the region is a positive
> value. Works fine now.

Testing SFD and MFD flow accumulation as input for r.stream.extract
and r.stream.order showed that using MFD flow accumulation is fine and
provides reasonable results. For high-resolution DEMs, e.g. 1m LiDAR,
SFD-based results are IMHO unrealistic.

Instead of using flow accumulation at each stream reach end point, you
could also use basin sizes for each stream reach outlet determined
with r.water.outlet or r.stream.basins.

Markus M


More information about the grass-user mailing list