diff --git a/DESCRIPTION b/DESCRIPTION index 0fb3c291ff4cedf24e02cdd4e077a743ab86a036..72c0b398fc532d6349c9e5bdfd806cfa504c3d43 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.4.5.0 +Version: 1.4.6.0 Date: 2020-04-30 Authors@R: c( person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")), diff --git a/NAMESPACE b/NAMESPACE index aa7e90b6586b2a61efc9fd6579c4c88bb9bdc14a..679085a8727f4e2dcde61b99582cb66ed31531f7 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -11,6 +11,7 @@ useDynLib(airGR, .registration = TRUE) S3method("plot", "OutputsModel") S3method("SeriesAggreg2", "data.frame") S3method("SeriesAggreg2", "default") +S3method("SeriesAggreg2", "InputsModel") @@ -51,7 +52,7 @@ export(RunModel_Lag) export(SeriesAggreg) export(SeriesAggreg2) #export(SeriesAggreg2.data.frame) -#export(SeriesAggreg2.InputsModel) +export(SeriesAggreg2.InputsModel) #export(SeriesAggreg2.OutputsModel) export(TransfoParam) export(TransfoParam_CemaNeige) diff --git a/NEWS.md b/NEWS.md index 7a36dc39b1841b4f24b03f97ff6e54f90d113791..3b37e9961c7f58cf9acf621a0f4e6ed5aefa1ce3 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,12 +4,13 @@ -### 1.4.5.0 Release Notes (2020-04-30) +### 1.4.6.0 Release Notes (2020-04-30) #### New features - Added <code>SeriesAggreg2</code> method. - Added <code>SeriesAggreg2.default()</code> function. +- Added <code>SeriesAggreg2.InputsModel()</code> function. - Added <code>SeriesAggreg2.data.frame()</code> function. This new verson of the <code>SeriesAggreg()</code> function allows to compute regimes. diff --git a/R/SeriesAggreg2.InputsModel.R b/R/SeriesAggreg2.InputsModel.R new file mode 100644 index 0000000000000000000000000000000000000000..f15181ea4536117ba8f256df0a98967bb5f29bdd --- /dev/null +++ b/R/SeriesAggreg2.InputsModel.R @@ -0,0 +1,69 @@ +SeriesAggreg2.InputsModel <- function(TabSeries, + Format, + TimeFormat, + NewTimeFormat, + YearFirstMonth = 1, TimeLag = 0, + verbose = TRUE, ..., simplify = FALSE) { + + if (!inherits(TabSeries, "InputsModel")) { + stop("to be used with 'InputsModel' object") + } + + res <- SeriesAggreg2.default(TabSeries = TabSeries, + Format = Format, + TimeFormat = TimeFormat, + NewTimeFormat = NewTimeFormat, + YearFirstMonth = YearFirstMonth, TimeLag = TimeLag, + verbose = verbose, + simplify = simplify) + + if (inherits(TabSeries, "CemaNeige")) { + res$ZLayers <- TabSeries$ZLayers + } + + return(res) + # TabSeries <- as.data.frame.list(TabSeries) + # + # # NewTimeFormat <- c(hourly = "hourly", + # # daily = "daily", + # # monthly = "monthly", + # # yearly = "yearly") + # # Format <- switch(Format, + # # hourly = "%Y%m%d%h", + # # daily = "%Y%m%d", + # # monthly = "%Y%m", + # # yearly = "%Y") + # # + # # TimeFormat <- intersect(class(InputsModel), listTimeFormat) + # # + # # if (length(TimeFormat) == 0) { + # # stop("wrong time step") + # # } + # # + # + # + # NewTabSeries <- SeriesAggreg2(TabSeries = TabSeries, + # Format = Format, + # TimeFormat = TimeFormat, NewTimeFormat = NewTimeFormat, + # ConvertFun = c("sum", "sum"), + # YearFirstMonth = YearFirstMonth, TimeLag = TimeLag, + # verbose = verbose) + # + # ## to be consistent with InputsModel class + # NewTabSeries$DatesR <- as.POSIXlt(NewTabSeries$DatesR) + # + # ClassFormat <- class(NewTabSeries)[class(NewTabSeries) != "SeriesAggreg"] + # + # SuffixRunModel <- switch(ClassFormat, + # hourly = "4H", + # daily = "4J", + # monthly = "2M", + # yearly = "1A") + # + # RunModel <- paste0("RunModel_GR", SuffixRunModel) + # + # InputsModel <- CreateInputsModel(FUN_MOD = RunModel, + # DatesR = NewTabSeries$DatesR, Precip = NewTabSeries$Precip, PotEvap = NewTabSeries$PotEvap) + # + # +} \ No newline at end of file