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