changeset 15:413cec4dfe5f draft

"planemo upload for repository https://forgemia.inra.fr/redelac commit e5eb5cacd8c91c5a5a8fa571e31b54d30e988733"
author siwaa
date Sat, 20 Jan 2024 09:42:29 +0000
parents 812bb8097dac
children f2fe11a20371
files redelacSticsInputGenerator.R redelacSticsInputGenerator.bash redelacSticsInputGenerator.xml
diffstat 3 files changed, 56 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/redelacSticsInputGenerator.R	Tue Dec 12 10:38:20 2023 +0000
+++ b/redelacSticsInputGenerator.R	Sat Jan 20 09:42:29 2024 +0000
@@ -4,6 +4,7 @@
 library(parallel)
 library(doParallel)
 library(doFuture)
+library(stringr)
 
 sessionInfo()
 
@@ -77,35 +78,60 @@
 
 if (parallel) {
   doFuture::registerDoFuture()
-  future::plan(multisession, workers = nbSlots)
+
+  future::plan(multicore, workers = nbSlots)
 }
 
 beforeGenXmlTime <- Sys.time()
 
-gen_usms_xml(file = file.path(workspace, "usms.xml"),
-             param_df = usms_param)
+#gen_usms_xml(file = file.path(workspace, "usms.xml"),
+#             param_df = usms_param)
+
+chunckSize <- 1000
+nbUSMs <- nrow(usms_param)
+
+ids <- seq(1, nbUSMs, chunckSize)
+
+foreach (i = ids,
+         .options.future = list(packages = c("foreach", "SticsRFiles"))) %dofuture% {
+           gen_usms_xml(file = file.path(workspace, paste0("usms__", i, ".xml")),
+                        param_df = usms_param[i:min(i + chunckSize - 1, nbUSMs),])
+         }
 
 afterGenXmlTime <- Sys.time()
 durGenX <-
   lubridate::as.duration(lubridate::interval(beforeGenXmlTime,
                                              afterGenXmlTime))
+
 beforeGenTxtTime <- Sys.time()
 
-gen_usms_xml2txt(
-  javastics = javastics_path,
-  workspace = workspace,
-  out_dir = txt_path,
-  usms_file = "usms.xml",
-  redelac = redelac,
-  parallel = parallel,
-  verbose = FALSE
-)
+
+print("betwin")
+
+
+foreach (i = ids,
+         .options.future = list(packages = c("foreach", "SticsRFiles"))) %dofuture% {
+	 print("toto")
+           gen_usms_xml2txt(
+             javastics = javastics_path,
+             workspace = workspace,
+             out_dir = txt_path,
+             usms_file = paste0("usms__", i, ".xml"),
+             redelac = redelac,
+             parallel = parallel,
+             verbose = FALSE
+           )
+	   print("titi")
+         }
 
 afterGenTxtTime <- Sys.time()
 durGenT <-
-  lubridate::as.duration(lubridate::interval(beforeGenTxtTime,
-                                             afterGenTxtTime))
-					     
+  lubridate::as.duration(lubridate::interval(beforeGenTxtTime, afterGenTxtTime))
+
+afterGenTxtTime <- Sys.time()
+durGenT <-
+  lubridate::as.duration(lubridate::interval(beforeGenTxtTime, afterGenTxtTime))
+
 endTime <- Sys.time()
 
 dur <-
@@ -116,7 +142,7 @@
 print("REDELACSticsInputGenerator Report")
 print("=================================")
 print(paste("number of usms: ", nrow(usms_param)))
-print(paste("redelac optimization:", redelac)) 
+print(paste("redelac optimization:", redelac))
 print(paste("process in parallel:", parallel))
 print(paste("nbslots:", nbSlots))
 
@@ -125,19 +151,24 @@
   lubridate::day(dur),
   lubridate::hour(dur),
   lubridate::minute(dur),
-  lubridate::second(dur))
+  lubridate::second(dur)
+)
 
 sprintf(
   'inside gen_usms_xml duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)',
   lubridate::day(durGenXP),
   lubridate::hour(durGenXP),
   lubridate::minute(durGenXP),
-  lubridate::second(durGenXP))
+  lubridate::second(durGenXP)
+)
 
 sprintf(
   'inside gen_usms_xml2txt duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)',
   lubridate::day(durGenTP),
   lubridate::hour(durGenTP),
   lubridate::minute(durGenTP),
-  lubridate::second(durGenTP))
-print("===================================================================================")
+  lubridate::second(durGenTP)
+)
+print(
+  "==================================================================================="
+)
--- a/redelacSticsInputGenerator.bash	Tue Dec 12 10:38:20 2023 +0000
+++ b/redelacSticsInputGenerator.bash	Sat Jan 20 09:42:29 2024 +0000
@@ -17,8 +17,9 @@
 cp $9 JavaSTICS-1.5.1-STICS-10.0.0/WS/Ini.csv &&
 cp ${10} JavaSTICS-1.5.1-STICS-10.0.0/WS/Station.csv &&
 cd JavaSTICS-1.5.1-STICS-10.0.0 &&
-(if [[ "$11" != "noAdditionalPlantOrConfig" ]]
-then
+(if [ "${11}" != "noAdditionalPlantOrConfig" ];
+ then
+     echo "coucou"
    unzip -q -o ${11}
 fi) &&
 /usr/bin/time -p -o ./bashlog Rscript --verbose $4/redelacSticsInputGenerator.R $1 $2 $3 &&
--- a/redelacSticsInputGenerator.xml	Tue Dec 12 10:38:20 2023 +0000
+++ b/redelacSticsInputGenerator.xml	Sat Jan 20 09:42:29 2024 +0000
@@ -1,7 +1,7 @@
-<tool id="redelacSticsInputGenerator" name="redelacSticsInputGenerator" version="1.0.8">
+<tool id="redelacSticsInputGenerator" name="redelacSticsInputGenerator" version="1.0.9">
   <description>to run generate Stics Inputs for REDELAC</description>
   <requirements>
-    <container type="singularity">docker://registry.forgemia.inra.fr/redelac/redelac-toolbox/sticsrpacks:fc777963cf7921da512ee8b091f4cebcfd1fbe19</container>
+    <container type="singularity">docker://registry.forgemia.inra.fr/redelac/redelac-toolbox/sticsrpacks:455dd124e3554e084f54830a373a59c9e3abeec8</container>
   </requirements>
   <command detect_errors="aggressive">
     <![CDATA[