From 7c4518f284de3f99243d3e682c1f9345dd852bfe Mon Sep 17 00:00:00 2001
From: David <david.dorchies@inrae.fr>
Date: Sun, 1 Dec 2024 20:01:04 +0100
Subject: [PATCH] fix(RunModel.Supervisor): miising attributes to OutputsModel

Refs #174
---
 R/RunModel.GRiwrmInputsModel.R | 4 +---
 R/RunModel.Supervisor.R        | 3 ++-
 R/utils.RunModel.R             | 7 +++++++
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/R/RunModel.GRiwrmInputsModel.R b/R/RunModel.GRiwrmInputsModel.R
index 9c132da..62c5f33 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 83d36bf..a258a78 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 7846a97..4515e2e 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)
+}
-- 
GitLab