diff --git a/DESCRIPTION b/DESCRIPTION index 657e564895b22d4433a49438e63ffa93290964d5..efaa8e5b2206eb572ce848cc0103c24c1df8365f 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.0.2 +Version: 1.6.1.0 Date: 2020-04-05 Authors@R: c( person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")), diff --git a/NEWS.md b/NEWS.md index b75c75fe85539295854a383f1632a66886bc09a9..20c7c5b38b64a4d4d7c6d5478e8e11bd5055162e 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,7 +4,7 @@ -### 1.6.0.2 Release Notes (2020-04-05) +### 1.6.1.0 Release Notes (2020-04-05) #### New features diff --git a/R/RunModel.R b/R/RunModel.R index c8ef3f53687aad7f96accf43e0f679200b86c028..29812bcb220e0377be4d6f3d40f7915b768dc2fa 100644 --- a/R/RunModel.R +++ b/R/RunModel.R @@ -1,7 +1,21 @@ -RunModel <- function(InputsModel, RunOptions, Param, FUN_MOD) { - +RunModel <- function (InputsModel, RunOptions, Param, FUN_MOD) { FUN_MOD <- match.fun(FUN_MOD) - - return(FUN_MOD(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param)) - + if ("SD" %in% class(InputsModel)) { + Outputs_down <- FUN_MOD(InputsModel = InputsModel, RunOptions = RunOptions, + Param = Param[-length(Param)]) + Outputs_down$Qdown <- Outputs_down$Qsim + if ("daily" %in% class(InputsModel)){ + TimeStep <- 60 * 60 * 24 + } + if ("hourly" %in% class(InputsModel)){ + TimeStep <- 60 * 60 + } + surf_tot <- sum(InputsModel$S_basin) + Outputs_down$Qsim <- Outputs_down$Qdown * InputsModel$S_basin[length(InputsModel$S_basin)] / surf_tot + + 1000 / tail(Param, 1) / TimeStep * + InputsModel$Q_upstr %*% (InputsModel$L_hyd[1,] * InputsModel$S_basin[1:length(InputsModel$L_hyd)]) + } else { + Outputs_down <- FUN_MOD(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param) + } + return(Outputs_down) }