Commit 9eab0a15 authored by Dorchies David's avatar Dorchies David
Browse files

refactor(RunModel_LRQ): Use non simplified formula of with tanh from Bentura & Michel (1997)

Refs HYCAR-Hydro/airgr#152, HYCAR-Hydro/airgr#153
parent 5da5ccf0
No related merge requests found
Showing with 9 additions and 5 deletions
+9 -5
......@@ -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]
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment