Mon, Dec 18 2006
15:14:20
|
|
Request created by msieczka
|
|
Subject: r.terraflow: false WARNING and Aborted; tcltk's GUI tabs are corrupted
GRASS 6.3 CVS 18.12.2006
r.terraflow (called like in [1]) crashes on some input rasters' (see [2] for
error message). I don't know what is the pattern. I happened to create such a
raster by doing:
$ g.region n=5678875 s=5675775 w=596850 e=598800 res=25 -a
$ r.mapcalc 'surf=-(cos(col())*row()+sin(col())*row())+250'
There is nothing really special about the raster 'surf' created as above. It
is DCELL, with range 74.637518 - 248.982700, very small (78 cols X 124 rows).
Different rasters of the same size, DCELL as well as CELL, do not make
r.terraflow crash. I couldn't reproduce the crash with spearfish data either.
Please can somebody say why the raster created as above crashes r.terraflow?
Note the crash doesn't happen always (most of the time though). Sometimes if
r.terraflow with syntax like in [1] is called 3 or 20 times it finally starts
working and completes (although the false "WARNING: grid larger than memory
(ignored)" is still issued even then).
Using
Maciek
|
|
Mon, Dec 18 2006
15:17:53
|
|
Mail sent by msieczka
|
|
Sorry, pressed enter too soon. The rest of the message is:
Using Ubuntu 5.04 Breezy 32bit AMD k7, gcc and g++ 4.0.2 20050808. Plenty of
memory and disk space free.
BTW: r.terrafow's GUI is screwed - the 'Output' tab is empty; everything is in
the 'Options' tab.
[1]
r.terraflow elev=surf filled=surf_ter_filled direction=surf_ter_dir
swatershed=surf_ter_bas accumulation=surf_ter_accu tci=surf_ter_tci
[2]
elevation stored as FLOAT (4B)
WARNING: raster surf is of type DCELL_TYPE --precision may be lost.
region size is 124 x 78
STREAM temporary files in /var/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=9672, nodata elements=0
largest temporary files:
FILL: 528.94K (541632) [9672 elements, 56B each]
FLOW: 755.62K (773760) [9672 elements, 80B each]
Will need at least 1.48M (1547520) space available in /var/tmp
------------------------------
COMPUTING FLOW DIRECTIONS
classifying nodata (inner & boundary)
assigning preliminary directions
finding flat areas (plateaus and depressions)
assigning directions on plateaus
WARNING: grid larger than memory (ignored)
r.terraflow: grid.cc:56: grid::grid(dimension_type, dimension_type,
dimension_type, dimension_type, long int, cclabel_type): Assertion
`width*height*sizeof(gridElement) < getAvailableMemory()' failed.
Aborted
Maciek
|
|
Tue, Jan 23 2007
21:42:05
|
|
Mail sent by mneteler
|
|
Hi,
I didn't check the computation problems but the GUI seems to
be fine. I assume that you need(ed) a full recompile which
is always needed if the parser changes.
Markus |
|
Wed, Jan 24 2007
21:27:20
|
|
Mail sent by msieczka
|
|
mneteler wrote (Tue, Jan 23 2007 21:42:05):
> I didn't check the computation problems but the GUI seems to
> be fine. I assume that you need(ed) a full recompile which
> is always needed if the parser changes.
Markus,
You are correct about the GUI. But the problem that r.terraflow aborts on an
input raster created with:
$ g.region n=5678875 s=5675775 w=596850 e=598800 res=25 -a
$ r.mapcalc 'surf=-(cos(col())*row()+sin(col())*row())+250'
is still there.
Strange is the warning that pops up:
WARNING: grid larger than memory (ignored)
which seems bogus, because the input raster is really small. Is this telling
you anything?
Maciek
|
|
Mon, Jan 29 2007
20:14:03
|
|
Subject changed to r.terraflow: false WARNING and Aborted by msieczka
|
|