I am trying to calculate rivers for a rather larger geographic area in SW China, so my machine runs out of memory if I use the in-memory r.watershed.
However, r.watershed -m (using disk memory) fails with the following error message:
WARNING: segment_pagein: No such file or directory
WARNING: cseg_put(): could not write segment file
Having a quick look through the (rather old -- nothing wrong with that) code it looks like the temporary file used to store the data is lost somewhere.
This happens with both grass-61 lastest cvs released version on windows/cygwin as well as with grass 6.1 on suse linux, but not with grass 6.01 on suse, so something has changed.
have you tried r.terraflow to see whether it will do the job?
Currently the SFD is not working so the flowtracing is done using
multiple flow direction but you should still be able to get pretty good stream network. I just ran it for entire Panama at 90m resolution (something around 7000x3000 grid) in impressive 2 hours, see the related links at http://skagit.meas.ncsu.edu/~helena/measwork/panama/panama.html
r.watershed can give more accurate results but as far as I remember the segmented version never worked properly and I am not sure whether there is an easy fix (as there are probably more problems than the temp file). You can still get it done
with r.wtaershed if you split your DEM but it is a lot more work and time.
Helena
Ludwig M Brinckmann wrote:
I am trying to calculate rivers for a rather larger geographic area in SW China, so my machine runs out of memory if I use the in-memory r.watershed.
However, r.watershed -m (using disk memory) fails with the following error message:
WARNING: segment_pagein: No such file or directory
WARNING: cseg_put(): could not write segment file
Having a quick look through the (rather old -- nothing wrong with that) code it looks like the temporary file used to store the data is lost somewhere.
This happens with both grass-61 lastest cvs released version on windows/cygwin as well as with grass 6.1 on suse linux, but not with grass 6.01 on suse, so something has changed.
I am trying to calculate rivers for a rather larger geographic area in
SW China, so my machine runs out of memory if I use the in-memory
r.watershed. However, r.watershed -m (using disk memory) fails with
the following error message:
WARNING: segment_pagein: No such file or directory
^^^^^^^^^^^ did you see this exact message with the latest CVS version?
i.e. something from the last 3 weeks? That error message code was
recently changed (for the better).
WARNING: cseg_put(): could not write segment file
Having a quick look through the (rather old -- nothing wrong with
that) code it looks like the temporary file used to store the data is
lost somewhere.
This happens with both grass-61 lastest cvs released version on
windows/cygwin as well as with grass 6.1 on suse linux, but not with
grass 6.01 on suse, so something has changed.
It is the precompiled version 13-02-2006 for cygwin.
I have figured the message is a crypted way of telling me I am out of diskspace....
(Apologies for the late reply, I am out in the sticks at the moment with little access to the internet...had hoped to be able to compare my calculated stream-network with reality on the ground...)
Ludwig
From: Hamish <hamish_nospam@yahoo.com>
To: "Ludwig M Brinckmann" <ludwigbrinckmann@hotmail.com>
CC: grass5@grass.itc.it
Subject: Re: [GRASS5] Trouble with r.watershed -m
Date: Tue, 28 Mar 2006 14:35:33 +1200
> I am trying to calculate rivers for a rather larger geographic area in
> SW China, so my machine runs out of memory if I use the in-memory
> r.watershed. However, r.watershed -m (using disk memory) fails with
> the following error message:
>
> WARNING: segment_pagein: No such file or directory
^^^^^^^^^^^ did you see this exact message with the latest CVS version?
i.e. something from the last 3 weeks? That error message code was
recently changed (for the better).
> WARNING: cseg_put(): could not write segment file
>
> Having a quick look through the (rather old -- nothing wrong with
> that) code it looks like the temporary file used to store the data is
> lost somewhere.
>
> This happens with both grass-61 lastest cvs released version on
> windows/cygwin as well as with grass 6.1 on suse linux, but not with
> grass 6.01 on suse, so something has changed.
> > I am trying to calculate rivers for a rather larger geographic
> > area in SW China, so my machine runs out of memory if I use the
> > in-memory r.watershed. However, r.watershed -m (using disk memory)
> > fails with the following error message:
> >
> > WARNING: segment_pagein: No such file or directory
>
>^^^^^^^^^^^ did you see this exact message with the latest CVS
>version? i.e. something from the last 3 weeks? That error message
>code was recently changed (for the better).
..
It is the precompiled version 13-02-2006 for cygwin.
Ok, the error message was updated 1 March, and improved since then; the
last change to it was 5 days ago.
I have figured the message is a crypted way of telling me I am out of
diskspace....
No, it is likely that error message was bogus (the read() call did fail,
but the given "why" part was ~random/wrong). (devs: into 6.0.3 ?)
> > WARNING: cseg_put(): could not write segment file
you get this when segment_put() fails for some reason in
raster/r.watershed/seg/cseg_put.c
lib/segement/put.c
i.e. you got it because you got the other error message first.
For now try r.watershed without the -m flag. This bypasses all the
segmentation code. (but doesn't help fix the bug)