[GRASS-user] r.terraflow

Markus Neteler neteler at osgeo.org
Mon Nov 9 07:58:34 EST 2009


On Mon, Nov 9, 2009 at 1:24 PM, Francesco Mirabella <mirabell at unipg.it> wrote:
> Hi all,
> I am trying to get flow directions out of a dem (10m resolution). I have
> tried r.terraflow which gives me the error below:
> Can anyone tell me if I am doing something wrong and how can I solve this?
> many thanks
> Francesco
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> GRASS 6.4.0RC5 (WGS84_UTM33):~ > r.terraflow elevation=copia.dem
> filled=flood direction=flow swatershed=sink accumulation=accumulation
> tci=tci d8cut=infinity memory=300 STREAM_DIR=/tmp stats=stats.out
>
> STREAM temporary files in /tmp  (THESE INTERMEDIATE STREAMS WILL NOT BE
> DELETED IN CASE OF ABNORMAL TERMINATION OF THE PROGRAM. TO SAVE SPACE PLEASE
> DELETE THESE FILES MANUALLY!)
> file stats.out exists - renaming.
> MFD flow direction
> D8CUT=999999986991104.000000
> Memory size: 300.00M (314572800) bytes
> Memory manager registering memory in MM_IGNORE_MEMORY_EXCEEDED mode.
> total elements=67071935, nodata elements=8624611
> largest temporary files:
> FILL: 3.50G (3756028360) [67071935 elements, 56B each]
> FLOW: 4.35G (4675785920) [58447324 elements, 80B each]
> Will need at least 8.71G (9351571840) space available in /tmp
> ------------------------------
> COMPUTING FLOW DIRECTIONS
> classifying nodata (inner & boundary)
> EMPQUEUEADAPTIVE: starting in-memory pqueue
> EMPQUEUEADAPTIVE: available memory: 297.929MB
> EMPQUEUEADAPTIVE: desired memory: 297.929MB
> sz_stream: 270388 buf_arity: 200 mm_overhead: 8665728 mm_avail: 312400802.
> EMPQUEUEADAPTIVE: memory overhead set to 8.26428MB
> EMPQUEUEADAPTIVE: pqsize set to 37966884
> assigning preliminary directions
> finding flat areas (plateaus and depressions)
> file=/tmp/STREAM_rSqNkF:cannot read!: Bad address
> r.terraflow:
> /usr/local/svn/grass/grass640_rc5/dist.i686-pc-linux-gnu/include/grass/iostream/ami_sort_impl.h:91:
> size_t makeRun_Block(AMI_STREAM<T>*, T*, unsigned int, Compare*) [with T =
> plateauType, Compare = ijCmpPlateauType]: Assertion `err ==
> AMI_ERROR_NO_ERROR || err == AMI_ERROR_END_OF_STREAM' failed.
> Abortito

This is a known bug:
http://trac.osgeo.org/grass/ticket/775

with a patch (r.terraflow.diff) to test. Perhaps you could try it
and report back directly in the ticket?

thanks
Markus


More information about the grass-user mailing list