From d7ee553c3e2919f20b2be15b26c2629986bb17a3 Mon Sep 17 00:00:00 2001 From: unknown <olivier.delaigue@ANPI1430.antony.irstea.priv> Date: Wed, 5 Apr 2017 18:09:21 +0200 Subject: [PATCH] v1.0.6.15 RunModel* functions now return a warning when X4 < 0.5 and set it to 0.5 --- DESCRIPTION | 2 +- R/RunModel_CemaNeigeGR4J.R | 5 +++++ R/RunModel_CemaNeigeGR5J.R | 5 +++++ R/RunModel_CemaNeigeGR6J.R | 5 +++++ R/RunModel_GR4H.R | 5 +++++ R/RunModel_GR4J.R | 5 +++++ R/RunModel_GR5J.R | 5 +++++ R/RunModel_GR6J.R | 5 +++++ 8 files changed, 36 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index a8c336c0..bb5a0380 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.0.6.14 +Version: 1.0.6.15 Date: 2017-04-05 Authors@R: c( person("Laurent", "Coron", role = c("aut", "trl")), diff --git a/R/RunModel_CemaNeigeGR4J.R b/R/RunModel_CemaNeigeGR4J.R index d07d98ed..380225ac 100644 --- a/R/RunModel_CemaNeigeGR4J.R +++ b/R/RunModel_CemaNeigeGR4J.R @@ -17,6 +17,7 @@ RunModel_CemaNeigeGR4J <- function(InputsModel,RunOptions,Param){ Param <- as.double(Param); Param_X1X3_threshold <- 1e-2 + Param_X4_threshold <- 0.5 if (Param[1L] < Param_X1X3_threshold) { warning(sprintf("Param[1] (X1: production store capacity [mm]) < %.2f\n X1 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[1L] <- Param_X1X3_threshold @@ -25,6 +26,10 @@ RunModel_CemaNeigeGR4J <- function(InputsModel,RunOptions,Param){ warning(sprintf("Param[3] (X3: routing store capacity [mm]) < %.2f\n X3 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[3L] <- Param_X1X3_threshold } + if (Param[4L] < Param_X4_threshold) { + warning(sprintf("Param[4] (X4: unit hydrograph time constant [d]) < %.2f\n X4 set to %.2f", Param_X4_threshold, Param_X4_threshold)) + Param[4L] <- Param_X4_threshold + } ##Input_data_preparation if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } diff --git a/R/RunModel_CemaNeigeGR5J.R b/R/RunModel_CemaNeigeGR5J.R index 2661e01e..4a7ea912 100644 --- a/R/RunModel_CemaNeigeGR5J.R +++ b/R/RunModel_CemaNeigeGR5J.R @@ -17,6 +17,7 @@ RunModel_CemaNeigeGR5J <- function(InputsModel,RunOptions,Param){ Param <- as.double(Param); Param_X1X3_threshold <- 1e-2 + Param_X4_threshold <- 0.5 if (Param[1L] < Param_X1X3_threshold) { warning(sprintf("Param[1] (X1: production store capacity [mm]) < %.2f\n X1 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[1L] <- Param_X1X3_threshold @@ -25,6 +26,10 @@ RunModel_CemaNeigeGR5J <- function(InputsModel,RunOptions,Param){ warning(sprintf("Param[3] (X3: routing store capacity [mm]) < %.2f\n X3 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[3L] <- Param_X1X3_threshold } + if (Param[4L] < Param_X4_threshold) { + warning(sprintf("Param[4] (X4: unit hydrograph time constant [d]) < %.2f\n X4 set to %.2f", Param_X4_threshold, Param_X4_threshold)) + Param[4L] <- Param_X4_threshold + } ##Input_data_preparation if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } diff --git a/R/RunModel_CemaNeigeGR6J.R b/R/RunModel_CemaNeigeGR6J.R index cd0b7958..c4926c65 100644 --- a/R/RunModel_CemaNeigeGR6J.R +++ b/R/RunModel_CemaNeigeGR6J.R @@ -17,6 +17,7 @@ RunModel_CemaNeigeGR6J <- function(InputsModel,RunOptions,Param){ Param <- as.double(Param); Param_X1X3X6_threshold <- 1e-2 + Param_X4_threshold <- 0.5 if (Param[1L] < Param_X1X3X6_threshold) { warning(sprintf("Param[1] (X1: production store capacity [mm]) < %.2f\n X1 set to %.2f", Param_X1X3X6_threshold, Param_X1X3X6_threshold)) Param[1L] <- Param_X1X3X6_threshold @@ -25,6 +26,10 @@ RunModel_CemaNeigeGR6J <- function(InputsModel,RunOptions,Param){ warning(sprintf("Param[3] (X3: routing store capacity [mm]) < %.2f\n X3 set to %.2f", Param_X1X3X6_threshold, Param_X1X3X6_threshold)) Param[3L] <- Param_X1X3X6_threshold } + if (Param[4L] < Param_X4_threshold) { + warning(sprintf("Param[4] (X4: unit hydrograph time constant [d]) < %.2f\n X4 set to %.2f", Param_X4_threshold, Param_X4_threshold)) + Param[4L] <- Param_X4_threshold + } if (Param[6L] < Param_X1X3X6_threshold) { warning(sprintf("Param[6] (X6: coefficient for emptying exponential store [mm]) < %.2f\n X6 set to %.2f", Param_X1X3X6_threshold, Param_X1X3X6_threshold)) Param[6L] <- Param_X1X3X6_threshold diff --git a/R/RunModel_GR4H.R b/R/RunModel_GR4H.R index 76e57132..c914468f 100644 --- a/R/RunModel_GR4H.R +++ b/R/RunModel_GR4H.R @@ -14,6 +14,7 @@ RunModel_GR4H <- function(InputsModel,RunOptions,Param){ Param <- as.double(Param); Param_X1X3_threshold <- 1e-2 + Param_X4_threshold <- 0.5 if (Param[1L] < Param_X1X3_threshold) { warning(sprintf("Param[1] (X1: production store capacity [mm]) < %.2f\n X1 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[1L] <- Param_X1X3_threshold @@ -22,6 +23,10 @@ RunModel_GR4H <- function(InputsModel,RunOptions,Param){ warning(sprintf("Param[3] (X3: routing store capacity [mm]) < %.2f\n X3 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[3L] <- Param_X1X3_threshold } + if (Param[4L] < Param_X4_threshold) { + warning(sprintf("Param[4] (X4: unit hydrograph time constant [h]) < %.2f\n X4 set to %.2f", Param_X4_threshold, Param_X4_threshold)) + Param[4L] <- Param_X4_threshold + } ##Input_data_preparation if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } diff --git a/R/RunModel_GR4J.R b/R/RunModel_GR4J.R index b871d24a..24110687 100644 --- a/R/RunModel_GR4J.R +++ b/R/RunModel_GR4J.R @@ -14,6 +14,7 @@ RunModel_GR4J <- function(InputsModel,RunOptions,Param){ Param <- as.double(Param); Param_X1X3_threshold <- 1e-2 + Param_X4_threshold <- 0.5 if (Param[1L] < Param_X1X3_threshold) { warning(sprintf("Param[1] (X1: production store capacity [mm]) < %.2f\n X1 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[1L] <- Param_X1X3_threshold @@ -22,6 +23,10 @@ RunModel_GR4J <- function(InputsModel,RunOptions,Param){ warning(sprintf("Param[3] (X3: routing store capacity [mm]) < %.2f\n X3 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[3L] <- Param_X1X3_threshold } + if (Param[4L] < Param_X4_threshold) { + warning(sprintf("Param[4] (X4: unit hydrograph time constant [d]) < %.2f\n X4 set to %.2f", Param_X4_threshold, Param_X4_threshold)) + Param[4L] <- Param_X4_threshold + } ##Input_data_preparation if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } diff --git a/R/RunModel_GR5J.R b/R/RunModel_GR5J.R index 729e6108..3dc9c463 100644 --- a/R/RunModel_GR5J.R +++ b/R/RunModel_GR5J.R @@ -14,6 +14,7 @@ RunModel_GR5J <- function(InputsModel,RunOptions,Param){ Param <- as.double(Param); Param_X1X3_threshold <- 1e-2 + Param_X4_threshold <- 0.5 if (Param[1L] < Param_X1X3_threshold) { warning(sprintf("Param[1] (X1: production store capacity [mm]) < %.2f\n X1 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[1L] <- Param_X1X3_threshold @@ -22,6 +23,10 @@ RunModel_GR5J <- function(InputsModel,RunOptions,Param){ warning(sprintf("Param[3] (X3: routing store capacity [mm]) < %.2f\n X3 set to %.2f", Param_X1X3_threshold, Param_X1X3_threshold)) Param[3L] <- Param_X1X3_threshold } + if (Param[4L] < Param_X4_threshold) { + warning(sprintf("Param[4] (X4: unit hydrograph time constant [d]) < %.2f\n X4 set to %.2f", Param_X4_threshold, Param_X4_threshold)) + Param[4L] <- Param_X4_threshold + } ##Input_data_preparation if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; } diff --git a/R/RunModel_GR6J.R b/R/RunModel_GR6J.R index 23e234da..9aa0e1b3 100644 --- a/R/RunModel_GR6J.R +++ b/R/RunModel_GR6J.R @@ -14,6 +14,7 @@ RunModel_GR6J <- function(InputsModel,RunOptions,Param){ Param <- as.double(Param); Param_X1X3X6_threshold <- 1e-2 + Param_X4_threshold <- 0.5 if (Param[1L] < Param_X1X3X6_threshold) { warning(sprintf("Param[1] (X1: production store capacity [mm]) < %.2f\n X1 set to %.2f", Param_X1X3X6_threshold, Param_X1X3X6_threshold)) Param[1L] <- Param_X1X3X6_threshold @@ -22,6 +23,10 @@ RunModel_GR6J <- function(InputsModel,RunOptions,Param){ warning(sprintf("Param[3] (X3: routing store capacity [mm]) < %.2f\n X3 set to %.2f", Param_X1X3X6_threshold, Param_X1X3X6_threshold)) Param[3L] <- Param_X1X3X6_threshold } + if (Param[4L] < Param_X4_threshold) { + warning(sprintf("Param[4] (X4: unit hydrograph time constant [d]) < %.2f\n X4 set to %.2f", Param_X4_threshold, Param_X4_threshold)) + Param[4L] <- Param_X4_threshold + } if (Param[6L] < Param_X1X3X6_threshold) { warning(sprintf("Param[6] (X6: coefficient for emptying exponential store [mm]) < %.2f\n X6 set to %.2f", Param_X1X3X6_threshold, Param_X1X3X6_threshold)) Param[6L] <- Param_X1X3X6_threshold -- GitLab