diff --git a/R/RunModel_Lag.R b/R/RunModel_Lag.R index 87f551f73f94e3ef91b93798b78ae35f2db5c0b6..a832fd9da893ebd9c8b1d4c0da7179fcb8a32003 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)) {