From 60c208763f97f28a0be0f527b8bfa2a4d960e685 Mon Sep 17 00:00:00 2001
From: Delaigue Olivier <olivier.delaigue@irstea.priv>
Date: Wed, 22 May 2019 17:19:11 +0200
Subject: [PATCH] v1.3.2.6 CLEAN: PE_Oudin code slightly improved

---
 DESCRIPTION  |  2 +-
 NEWS.rmd     |  2 +-
 R/PE_Oudin.R | 15 ++++++---------
 3 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/DESCRIPTION b/DESCRIPTION
index 293af8e4..43ce4585 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.3.2.5
+Version: 1.3.2.6
 Date: 2019-05-22
 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 81761010..8a92b5b5 100644
--- a/NEWS.rmd
+++ b/NEWS.rmd
@@ -14,7 +14,7 @@ output:
 
 
 
-### 1.3.2.5 Release Notes (2019-05-22)
+### 1.3.2.6 Release Notes (2019-05-22)
 
 
 #### New features
diff --git a/R/PE_Oudin.R b/R/PE_Oudin.R
index 1324eaec..6b865df1 100644
--- a/R/PE_Oudin.R
+++ b/R/PE_Oudin.R
@@ -53,22 +53,19 @@ PE_Oudin <- function(JD, Temp,
   if (!(TimeStepOut %in% c("daily", "hourly"))) {
     stop("'TimeStepOut' must be one of \"daily\" or \"hourly\"")
   }
-  if (TimeStepIn == "daily") {
-    rleJD <- rle(JD)
-    if (any(rleJD$lengths != 1)) {
-      stop("each day must have only one identical value of julian days")
-    }
+  rleJD <- rle(JD)
+  if (TimeStepIn == "daily" & any(rleJD$lengths != 1)) {
+    stop("each day must have only one identical value of julian days")
+  }
+  if (TimeStepIn == "hourly" & any(rleJD$lengths != 24)) {
+    stop("each day must have 24 identical values of julian days (one for each hour)")
   }
   
   
   ## ---------- hourly inputs aggregation
   
   if (TimeStepIn == "hourly") {
-    rleJD <- rle(JD)
     JD <- rleJD$values
-    if (any(rleJD$lengths != 24)) {
-      stop("each day must have 24 identical values of julian days (one for each hour)")
-    }
     idJD <- rep(seq_along(JD), each = rleJD$lengths[1L])
     Temp <- as.vector(tapply(X = Temp, INDEX = idJD, FUN = mean))
   }
-- 
GitLab