[R-sig-Geo] rgrass7 and snow

Rainer M Krug Rainer at krugs.de
Fri Apr 22 18:37:19 CEST 2016


"Dr Didier G. Leibovici" <didier.leibovici at nottingham.ac.uk> writes:

> On 22/04/2016 16:21, Rainer M Krug wrote:
>
>
>  Le vendredi 22 avril 2016, Dr Didier G. Leibovici <didier.leibovici at nottingham.ac.uk> a écrit :
>
>
>  Hi,
>
>  we are trying to use 'grass' in parallel programming with 'snow'
>
>  The code does multiple simulations of a r.viewshed resampling the points
>  generating the viewshed.
>  (I guess the other solution would be to have an equivalent of r.viewshed
>  in an R library or script) ...
>  I think the problems are to do with the gisDbase ...
>
>  Testing with 2 clusters we start with:
>  > clusterCall(cl,initGRASS,"/usr/lib/grass70",home=getwd(),
>  gisDbase="GRASS_TEMP", override=TRUE )
>  [[1]]
>  gisdbase GRASS_TEMP
>  location file5edb6bf06d70
>  mapset file5edb4b0cda81
>  rows 1
>  columns 1
>  north 1
>  south 0
>  west 0
>  east 1
>  nsres 1
>  ewres 1
>  projection NA
>
>  [[2]]
>  gisdbase GRASS_TEMP
>  location file5edb6bf06d70
>  mapset file5edb4b0cda81
>
>  then read a DEM
>  clusterCall(cl,execGRASS,"r.in.gdal", flags="o",
>  parameters=list(input=baseDemFilename, output="DEM"))
>  clusterCall(cl,execGRASS, "g.region", parameters=list(raster="DEM"))
>
>  and then loop on the sampled points ... involving
>  execGRASS("r.viewshed", parameters = list(input = "DEM", output =
>  "cumulativeViewshed", max_distance=maxDistance, coordinates =
>  as.integer(coords[i,])), flags = c("overwrite" , "b","quiet"))
>
>  and cumulating the viewshed (reading the ouput using
>  readRAST("cumulativeViewshed")), all this (loop over the points)within a
>  function simul() called
>  by a
>  parSapply(cl,1:nDsimul,simul)
>
>  Here is the error
>  Error in checkForRemoteErrors(val) :
>  2 nodes produced errors; first error: no such file:
>  GRASS_TEMP/file5edb6bf06d70/file5edb4b0cda81/.tmp/geoprocessing/cumulativeViewshed
>  Calls: parSapply ... clusterApply -> staticClusterApply ->
>  checkForRemoteErrors
>
>  any idea?
>
>  The problem is likely that you are working in parallel in the same map set. I would suggest to use a separate Mauser for each parallel task to write to,
>  read from a different map set which no parallel task is writing to, and finally, after all threads are finished, you can collect the results from each thread
>  in one map set and delete the temporary map sets. 
>
>
>  Cheers, 
>
>
>  Rainer 
>
>
> Yes all the problem is there for each cluster to work on a separate GRASS_TEMP
> ( we have verified that it was running with I cl only!)
> Can we generate randomly the location or mapset so they will not collapse onto the same?

I used a setup for parallel processing (simulating spread under
different scenarios), where I had

1) one locaction in which everything happened, which contained:
2) one mapset which was read-only for each parallel task
3) one mapset for each task in which the results were written; this was
a folder, which was created for each parallel task
4) one mapset into which the individual simulation tasks were analysed into.

So finally, I had a mapset for each simulation, and one in which the
analysis was.

So yes, why shouldn't you be able to create a mapset per task? You can
do it during the initialization by using GRASS.

Hope this helps,

Rainer



>
> DIdier
>
>
>  thanks,
>
>  DIdier
>
>  --
>  Dr Didier G. Leibovici
>  d-d'ye ley-bow-v-c
>  Senior Research Fellow
>  Geocomputational Modelling & Geospatial Statistics
>  Nottingham Geospatial Institute
>  University of Nottingham, UK
>  +44 (0)115 84 13924
>  http://www.nottingham.ac.uk/ngi/people/didier.leibovici
>  Google+ didier.leibovici at gmail.com
>  Skype didierleibovici
>
>  [[alternative HTML version deleted]]
>
>  _______________________________________________
>  R-sig-Geo mailing list
>  R-sig-Geo at r-project.org
>  https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
>
>  -- 
>  Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany)
>
>  Centre of Excellence for Invasion Biology
>  Stellenbosch University
>  South Africa
>
>  Tel : +33 - (0)9 53 10 27 44
>  Cell: +33 - (0)6 85 62 59 98
>  Fax (F): +33 - (0)9 58 10 27 44
>
>  Fax (D): +49 - (0)3 21 21 25 22 44
>
>  email: Rainer at krugs.de
>
>  Skype: RMkrug

-- 
Rainer M. Krug
email: Rainer<at>krugs<dot>de
PGP: 0x0F52F982
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 454 bytes
Desc: not available
URL: <https://stat.ethz.ch/pipermail/r-sig-geo/attachments/20160422/4a387e4b/attachment.bin>


More information about the R-sig-Geo mailing list