[GRASS-dev] Error with parallel i.sentinel.import usage (temp_region error?)
Anika Bettge
bettge at mundialis.de
Tue Dec 10 02:37:52 PST 2019
Hello all,
I try to import with GRASS78 in parallel Sentinel-2 data with "i.sentinel.import -r" (Multicore VM (32 cores -> 31 parallel processes)).
Sometimes the following error occurs (note the formatting comes from deploying in actinia):
...
"99..Reprojecting <T32ULB_20181010T104019_B08_10m>...",
"96..100",
"90..99..96..100",
"99..93..100",
"99..100",
"96..96..99..100",
"99..100",
"Estimated target resolution for input band <T32ULC_20180702T104019_B04_10m>: 9.998178838141047",
"Estimated target resolution for input band <T32ULC_20181010T104019_B04_10m>: 9.998178838141047",
"Estimated target resolution for input band <T32ULB_20180930T104019_B08_10m>: 9.998178838136036",
"Estimated target resolution for input band <T32ULC_20180806T104021_B04_10m>: 9.998178838141047",
"Estimated target resolution for input band <T31UGT_20180806T104021_B08_10m>: 9.26372380446332",
"Estimated target resolution for input band <T31UGT_20181010T104019_B08_10m>: 9.26372380446332",
"ERROR: Region file mapset_a6335f7028114ee9989530cb55874785//WIND is empty", <---- here
"ERROR: Region file mapset_a6335f7028114ee9989530cb55874785//WIND is empty",
"Using given resolution for input band <T32ULC_20180702T104019_B04_10m>: 10.0",
"Using given resolution for input band <T32ULC_20181010T104019_B04_10m>: 10.0",
"Using given resolution for input band <T32ULC_20180806T104021_B04_10m>: 10.0",
"Reprojecting <T32ULC_20181010T104019_B04_10m>...",
"Reprojecting <T32ULC_20180702T104019_B04_10m>...",
"Traceback (most recent call last):",
" File \"/usr/local/grass7/scripts/r.import\", line 403, in <module>",
" sys.exit(main())",
" File \"/usr/local/grass7/scripts/r.import\", line 355, in main",
" grass.use_temp_region()",
" File \"/usr/local/grass7/etc/python/grass/script/core.py\", line 1216, in use_temp_region",
" run_command(\"g.region\", save=name, overwrite=True)",
" File \"/usr/local/grass7/etc/python/grass/script/core.py\", line 441, in run_command",
" return handle_errors(returncode, returncode, args, kwargs)",
" File \"/usr/local/grass7/etc/python/grass/script/core.py\", line 343, in handle_errors",
" returncode=returncode)",
"grass.exceptions.CalledModuleError: Module run None g.region --o save=tmp.r.import.19907 ended with error",
"Process ended with non-zero return code 1. See errors in the (error) output.",
"Traceback (most recent call last):",
" File \"/usr/local/grass7/scripts/r.import\", line 403, in <module>",
" sys.exit(main())",
" File \"/usr/local/grass7/scripts/r.import\", line 355, in main",
" grass.use_temp_region()",
" File \"/usr/local/grass7/etc/python/grass/script/core.py\", line 1216, in use_temp_region",
" run_command(\"g.region\", save=name, overwrite=True)",
" File \"/usr/local/grass7/etc/python/grass/script/core.py\", line 441, in run_command",
" return handle_errors(returncode, returncode, args, kwargs)",
" File \"/usr/local/grass7/etc/python/grass/script/core.py\", line 343, in handle_errors",
" returncode=returncode)",
"grass.exceptions.CalledModuleError: Module run None g.region --o save=tmp.r.import.20767 ended with error",
"Process ended with non-zero return code 1. See errors in the (error) output.",
"Processing <T32ULB_20180930T104019_B04_10m>...",
"Using given resolution for input band <T31UGT_20181010T104019_B08_10m>: 10.0",
"Processing <T31UGT_20180806T104021_B04_10m>...",
"Reprojecting <T32ULC_20180806T104021_B04_10m>...",
"Reprojecting <T31UGT_20181010T104019_B08_10m>...",
"WARNING: Projection of dataset does not appear to match current location.",
...
I found out that r.import uses temp_region and that this sets an environment variable WIND_OVERRIDE:
https://github.com/OSGeo/grass/blob/4dc36bb86fa9181259fa7f9b9472f8d3bc4e787e/lib/python/script/core.py#L1281
os.environ['WIND_OVERRIDE'] = name
And in parallel processing the variable is set by each process and the temp_region can be deleted to early.
Does anyone know if this is the reason of my error and how to fix this?
Best,
Anika
More information about the grass-dev
mailing list