[GRASS-dev] [GRASS GIS] #2764: corrupt data written to FCELL and DCELL rasters, hard to re-produce
GRASS GIS
trac at osgeo.org
Mon Jan 8 12:09:27 PST 2018
#2764: corrupt data written to FCELL and DCELL rasters, hard to re-produce
---------------------+-------------------------
Reporter: dylan | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.2.3
Component: Raster | Version: unspecified
Resolution: | Keywords:
CPU: x86-64 | Platform: Linux
---------------------+-------------------------
Comment (by mmetz):
Replying to [comment:27 dylan]:
> Replying to [comment:26 mmetz]:
> >[...]
> > That means r.sun has created corrupt output. BTW, considering that you
are running several instances of r.sun in parallel, I wonder if you
compiled GRASS with openmp and use the nprocs option of r.sun. In this
case you would have several instances of r.sun and each instance of r.sun
would be multi-threaded: no speed gain, more sources of potential errors.
>
> Note that this sometimes happens in the follow-up step where there
output from `r.sun` is converted to MJ/sq.m by `r.mapcalc`: "beam.106"
(`r.mapcalc`) vs. "temp_beam_106" (`r.sun`).
This is a very simple r.mapcalc expression. You should be able to trigger
the error by simply creating a number of maps in parallel with r.mapcalc,
after that (serially) testing the outputs with r.univar. With r.mapcalc in
daily-rad.sh, you are running several independent instances of r.mapcalc
in parallel. With daily-rad.sh called by beam-rad-at-tile.sh you are not
testing if GRASS is thread-safe, instead you are testing if your OS,
filesystem and hard drive can handle multiple simultaneous IO requests.
Please check your system messages and the health of your hard drives (e.g.
with smartctl) first, before you proceed.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2764#comment:28>
GRASS GIS <https://grass.osgeo.org>
More information about the grass-dev
mailing list