Commit 05dd6d8a authored by Delaigue Olivier's avatar Delaigue Olivier
Browse files

v1.2.16.31 BUG: which argument of plot.OutputsModel now take into account...

v1.2.16.31 BUG: which argument of plot.OutputsModel now take into account outputs of RunModel_CemaNeige
Showing with 16 additions and 8 deletions
+16 -8
Package: airGR Package: airGR
Type: Package Type: Package
Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
Version: 1.2.16.30 Version: 1.2.16.31
Date: 2019-06-07 Date: 2019-06-07
Authors@R: c( Authors@R: c(
person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")), person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")),
......
...@@ -14,7 +14,7 @@ output: ...@@ -14,7 +14,7 @@ output:
### 1.2.16.30 Release Notes (2019-06-07) ### 1.2.16.31 Release Notes (2019-06-07)
#### New features #### New features
......
...@@ -78,6 +78,7 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea = ...@@ -78,6 +78,7 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea =
whichPerf <- c( "Error", "Regime", "CumFreq", "CorQQ") whichPerf <- c( "Error", "Regime", "CumFreq", "CorQQ")
whichCN <- c( "Temp", "SnowPack" ) whichCN <- c( "Temp", "SnowPack" )
warnMsgWhich <- "'which' must be a vector of character" warnMsgWhich <- "'which' must be a vector of character"
warnMsgNoQobs <- "the %s plot(s) cannot be drawn if there is no 'Qobs'"
warnMsgWhichCN <- sprintf("incorrect element found in argument 'which':\n\twithout CemaNeige, %s are not available \n\tit can only contain %s", warnMsgWhichCN <- sprintf("incorrect element found in argument 'which':\n\twithout CemaNeige, %s are not available \n\tit can only contain %s",
paste0(shQuote(whichCN), collapse = " and "), paste0(shQuote(whichCN), collapse = " and "),
paste0(shQuote(c(whichDashboard, whichAll[!whichAll %in% whichCN])), collapse = ", ")) paste0(shQuote(c(whichDashboard, whichAll[!whichAll %in% whichCN])), collapse = ", "))
...@@ -101,6 +102,14 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea = ...@@ -101,6 +102,14 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea =
if (length(unique(which %in% whichCN)) == 2 & !inherits(OutputsModel, "CemaNeige")) { if (length(unique(which %in% whichCN)) == 2 & !inherits(OutputsModel, "CemaNeige")) {
warning(warnMsgWhichCN) warning(warnMsgWhichCN)
} }
if (all(!which %in% c("all", "synth", "ts", whichCN)) & !inherits(OutputsModel, "GR")) {
stop(sprintf("incorrect element found in argument 'which': \nwith CemaNeige alone, only %s are available",
paste0(shQuote(c("all", "synth", "ts", "Temp", "SnowPack")), collapse = ", ")))
}
if (any(!which %in% c("all", "synth", "ts", whichCN)) & !inherits(OutputsModel, "GR")) {
warning(sprintf("incorrect element found in argument 'which': \nwith CemaNeige alone, only %s are available",
paste0(shQuote(c("all", "synth", "ts", "Temp", "SnowPack")), collapse = ", ")))
}
if ("perf" %in% which) { if ("perf" %in% which) {
which <- c(which, whichPerf) which <- c(which, whichPerf)
} }
...@@ -113,18 +122,17 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea = ...@@ -113,18 +122,17 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea =
if ("all" %in% which) { if ("all" %in% which) {
which <- c(which, whichAll) which <- c(which, whichAll)
} }
if (is.null(Qobs)) { if (is.null(Qobs) & inherits(OutputsModel, "GR")) {
if (length(which) == 1 & any(which %in% whichNeedQobs)) { if (length(which) == 1 & (any(which %in% whichNeedQobs))) {
stop(sprintf("the %s plot(s) cannot be drawn if there is no 'Qobs'", stop(sprintf(warnMsgNoQobs, shQuote(which)))
shQuote(which)))
} }
if (length(which) != 1 & any(which %in% whichNeedQobs)) { if (length(which) != 1 & any(which %in% whichNeedQobs)) {
BOOL_CorQQ <- FALSE BOOL_CorQQ <- FALSE
BOOL_Error <- FALSE BOOL_Error <- FALSE
warning(sprintf("the %s plot(s) cannot be drawn if there is no 'Qobs'", warning(sprintf(warnMsgNoQobs, paste0(shQuote(whichNeedQobs), collapse = " and ")))
paste0(shQuote(whichNeedQobs), collapse = " and ")))
} }
} }
## check dates ## check dates
if (!BOOL_Dates) { if (!BOOL_Dates) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment