From e696b80fb6e565d30e0fe2d539bc05759f671915 Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@inrae.fr>
Date: Fri, 17 Sep 2021 17:10:24 +0200
Subject: [PATCH] fix(CreateRunOptions): slow calibration with CemaNeige models
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- "Un seul 'else' vous manque et tout est dépeuplé..." (
Alphonse de Lamartine)

Fix #136
---
 R/CreateRunOptions.R                      | 3 +--
 tests/scheduled_tests/benchmarkRunmodel.R | 5 +++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/R/CreateRunOptions.R b/R/CreateRunOptions.R
index 04fe0c81..fd1694e2 100644
--- a/R/CreateRunOptions.R
+++ b/R/CreateRunOptions.R
@@ -337,8 +337,7 @@ CreateRunOptions <- function(FUN_MOD, InputsModel,
       if ("CemaNeige" %in% ObjectClass) {
         Outputs_Cal <- c("PliqAndMelt", Outputs_Cal)
       }
-    }
-    if ("CemaNeige" %in% ObjectClass) {
+    } else if ("CemaNeige" %in% ObjectClass) {
       Outputs_Cal <- c("all")
     }
   } else {
diff --git a/tests/scheduled_tests/benchmarkRunmodel.R b/tests/scheduled_tests/benchmarkRunmodel.R
index 1ff3e100..922fa5a8 100644
--- a/tests/scheduled_tests/benchmarkRunmodel.R
+++ b/tests/scheduled_tests/benchmarkRunmodel.R
@@ -25,9 +25,10 @@ dfBM <- cbind(version = as.character(packageVersion('airGR')), dfBM)
 
 
 file <- "tests/tmp/benchmark.txt"
+dir.create("tests/tmp", showWarnings = FALSE)
 write.table(dfBM, file = file,
             row.names = FALSE, col.names = !file.exists(file), quote = FALSE,
-            sep = "\t", append = TRUE)
+            sep = "\t", append = file.exists(file))
 
 df <- read.table(file = file, sep = "\t", header = TRUE)
 if(length(unique(df$version)) > 1) {
@@ -39,7 +40,7 @@ if(length(unique(df$version)) > 1) {
   dfMean <- cbind(model = sModelNames, as.data.frame(t(do.call(rbind, lV))))
   dfMean$evolution <- (dfMean[,3] - dfMean[,2]) / dfMean[,2]
   write.table(dfMean, "tests/tmp/mean_execution_time.txt", row.names = FALSE, quote = F, sep = "\t")
-  res <- testthat::test_file("tests/testthat/benchmark_RunModel.R")
+  res <- testthat::test_file("tests/testthat/benchmarkRunModel.R")
   dRes <- as.data.frame(res)
   if (any(dRes[, "failed"] > 0) | any(dRes[, "error"])) {
     quit(status = 1)
-- 
GitLab