Mercurial > repos > siwaa > redelac_stics_g
comparison redelacSticsInputGenerator.R @ 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 |
comparison
equal
deleted
inserted
replaced
14:812bb8097dac | 15:413cec4dfe5f |
---|---|
2 library(dplyr) | 2 library(dplyr) |
3 library(lubridate) | 3 library(lubridate) |
4 library(parallel) | 4 library(parallel) |
5 library(doParallel) | 5 library(doParallel) |
6 library(doFuture) | 6 library(doFuture) |
7 library(stringr) | |
7 | 8 |
8 sessionInfo() | 9 sessionInfo() |
9 | 10 |
10 startTime <- Sys.time() | 11 startTime <- Sys.time() |
11 | 12 |
75 | 76 |
76 gen_sta_xml(param_df = sta_param, out_dir = workspace) | 77 gen_sta_xml(param_df = sta_param, out_dir = workspace) |
77 | 78 |
78 if (parallel) { | 79 if (parallel) { |
79 doFuture::registerDoFuture() | 80 doFuture::registerDoFuture() |
80 future::plan(multisession, workers = nbSlots) | 81 |
82 future::plan(multicore, workers = nbSlots) | |
81 } | 83 } |
82 | 84 |
83 beforeGenXmlTime <- Sys.time() | 85 beforeGenXmlTime <- Sys.time() |
84 | 86 |
85 gen_usms_xml(file = file.path(workspace, "usms.xml"), | 87 #gen_usms_xml(file = file.path(workspace, "usms.xml"), |
86 param_df = usms_param) | 88 # param_df = usms_param) |
89 | |
90 chunckSize <- 1000 | |
91 nbUSMs <- nrow(usms_param) | |
92 | |
93 ids <- seq(1, nbUSMs, chunckSize) | |
94 | |
95 foreach (i = ids, | |
96 .options.future = list(packages = c("foreach", "SticsRFiles"))) %dofuture% { | |
97 gen_usms_xml(file = file.path(workspace, paste0("usms__", i, ".xml")), | |
98 param_df = usms_param[i:min(i + chunckSize - 1, nbUSMs),]) | |
99 } | |
87 | 100 |
88 afterGenXmlTime <- Sys.time() | 101 afterGenXmlTime <- Sys.time() |
89 durGenX <- | 102 durGenX <- |
90 lubridate::as.duration(lubridate::interval(beforeGenXmlTime, | 103 lubridate::as.duration(lubridate::interval(beforeGenXmlTime, |
91 afterGenXmlTime)) | 104 afterGenXmlTime)) |
105 | |
92 beforeGenTxtTime <- Sys.time() | 106 beforeGenTxtTime <- Sys.time() |
93 | 107 |
94 gen_usms_xml2txt( | 108 |
95 javastics = javastics_path, | 109 print("betwin") |
96 workspace = workspace, | 110 |
97 out_dir = txt_path, | 111 |
98 usms_file = "usms.xml", | 112 foreach (i = ids, |
99 redelac = redelac, | 113 .options.future = list(packages = c("foreach", "SticsRFiles"))) %dofuture% { |
100 parallel = parallel, | 114 print("toto") |
101 verbose = FALSE | 115 gen_usms_xml2txt( |
102 ) | 116 javastics = javastics_path, |
117 workspace = workspace, | |
118 out_dir = txt_path, | |
119 usms_file = paste0("usms__", i, ".xml"), | |
120 redelac = redelac, | |
121 parallel = parallel, | |
122 verbose = FALSE | |
123 ) | |
124 print("titi") | |
125 } | |
103 | 126 |
104 afterGenTxtTime <- Sys.time() | 127 afterGenTxtTime <- Sys.time() |
105 durGenT <- | 128 durGenT <- |
106 lubridate::as.duration(lubridate::interval(beforeGenTxtTime, | 129 lubridate::as.duration(lubridate::interval(beforeGenTxtTime, afterGenTxtTime)) |
107 afterGenTxtTime)) | 130 |
108 | 131 afterGenTxtTime <- Sys.time() |
132 durGenT <- | |
133 lubridate::as.duration(lubridate::interval(beforeGenTxtTime, afterGenTxtTime)) | |
134 | |
109 endTime <- Sys.time() | 135 endTime <- Sys.time() |
110 | 136 |
111 dur <- | 137 dur <- |
112 lubridate::as.period(lubridate::as.duration(lubridate::interval(startTime, endTime))) | 138 lubridate::as.period(lubridate::as.duration(lubridate::interval(startTime, endTime))) |
113 durGenXP <- lubridate::as.period(durGenX) | 139 durGenXP <- lubridate::as.period(durGenX) |
114 durGenTP <- lubridate::as.period(durGenT) | 140 durGenTP <- lubridate::as.period(durGenT) |
115 | 141 |
116 print("REDELACSticsInputGenerator Report") | 142 print("REDELACSticsInputGenerator Report") |
117 print("=================================") | 143 print("=================================") |
118 print(paste("number of usms: ", nrow(usms_param))) | 144 print(paste("number of usms: ", nrow(usms_param))) |
119 print(paste("redelac optimization:", redelac)) | 145 print(paste("redelac optimization:", redelac)) |
120 print(paste("process in parallel:", parallel)) | 146 print(paste("process in parallel:", parallel)) |
121 print(paste("nbslots:", nbSlots)) | 147 print(paste("nbslots:", nbSlots)) |
122 | 148 |
123 sprintf( | 149 sprintf( |
124 'overall duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)', | 150 'overall duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)', |
125 lubridate::day(dur), | 151 lubridate::day(dur), |
126 lubridate::hour(dur), | 152 lubridate::hour(dur), |
127 lubridate::minute(dur), | 153 lubridate::minute(dur), |
128 lubridate::second(dur)) | 154 lubridate::second(dur) |
155 ) | |
129 | 156 |
130 sprintf( | 157 sprintf( |
131 'inside gen_usms_xml duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)', | 158 'inside gen_usms_xml duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)', |
132 lubridate::day(durGenXP), | 159 lubridate::day(durGenXP), |
133 lubridate::hour(durGenXP), | 160 lubridate::hour(durGenXP), |
134 lubridate::minute(durGenXP), | 161 lubridate::minute(durGenXP), |
135 lubridate::second(durGenXP)) | 162 lubridate::second(durGenXP) |
163 ) | |
136 | 164 |
137 sprintf( | 165 sprintf( |
138 'inside gen_usms_xml2txt duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)', | 166 'inside gen_usms_xml2txt duration: %g jour(s) %g heure(s) %g minute(s) %g seconde(s)', |
139 lubridate::day(durGenTP), | 167 lubridate::day(durGenTP), |
140 lubridate::hour(durGenTP), | 168 lubridate::hour(durGenTP), |
141 lubridate::minute(durGenTP), | 169 lubridate::minute(durGenTP), |
142 lubridate::second(durGenTP)) | 170 lubridate::second(durGenTP) |
143 print("===================================================================================") | 171 ) |
172 print( | |
173 "===================================================================================" | |
174 ) |