From 42f5d51cc3b3da212b7824e7e332199e078a05a3 Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@inrae.fr>
Date: Tue, 16 Mar 2021 11:00:22 +0100
Subject: [PATCH] fix(RunModel_Lag): RunModel_Lag returns 2 values for a one
 time step run

Fix #102
---
 R/RunModel_Lag.R | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/R/RunModel_Lag.R b/R/RunModel_Lag.R
index 87f551f7..a832fd9d 100644
--- a/R/RunModel_Lag.R
+++ b/R/RunModel_Lag.R
@@ -77,18 +77,17 @@ RunModel_Lag <- function(InputsModel, RunOptions, Param) {
   }
 
   for (upstream_basin in seq_len(NbUpBasins)) {
-    Qupstream <- InputsModel$Qupstream[RunOptions$IndPeriod_Run, upstream_basin]
+    Qupstream <- c(IniStates[[upstream_basin]],
+                   InputsModel$Qupstream[RunOptions$IndPeriod_Run, upstream_basin])
     if (!is.na(InputsModel$BasinAreas[upstream_basin])) {
       # Upstream flow with area needs to be converted to m3 by time step
       Qupstream <- Qupstream * InputsModel$BasinAreas[upstream_basin] * 1e3
     }
-    OutputsModel$Qsim <- OutputsModel$Qsim +
-      c(IniStates[[upstream_basin]][-length(IniStates[[upstream_basin]])],
-        Qupstream[1:(LengthTs - floor(PT[upstream_basin]))]) *
-      HUTRANS[1, upstream_basin] +
-      c(IniStates[[upstream_basin]],
-        Qupstream[1:(LengthTs - floor(PT[upstream_basin]) - 1)]) *
-      HUTRANS[2, upstream_basin]
+    #message("Qupstream[", upstream_basin, "]: ", paste(Qupstream, collapse = ", "))
+    OutputsModel$Qsim <-
+      OutputsModel$Qsim +
+      Qupstream[2:(1 + LengthTs)] * HUTRANS[1, upstream_basin] +
+      Qupstream[1:LengthTs] * HUTRANS[2, upstream_basin]
   }
   # Warning for negative flows
   if (any(OutputsModel$Qsim < 0)) {
-- 
GitLab