From dd7ef429e5257e8f530e23c5c14f4ff570baf267 Mon Sep 17 00:00:00 2001 From: Dorchies David <david.dorchies@inrae.fr> Date: Mon, 21 Jun 2021 12:13:36 +0200 Subject: [PATCH] feat: add `Param` to `OutputsModel` Refs #111 --- R/CreateRunOptions.R | 2 +- R/RunModel_CemaNeigeGR4H.R | 1 + R/RunModel_CemaNeigeGR4J.R | 1 + R/RunModel_CemaNeigeGR5H.R | 1 + R/RunModel_CemaNeigeGR5J.R | 1 + R/RunModel_CemaNeigeGR6J.R | 1 + R/RunModel_GR1A.R | 3 ++- R/RunModel_GR2M.R | 3 ++- R/RunModel_GR4H.R | 3 ++- R/RunModel_GR4J.R | 3 ++- R/RunModel_GR5H.R | 3 ++- R/RunModel_GR5J.R | 3 ++- R/RunModel_GR6J.R | 3 ++- R/UtilsRunModel.R | 6 ++++++ 14 files changed, 26 insertions(+), 8 deletions(-) diff --git a/R/CreateRunOptions.R b/R/CreateRunOptions.R index 8821935b..b91342b5 100644 --- a/R/CreateRunOptions.R +++ b/R/CreateRunOptions.R @@ -295,7 +295,7 @@ CreateRunOptions <- function(FUN_MOD, InputsModel, ##check_Outputs_Cal_and_Sim ##Outputs_all - Outputs_all <- c("DatesR", unlist(FortranOutputs), "WarmUpQsim", "StateEnd") + Outputs_all <- c("DatesR", unlist(FortranOutputs), "WarmUpQsim", "StateEnd", "Param") ##check_Outputs_Sim if (!is.vector(Outputs_Sim)) { diff --git a/R/RunModel_CemaNeigeGR4H.R b/R/RunModel_CemaNeigeGR4H.R index 51318c1f..7bba7814 100644 --- a/R/RunModel_CemaNeigeGR4H.R +++ b/R/RunModel_CemaNeigeGR4H.R @@ -167,5 +167,6 @@ RunModel_CemaNeigeGR4H <- function(InputsModel, RunOptions, Param) { RunOptions, RESULTS, LInputSeries, + Param, CemaNeigeLayers) } diff --git a/R/RunModel_CemaNeigeGR4J.R b/R/RunModel_CemaNeigeGR4J.R index 34f15d5e..28eceb59 100644 --- a/R/RunModel_CemaNeigeGR4J.R +++ b/R/RunModel_CemaNeigeGR4J.R @@ -166,5 +166,6 @@ RunModel_CemaNeigeGR4J <- function(InputsModel, RunOptions, Param) { RunOptions, RESULTS, LInputSeries, + Param, CemaNeigeLayers) } diff --git a/R/RunModel_CemaNeigeGR5H.R b/R/RunModel_CemaNeigeGR5H.R index a78946b6..8cb99dc0 100644 --- a/R/RunModel_CemaNeigeGR5H.R +++ b/R/RunModel_CemaNeigeGR5H.R @@ -177,5 +177,6 @@ RunModel_CemaNeigeGR5H <- function(InputsModel, RunOptions, Param) { RunOptions, RESULTS, LInputSeries, + Param, CemaNeigeLayers) } diff --git a/R/RunModel_CemaNeigeGR5J.R b/R/RunModel_CemaNeigeGR5J.R index cdc4faae..1b42b04f 100644 --- a/R/RunModel_CemaNeigeGR5J.R +++ b/R/RunModel_CemaNeigeGR5J.R @@ -164,5 +164,6 @@ RunModel_CemaNeigeGR5J <- function(InputsModel, RunOptions, Param) { RunOptions, RESULTS, LInputSeries, + Param, CemaNeigeLayers) } diff --git a/R/RunModel_CemaNeigeGR6J.R b/R/RunModel_CemaNeigeGR6J.R index 6199e417..dc011ce4 100644 --- a/R/RunModel_CemaNeigeGR6J.R +++ b/R/RunModel_CemaNeigeGR6J.R @@ -169,6 +169,7 @@ RunModel_CemaNeigeGR6J <- function(InputsModel, RunOptions, Param) { RunOptions, RESULTS, LInputSeries, + Param, CemaNeigeLayers) } diff --git a/R/RunModel_GR1A.R b/R/RunModel_GR1A.R index 87ff6ace..b4ddd4f5 100644 --- a/R/RunModel_GR1A.R +++ b/R/RunModel_GR1A.R @@ -47,5 +47,6 @@ RunModel_GR1A <- function(InputsModel, RunOptions, Param) { .GetOutputsModelGR(InputsModel, RunOptions, RESULTS, - LInputSeries) + LInputSeries, + Param) } diff --git a/R/RunModel_GR2M.R b/R/RunModel_GR2M.R index dd2f696d..6b89b73d 100644 --- a/R/RunModel_GR2M.R +++ b/R/RunModel_GR2M.R @@ -69,5 +69,6 @@ RunModel_GR2M <- function(InputsModel, RunOptions, Param) { .GetOutputsModelGR(InputsModel, RunOptions, RESULTS, - LInputSeries) + LInputSeries, + Param) } diff --git a/R/RunModel_GR4H.R b/R/RunModel_GR4H.R index f70f3a1d..01caa6d7 100644 --- a/R/RunModel_GR4H.R +++ b/R/RunModel_GR4H.R @@ -74,5 +74,6 @@ RunModel_GR4H <- function(InputsModel, RunOptions, Param) { .GetOutputsModelGR(InputsModel, RunOptions, RESULTS, - LInputSeries) + LInputSeries, + Param) } diff --git a/R/RunModel_GR4J.R b/R/RunModel_GR4J.R index fab8517e..88f129d3 100644 --- a/R/RunModel_GR4J.R +++ b/R/RunModel_GR4J.R @@ -69,5 +69,6 @@ RunModel_GR4J <- function(InputsModel, RunOptions, Param) { .GetOutputsModelGR(InputsModel, RunOptions, RESULTS, - LInputSeries) + LInputSeries, + Param) } diff --git a/R/RunModel_GR5H.R b/R/RunModel_GR5H.R index 1d013974..6c5fb432 100644 --- a/R/RunModel_GR5H.R +++ b/R/RunModel_GR5H.R @@ -88,5 +88,6 @@ RunModel_GR5H <- function(InputsModel, RunOptions, Param) { .GetOutputsModelGR(InputsModel, RunOptions, RESULTS, - LInputSeries) + LInputSeries, + Param) } diff --git a/R/RunModel_GR5J.R b/R/RunModel_GR5J.R index 73e17c6c..f5d2bdc3 100644 --- a/R/RunModel_GR5J.R +++ b/R/RunModel_GR5J.R @@ -74,5 +74,6 @@ RunModel_GR5J <- function(InputsModel, RunOptions, Param) { .GetOutputsModelGR(InputsModel, RunOptions, RESULTS, - LInputSeries) + LInputSeries, + Param) } diff --git a/R/RunModel_GR6J.R b/R/RunModel_GR6J.R index 659a0b5c..8175af95 100644 --- a/R/RunModel_GR6J.R +++ b/R/RunModel_GR6J.R @@ -79,5 +79,6 @@ RunModel_GR6J <- function(InputsModel, RunOptions, Param) { .GetOutputsModelGR(InputsModel, RunOptions, RESULTS, - LInputSeries) + LInputSeries, + Param) } diff --git a/R/UtilsRunModel.R b/R/UtilsRunModel.R index 096aff84..846f0182 100644 --- a/R/UtilsRunModel.R +++ b/R/UtilsRunModel.R @@ -4,6 +4,7 @@ #' @param RunOptions output of [CreateRunOptions] #' @param RESULTS outputs of [.Fortran] #' @param LInputSeries number of time steps of warm-up + run periods +#' @param Param [numeric] vector of model parameters #' @param CemaNeigeLayers outputs of Cemaneige pre-process #' #' @return OutputsModel object @@ -13,6 +14,7 @@ RunOptions, RESULTS, LInputSeries, + Param, CemaNeigeLayers = NULL) { IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries @@ -46,6 +48,10 @@ OutputsModel$StateEnd <- RESULTS$StateEnd } + if ("Param" %in% RunOptions$Outputs_Sim) { + OutputsModel$Param <- Param + } + class(OutputsModel) <- c("OutputsModel", class(RunOptions)[-1]) return(OutputsModel) -- GitLab