diff --git a/R/RunModel_LRQ.R b/R/RunModel_LRQ.R index 46bcd6889487d8b50d8fb4e4da02271f2a69f19e..8bf801b5968dcd61054f51723b76974c1f01c8fc 100644 --- a/R/RunModel_LRQ.R +++ b/R/RunModel_LRQ.R @@ -65,10 +65,10 @@ RunModel_LRQ <- function(InputsModel, RunOptions, Param, QcontribDown) { ## Parameters set up - TParam <- Param[1L] - KParam <- Param[2L] # KParam en mm/pdt + CParam <- Param[1L] # CParam in m/s + KParam <- Param[2L] # KParam in mm/TS - PT <- InputsModel$LengthHydro * 1e3 / TParam / RunOptions$FeatFUN_MOD$TimeStep + PT <- InputsModel$LengthHydro * 1e3 / CParam / RunOptions$FeatFUN_MOD$TimeStep #PT in h PK <- sqrt(KParam * InputsModel$BasinAreas[-length(InputsModel$BasinAreas)] * 1e-3) * PT #m3/2 pdt1/2 ## Lag set up @@ -119,14 +119,18 @@ RunModel_LRQ <- function(InputsModel, RunOptions, Param, QcontribDown) { QsimDown_input <- matrix(QsimDown * InputsModel$BasinAreas[length(InputsModel$BasinAreas)] * 1e3, ncol = 1) + for (upstream_basin in seq_len(NbUpBasins)) { + Qupstream_m3 <- c(IniStates[[upstream_basin]], InputsModel$Qupstream[IndPeriod1, upstream_basin]) Qroute <- Qupstream_m3 for (q in seq_along(Qroute)[1:(length(Qroute) - 1)]){ - Qroute[q + 1] <- ((Qroute[q]^0.5 + (((Qupstream_m3[q] + Qupstream_m3[q + 1])/2)/PK[upstream_basin])) / - (1 + ((Qroute[q]^0.5) / PK[upstream_basin])))^2 + Qroute[q + 1] <- ((Qroute[q]^0.5 + ((Qupstream_m3[q] + Qupstream_m3[q + 1])/2)^0.5 * + tanh((((Qupstream_m3[q] + Qupstream_m3[q + 1])/2)^0.5)/PK[upstream_basin]) ) / + (1 + (Qroute[q]/((Qupstream_m3[q] + Qupstream_m3[q + 1])/2))^0.5 * + tanh((((Qupstream_m3[q] + Qupstream_m3[q + 1])/2)^0.5)/PK[upstream_basin])) )^2 } Qllr <- Lag(PT[upstream_basin], Qroute, Qupstream_m3)[IndPeriod1]