From fc54de91d596487ebf167d3c4a31441c166655f4 Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@inrae.fr>
Date: Mon, 8 Mar 2021 12:36:49 +0100
Subject: [PATCH] doc(RunModel_Lag): improvement of the example

Refs #99
---
 man/RunModel_Lag.Rd | 39 +++++++++++++++++++++++++--------------
 1 file changed, 25 insertions(+), 14 deletions(-)

diff --git a/man/RunModel_Lag.Rd b/man/RunModel_Lag.Rd
index 1473ce97..2a3595a6 100644
--- a/man/RunModel_Lag.Rd
+++ b/man/RunModel_Lag.Rd
@@ -38,53 +38,64 @@ The list value contains an extra item named \code{QsimDown} which is a copy of \
 
 
 \examples{
-library(airGR)
+#####################################################################
+## Simulation of a reservoir with a purpose of low-flow mitigation ##
+#####################################################################
+
+## Preparation of the InputsModel object
 
-## loading catchment data
+# loading package and catchment data
+library(airGR)
 data(L0123001)
 
-## Simulating a reservoir
-# Withdrawing 1 m3/s with an instream flow of 1 m3/s
+# The reservoir withdraws 1 m3/s when it's possible considering the flow observed in the basin
 Qupstream <- matrix(- unlist(lapply(BasinObs$Qls / 1000 - 1, function(x) {
   min(1, max(0,x, na.rm = TRUE))
 })), ncol = 1)
-# Except between July and November when releasing 3 m3/s
+
+# Except between July and September when the reservoir releases 3 m3/s for low-flow mitigation
 month <- as.numeric(format(BasinObs$DatesR,"\%m"))
 Qupstream[month >= 7 & month <= 9] <- 3
 # Conversion in m3/day
 Qupstream <- Qupstream * 86400
 
-## The reservoir is not an upstream subcachment: its areas is NA
+# The reservoir is not an upstream subcachment: its areas is NA
 BasinAreas <- c(NA, BasinInfo$BasinArea)
 
-## Delay time between the reservoir and the catchment outlet is 2 days and the distance is 150 km
+# Delay time between the reservoir and the catchment outlet is 2 days and the distance is 150 km
 LengthHydro <- 150000
-Lag <- LengthHydro / 2 / 86400 * 1000 # Conversion km/day -> m/s
 
-## preparation of the InputsModel object
 InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4J, DatesR = BasinObs$DatesR,
                                  Precip = BasinObs$P, PotEvap = BasinObs$E,
                                  Qupstream = Qupstream, LengthHydro = LengthHydro,
                                  BasinAreas = BasinAreas)
 
-## run period selection
+## Simulation of the basin with the reservoir influence
+
+# Run period selection
 Ind_Run <- seq(which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1990-01-01"),
                which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1999-12-31"))
 
-## preparation of the RunOptions object
+# Creation of the RunOptions object
 RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J,
                                InputsModel = InputsModel, IndPeriod_Run = Ind_Run)
 
-## simulation of downstream subcatchment
+# Simulation of the runoff of the catchment with a GR4J model
 Param <- c(X1 = 257.238, X2 = 1.012, X3 = 88.235, X4 = 2.208)
 OutputsModelDown <- RunModel_GR4J(InputsModel = InputsModel,
                                   RunOptions = RunOptions, Param = Param)
 
+# With a delay of 2 days for 150 km, the flow velocity is 75 km per day
+Velocity <- (LengthHydro / 2) / 86400 # Conversion m/day -> m/s
+
+# Add the output of the precipitation-runoff model in the InputsModel object
 InputsModel$OutputsModel <- OutputsModelDown
+
+# Run the lag model which routes precipitation-runoff model and upstream flows
 OutputsModel <- RunModel_Lag(InputsModel = InputsModel,
-                             RunOptions = RunOptions, Param = Lag)
+                             RunOptions = RunOptions, Param = Velocity)
 
-## results preview of comparison between naturalised (observed) and influenced flow (simulated)
+## Results preview of comparison between naturalised (observed) and influenced flow (simulated)
 plot(OutputsModel, Qobs = OutputsModel$QsimDown)
 }
 
-- 
GitLab