diff --git a/DESCRIPTION b/DESCRIPTION index 4166d09d269f151f3cb6dfb8fdb40e408ac39932..2e9044b9d0e6c63877498ae38f95c47b6ed75fa6 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.6.8.25 +Version: 1.6.8.26 Date: 2020-12-02 Authors@R: c( person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")), diff --git a/R/SeriesAggreg.data.frame.R b/R/SeriesAggreg.data.frame.R index ad37d16b08bb85b049ec5c1d96811dd09934ff0d..12c4184f8a8cc20ac5e6ec9d6b4b2c26fca531a9 100644 --- a/R/SeriesAggreg.data.frame.R +++ b/R/SeriesAggreg.data.frame.R @@ -102,10 +102,16 @@ SeriesAggreg.data.frame <- function(x, stop <- sprintf("%i-12-31 00:00:00", as.numeric(format(TabSeries2$DatesR[nrow(TabSeries2)], format = "%Y")) + 1) - by <- - ifelse(grepl("hours", format(diff( - x$DatesR[1:2] - ))), yes = "hours", no = "days") + Ts <- format(diff(x$DatesR[1:2])) + if(gsub("[0-9]+ ", "", Ts) == "hours") { + by <- "hours" + } else { + if(gsub(" days$", "", Ts) == "1") { + by <- "days" + } else { + by <- "months" + } + } fakeTs <- data.frame(DatesR = seq( from = as.POSIXct(start, tz = "UTC"), diff --git a/tests/testthat/test-SeriesAggreg.R b/tests/testthat/test-SeriesAggreg.R index 3c84e4e3a465871d9d7ffaa6c87ff6bffa046dc1..50994219c21d5c3c45143839f348148530f3b60c 100644 --- a/tests/testthat/test-SeriesAggreg.R +++ b/tests/testthat/test-SeriesAggreg.R @@ -194,6 +194,6 @@ test_that("SeriesAggreg from and to the same time step should return initial tim PotEvap = BasinObs$E ) I2 <- SeriesAggreg(InputsModel, "%Y%m") - I3 <- SeriesAggreg(I2, "%Y%m") - expect_equal(I2, I3) + expect_warning(SeriesAggreg(I2, "%Y%m"), regexp = "No time-step conversion was performed") + expect_equal(I2, suppressWarnings(SeriesAggreg(I2, "%Y%m"))) })