# HG changeset patch # User siwaa # Date 1695741702 0 # Node ID 41f652e6616f51632675af449b98b28713352658 # Parent fa8e742b197b36f62e9bc0945d64648b1f009847 "planemo upload for repository https://forgemia.inra.fr/redelac/redelac-toolbox/-/tree/f8a7aebffe0c850bef03045efa3772aca6cd51c2/tools/REDELACSticsSimulator commit f8a7aebffe0c850bef03045efa3772aca6cd51c2-dirty" diff -r fa8e742b197b -r 41f652e6616f redelacSticsSimulator.R --- a/redelacSticsSimulator.R Mon Aug 21 15:47:50 2023 +0000 +++ b/redelacSticsSimulator.R Tue Sep 26 15:21:42 2023 +0000 @@ -4,35 +4,34 @@ library(doParallel) library(readxl) +sessionInfo() + workspace <- paste0(getwd(), "/WS") javastics_path <- getwd() default_config_path <- paste0(javastics_path, "/config") txt_path <- paste0(getwd(), "/WS/txt_files") -print("==================================") - -print(paste0("Cores=", detectCores())) -print(paste0("javastics=", javastics_path)) -print(paste0("ws=", workspace)) -print(paste0("out_dir=", txt_path)) - -print("==================================") - # List of successive USMs successive_usms_file <- ("successionPlan.csv") successive_usms_tab <- read.csv(file = file.path(workspace, successive_usms_file), sep =";") -#no_cores <- detectCores() - 1 -#no_cores <- 10 -#cl <- makeCluster(no_cores) -#registerDoParallel(cl) +args = commandArgs(trailingOnly = TRUE) + +parallel <- (args[1] == "parallel") +nbSlots <- as.integer(args[2]) -result <- list() +if (parallel) { + cl <- makeCluster(nbSlots) + print(cl) + registerDoParallel(cl) + `%dordopar%` <- `%dopar%` +} else { + `%dordopar%` <- `%do%` +} -#result <- foreach(i=1:nrow(successive_usms_tab), -# .packages = c("SticsRFiles", "SticsOnR") ) %dopar% { - for(i in 1:nrow(successive_usms_tab)) { +result <- foreach(i=1:nrow(successive_usms_tab), + .packages = c("foreach", "SticsRFiles", "SticsOnR") ) %dordopar% { nusms <- as.numeric(successive_usms_tab[i,2]) @@ -47,12 +46,11 @@ successive = list_successive_usms) list_usms <- vec - singleResult = stics_wrapper(model_options = sim_options, situation = list_usms) + return(stics_wrapper(model_options = sim_options, situation = list_usms)) - result = append(result, list(singleResult)) - } +} -#stopCluster(cl) +if (parallel) stopCluster(cl) for (i in 1:nrow(successive_usms_tab)) { #i=1 if (i == 1) { diff -r fa8e742b197b -r 41f652e6616f redelacSticsSimulator.bash --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/redelacSticsSimulator.bash Tue Sep 26 15:21:42 2023 +0000 @@ -0,0 +1,12 @@ +cp -r /home/rstudio/JavaSTICS-1.5.1-STICS-10.0.0 . && +unzip -qq $4 -d TMP && +export WSname=$(ls TMP) && +mv TMP/* JavaSTICS-1.5.1-STICS-10.0.0/WS && +cp $5 JavaSTICS-1.5.1-STICS-10.0.0/WS/successionPlan.csv && +cd JavaSTICS-1.5.1-STICS-10.0.0 && +Rscript --verbose $3/redelacSticsSimulator.R $1 $2 && +mv WS $WSname && +zip -qq -r $WSname $WSname && +cp $WSname.zip $6 && +cp results.RData $7 + diff -r fa8e742b197b -r 41f652e6616f redelacSticsSimulator.xml --- a/redelacSticsSimulator.xml Mon Aug 21 15:47:50 2023 +0000 +++ b/redelacSticsSimulator.xml Tue Sep 26 15:21:42 2023 +0000 @@ -1,29 +1,18 @@ - + to run sequences paralelly [Stics-10.0.0] - docker://registry.forgemia.inra.fr/quaysofthestics/sticsquays/rstudio_stics:10.0.0 + docker://registry.forgemia.inra.fr/redelac/redelac-toolbox/sticsrpacks:28483bbc8a70159a36bccc30e2270284ea4388e3 - + +