[GRASS-user] g_malloc on r.watershed with 30GB free ram + r.fill.dir crash
Markus Neteler
neteler at osgeo.org
Thu Sep 10 13:13:22 PDT 2015
On Thu, Sep 10, 2015 at 9:00 PM, mael <mael.moreni at onf.fr> wrote:
> I am working on a 13407 lines * 11050 columns, 565 MB, raster file (SRTM
DEM,
> 30m) with a script that calls a series of hydrological modules in GRASS
> 7.0.0.
> The system I am using is a Windows server 2012 R2, 64 bit Intel Xeon 2.5
GHz
> processor, 32GB of RAM.
>
> The first module called in the script is r.watershed. When lunched on that
> data set, it generates the following error : G_malloc: impossible to
> allocate 1185910608 bytes to raster/r.watershed/ram/init_vars.c:149
> It apears to be running out of memory even though there is a lot more
> available than what it's asking for.
Very likely your computational region is wrong, i.e. too large.
Check it with
g.region -p
I just used the EU DEM 25m to make a test on my tiny ASUS laptop (4GB RAM,
Intel i3), using Fedora 22, 64bit:
> 13407 * 11050 <<--- your DEM
[1] 148147350
>
> 12880 * 16370 <<-- my DEM
[1] 210845600
(I just had this DEM ready here to play with)
GRASS 7.1.svn (eu_laea):~ > g.region -p
projection: 99 (Lambert Azimuthal Equal Area)
zone: 0
datum: etrs89
ellipsoid: grs80
north: 2699750
south: 2377750
west: 4126750
east: 4536000
nsres: 25
ewres: 25
rows: 12880
cols: 16370
cells: 210845600
Results:
RAM: it used some swap memory since I have browser etc open at the same
time.
[neteler at oboe ~]$ free
total used free shared buff/cache
available
Mem: 3930508 3600648 32408 93164 297452
165584
Swap: 3932156 2735164 1196992
Timing:
GRASS 7.1.svn (eu_laea):~ > time -p r.watershed elevation=eu_dem_25_TN
accumulation=eu_dem_25_TN.acc basin=eu_dem_25_TN.watersheds threshold=10000
SECTION 1a (of 5): Initiating Memory.
SECTION 1b (of 5): Determining Offmap Flow.
100%
SECTION 2: A* Search.
100%
SECTION 3a: Accumulating Surface Flow with MFD.
100%
SECTION 3b: Adjusting drainage directions.
100%
SECTION 4: Watershed determination.
100%
SECTION 5: Closing Maps.
real 1270.30
user 1048.68
sys 54.00
... 21 minutes.
> I managed to pass that first hurdle using the -m flag on r.watershed. The
> scripts now requires 7 GB of disk space; even if it's slow and I don't
> understand why it can't use the ram in the first place, r.watershed
finishes
> correctly.
Given my test on a small laptop, it is very likely that your actual
computational region
does not match the input map.
> However, when the script gets to the next module, r.fill.dir, GRASS
crashes
> at 'Reading input elevation raster map...' with the following message:
Why do you use the r.fill.dir module?
Markus
--
http://consulting.neteler.org
http://gis.cri.fmach.it/neteler/
http://courses.neteler.org/blog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20150910/3832d1b5/attachment.html>
More information about the grass-user
mailing list