diff --git a/R/RunModel.GRiwrmInputsModel.R b/R/RunModel.GRiwrmInputsModel.R index 9c132dae43879dfa84b88b47f5f14df441c01b74..62c5f335d7f0826f47f7b5c2633015a03c84987d 100644 --- a/R/RunModel.GRiwrmInputsModel.R +++ b/R/RunModel.GRiwrmInputsModel.R @@ -43,8 +43,6 @@ RunModel.GRiwrmInputsModel <- function(x, RunOptions, Param, ...) { Param = Param[[id]] ) } - attr(OutputsModel, "Qm3s") <- OutputsModelQsim(x, OutputsModel, RunOptions[[1]]$IndPeriod_Run) - attr(OutputsModel, "GRiwrm") <- attr(x, "GRiwrm") - attr(OutputsModel, "TimeStep") <- attr(x, "TimeStep") + OutputsModel <- add_OutputsModel_attributes(x, OutputsModel, RunOptions[[1]]$IndPeriod_Run) return(OutputsModel) } diff --git a/R/RunModel.Supervisor.R b/R/RunModel.Supervisor.R index 83d36bf64c895e3752758b6a947af09db3b9d7e0..a258a78865e288d578c2f9edc1da8f54195fe6bf 100644 --- a/R/RunModel.Supervisor.R +++ b/R/RunModel.Supervisor.R @@ -151,7 +151,8 @@ RunModel.Supervisor <- function(x, RunOptions, Param, ...) { x$OutputsModel[[id]]$Qsim <- x$storedOutputs$Qsim_m3[, id] / sum(x$InputsModel[[id]]$BasinAreas, na.rm = TRUE) / 1e3 } - attr(x$OutputsModel, "Qm3s") <- OutputsModelQsim(x$InputsModel, x$OutputsModel, IndPeriod_Run) + + x$OutputsModel <- add_OutputsModel_attributes(x$InputsModel, x$OutputsModel, IndPeriod_Run) # restoration of InputsModel (Supervisor is an environment...) x$InputsModel <- InputsModelBackup diff --git a/R/utils.RunModel.R b/R/utils.RunModel.R index 7846a97678d5521ada988e61803b55552ffb1340..4515e2e75be54a3fb94dddddefcc83d066e983b5 100644 --- a/R/utils.RunModel.R +++ b/R/utils.RunModel.R @@ -142,3 +142,10 @@ merge.GRiwrmOutputsModel <- function(x, y, ...) { attr(y, "Qm3s") <- rbind(attr(x, "Qm3s"), attr(y, "Qm3s")) return(y) } + +add_OutputsModel_attributes <- function(InputsModel, OutputsModel, IndPeriod_Run) { + attr(OutputsModel, "Qm3s") <- OutputsModelQsim(InputsModel, OutputsModel, IndPeriod_Run) + attr(OutputsModel, "GRiwrm") <- attr(InputsModel, "GRiwrm") + attr(OutputsModel, "TimeStep") <- attr(InputsModel, "TimeStep") + return(OutputsModel) +}