From e81459a4a5935dc37f67d59bd10723612bad5fe1 Mon Sep 17 00:00:00 2001
From: Delaigue Olivier <olivier.delaigue@irstea.priv>
Date: Thu, 21 Feb 2019 14:50:37 +0100
Subject: [PATCH] v1.1.3.5 UPDATE: ErrorCrit_RMSE takes into account SCA, SWE
 and SD observations

---
 DESCRIPTION        |  2 +-
 NEWS.rmd           |  2 +-
 R/ErrorCrit_RMSE.R | 22 ++++++++++++++--------
 3 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/DESCRIPTION b/DESCRIPTION
index da2fd85e..487d7801 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: airGR
 Type: Package
 Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
-Version: 1.1.3.4
+Version: 1.1.3.5
 Date: 2019-02-21
 Authors@R: c(
   person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")),
diff --git a/NEWS.rmd b/NEWS.rmd
index 45ae42e6..822eb07f 100644
--- a/NEWS.rmd
+++ b/NEWS.rmd
@@ -13,7 +13,7 @@ output:
 
 
 
-### 1.1.3.4 Release Notes (2019-02-21)
+### 1.1.3.5 Release Notes (2019-02-21)
 
 
 
diff --git a/R/ErrorCrit_RMSE.R b/R/ErrorCrit_RMSE.R
index fb35521b..e665f3ee 100644
--- a/R/ErrorCrit_RMSE.R
+++ b/R/ErrorCrit_RMSE.R
@@ -6,6 +6,10 @@ ErrorCrit_RMSE <- function(InputsCrit, OutputsModel, warnings = TRUE, verbose =
       stop("InputsCrit must be of class 'InputsCrit' \n")
       return(NULL)
     }
+    if (inherits(InputsCrit, "Multi") | inherits(InputsCrit, "Compo")) {
+      stop("InputsCrit must be of class 'Single'. Use the ErrorCrit function on objects of class 'Multi' with RMSE")
+      return(NULL)
+    }
     if (!inherits(OutputsModel, "OutputsModel")) {
       stop("OutputsModel must be of class 'OutputsModel' \n")
       return(NULL)
@@ -14,24 +18,26 @@ ErrorCrit_RMSE <- function(InputsCrit, OutputsModel, warnings = TRUE, verbose =
     
     ##Initialisation_________________________________
     CritName <- NA
+    CritVar  <- InputsCrit$varObs
     if (InputsCrit$transfo == "") {
-      CritName <- "RMSE[Q]"
+      CritName <- "RMSE[CritVar]"
     }
     if (InputsCrit$transfo == "sqrt") {
-      CritName <- "RMSE[sqrt(Q)]"
+      CritName <- "RMSE[sqrt(CritVar)]"
     }
     if (InputsCrit$transfo == "log") {
-      CritName <- "RMSE[log(Q)]"
+      CritName <- "RMSE[log(CritVar)]"
     }
     if (InputsCrit$transfo == "inv") {
-      CritName <- "RMSE[1/Q]"
+      CritName <- "RMSE[1/CritVar]"
     }
     if (InputsCrit$transfo == "sort") {
-      CritName <- "RMSE[sort(Q)]"
+      CritName <- "RMSE[sort(CritVar)]"
     }
-    CritValue       <- NA
-    CritBestValue   <- +1
-    Multiplier      <- +1
+    CritName      <- gsub(pattern = "CritVar", replacement = CritVar, x = CritName)
+    CritValue     <- NA
+    CritBestValue <- +1
+    Multiplier    <- +1
     ### must be equal to -1 or +1 only
     
     
-- 
GitLab