From ddac1888767a7c80c2b918c5fbb7a3799fe3c643 Mon Sep 17 00:00:00 2001
From: Delaigue Olivier <olivier.delaigue@irstea.priv>
Date: Wed, 29 May 2019 10:16:55 +0200
Subject: [PATCH] v1.2.16.7 BUG: plot.OutputsModel runs when which argument
 contains "CorQQ" without "CumFreq"

---
 DESCRIPTION           |  2 +-
 NEWS.rmd              |  6 +++++-
 R/plot.OutputsModel.R | 15 ++++++++++++---
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/DESCRIPTION b/DESCRIPTION
index c9ea9e23..b00fb722 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.16.6
+Version: 1.2.16.7
 Date: 2019-05-24
 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 4390a999..f2a7219a 100644
--- a/NEWS.rmd
+++ b/NEWS.rmd
@@ -14,7 +14,7 @@ output:
 
 
 
-### 1.2.16.6 Release Notes (2019-05-23)
+### 1.2.16.7 Release Notes (2019-05-23)
 
 
 #### New features
@@ -23,6 +23,10 @@ output:
 
 - <code>plot.OutputsModel()</code> now presents a <code>LayoutMat</code> argument (and additionnal related argument: <code>LayoutWidths</code>, <code>LayoutHeights</code>) to specify complex plot arrangements.
 
+#### Bug fixes
+
+- Fixed bug in <code>plot.OutputsModel()</code>. The function now runs correctly when the <code>which</code> argument contains the <code>"CorQQ"</code> value without <code>"CumFreq"</code>.
+
 
 #### Major user-visible changes
 
diff --git a/R/plot.OutputsModel.R b/R/plot.OutputsModel.R
index 08d46ffa..ccb297b2 100644
--- a/R/plot.OutputsModel.R
+++ b/R/plot.OutputsModel.R
@@ -193,6 +193,15 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea =
     SelectQsimNotZero <- round(OutputsModel$Qsim[IndPeriod_Plot], 4) != 0
     BOOL_QsimZero <- sum(!SelectQsimNotZero, na.rm = TRUE) > 0
   }
+  if ( BOOL_Qobs & !BOOL_Qsim) {
+    SelectNotZero <- SelectQobsNotZero
+  }
+  if (!BOOL_Qobs &  BOOL_Qsim) {
+    SelectNotZero <- SelectQsimNotZero
+  }
+  if ( BOOL_Qobs &  BOOL_Qsim) {
+    SelectNotZero <- SelectQobsNotZero & SelectQsimNotZero
+  }
   if (BOOL_QobsZero & verbose) {
     warning("zeroes detected in 'Qobs': some plots in the log space will not be created using all time-steps")
   }
@@ -765,15 +774,15 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea =
     par(new = FALSE, mar = mar)
     xlim <- c(0, 1)
     if ( BOOL_Qobs & !BOOL_Qsim) {
-      SelectNotZero <- SelectQobsNotZero
+      # SelectNotZero <- SelectQobsNotZero
       ylim <- range(log(Qobs[IndPeriod_Plot][SelectNotZero]), na.rm = TRUE)
     }
     if (!BOOL_Qobs &  BOOL_Qsim) {
-      SelectNotZero <- SelectQsimNotZero
+      # SelectNotZero <- SelectQsimNotZero
       ylim <- range(log(OutputsModel$Qsim[IndPeriod_Plot][SelectNotZero]), na.rm = TRUE)
     }
     if ( BOOL_Qobs &  BOOL_Qsim) {
-      SelectNotZero <- SelectQobsNotZero & SelectQsimNotZero
+      # SelectNotZero <- SelectQobsNotZero & SelectQsimNotZero
       ylim <- range(log(c(Qobs[IndPeriod_Plot][SelectNotZero], OutputsModel$Qsim[IndPeriod_Plot][SelectNotZero])), na.rm = TRUE)
     }
     SelectNotZero <- ifelse(is.na(SelectNotZero), FALSE, SelectNotZero)
-- 
GitLab