From b10ce4a259f64f7a1ff2e7e10188936460f92a77 Mon Sep 17 00:00:00 2001 From: Delaigue Olivier <olivier.delaigue@irstea.priv> Date: Tue, 19 Mar 2019 08:11:57 +0100 Subject: [PATCH] v1.2.9.24 UPDATE: check if FUN_MOD inherits from hysteresis in Calibration_Michel to take into account the use of hysteresis #5252 --- DESCRIPTION | 2 +- NEWS.rmd | 2 +- R/Calibration_Michel.R | 19 ++++++++++++++++--- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 3f48cc82..0457fba9 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.2.9.23 +Version: 1.2.9.24 Date: 2019-03-19 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 86355695..df544b7f 100644 --- a/NEWS.rmd +++ b/NEWS.rmd @@ -13,7 +13,7 @@ output: -### 1.2.9.23 Release Notes (2019-03-19) +### 1.2.9.24 Release Notes (2019-03-19) diff --git a/R/Calibration_Michel.R b/R/Calibration_Michel.R index 8448ab52..6aadfdc0 100644 --- a/R/Calibration_Michel.R +++ b/R/Calibration_Michel.R @@ -195,7 +195,12 @@ Calibration_Michel <- function(InputsModel, RunOptions, InputsCrit, CalibOptions } ##Model_run Param <- CandidatesParamR[iNew, ] - OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param) + if (inherits(FUN_MOD, "hysteresis")) { + OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param, IsHyst = TRUE) + } else { + OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param) + } + ##Calibration_criterion_computation OutputsCrit <- ErrorCrit(InputsCrit, OutputsModel, verbose = FALSE) if (!is.na(OutputsCrit$CritValue)) { @@ -343,7 +348,11 @@ Calibration_Michel <- function(InputsModel, RunOptions, InputsCrit, CalibOptions for (iNew in 1:nrow(CandidatesParamR)) { ##Model_run Param <- CandidatesParamR[iNew, ] - OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param) + if (inherits(FUN_MOD, "hysteresis")) { + OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param, IsHyst = TRUE) + } else { + OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param) + } ##Calibration_criterion_computation OutputsCrit <- ErrorCrit(InputsCrit, OutputsModel, verbose = FALSE) if (!is.na(OutputsCrit$CritValue)) { @@ -404,7 +413,11 @@ Calibration_Michel <- function(InputsModel, RunOptions, InputsCrit, CalibOptions CandidatesParamR <- FUN_TRANSFO(CandidatesParamT, "TR") ##Model_run Param <- CandidatesParamR[iNew, ] - OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param) + if (inherits(FUN_MOD, "hysteresis")) { + OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param, IsHyst = TRUE) + } else { + OutputsModel <- FUN_MOD(InputsModel, RunOptions, Param) + } ##Calibration_criterion_computation OutputsCrit <- ErrorCrit(InputsCrit, OutputsModel, verbose = FALSE) if (OutputsCrit$CritValue * OutputsCrit$Multiplier < CritOptim) { -- GitLab