RunModel_GR4H: Run with the GR4H hydrological model

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/RunModel_GR4H.R

Description

Function which performs a single run for the GR4H hourly lumped model.

Usage

1
RunModel_GR4H(InputsModel, RunOptions, Param)

Arguments

InputsModel

[object of class InputsModel] see CreateInputsModel for details

RunOptions

[object of class RunOptions] see CreateRunOptions for details

Param

[numeric] vector of 4 parameters

GR4H X1 production store capacity [mm]
GR4H X2 groundwater exchange coefficient [mm/h]
GR4H X3 routing store capacity [mm]
GR4H X4 unit hydrograph time constant [h]

Details

For further details on the model, see the references section.
For further details on the argument structures and initialisation options, see CreateRunOptions.

See RunModel_GR4J to look at the diagram of the hydrological model.

Value

[list] containing the function outputs organised as follows:

$DatesR [POSIXlt] series of dates
$PotEvap [numeric] series of input potential evapotranspiration (E) [mm/h]
$Precip [numeric] series of input total precipitation (P) [mm/h]
$Prod [numeric] series of production store level [mm] (S)
$Pn [numeric] series of net rainfall (Pn) [mm/h]
$Ps [numeric] series of the part of Pn filling the production store (Ps) [mm/h
$AE [numeric] series of actual evapotranspiration [mm/h]
$Perc [numeric] series of percolation (Perc) [mm/h]
$PR [numeric] series of Pr=Pn-Ps+Perc (Pr) [mm/h]
$Q9 [numeric] series of UH1 outflow (Q9) [mm/h]
$Q1 [numeric] series of UH2 outflow (Q1) [mm/h]
$Rout [numeric] series of routing store level (R1) [mm]
$Exch [numeric] series of potential semi-exchange between catchments [mm/h]
$AExch1 [numeric] series of actual exchange between catchments for branch 1 [mm/h]
$AExch2 [numeric] series of actual exchange between catchments for branch 2 [mm/h]
$AExch [numeric] series of actual exchange between catchments (AExch1+AExch2) [mm/h]
$QR [numeric] series of routing store outflow (Qr) [mm/h]
$QD [numeric] series of direct flow from UH2 after exchange (Qd) [mm/h]
$Qsim [numeric] series of simulated discharge (Q) [mm/h]
$StateEnd [numeric] states at the end of the run (res. levels, UH1 levels, UH2 levels) [mm]. See CreateIniStates for more details

Refer to the provided references or to the package source code for further details on these model outputs.

Author(s)

Laurent Coron, Charles Perrin, Thibaut Mathevet, Olivier Delaigue, Guillaume Thirel

References

Mathevet, T. (2005). Quels modèles pluie-débit globaux pour le pas de temps horaire ? Développement empirique et comparaison de modèles sur un large échantillon de bassins versants. PhD thesis (in French), ENGREF - Cemagref Antony, Paris, France.

Le Moine, N. (2008). Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances et du réalisme des modèles pluie-débit ? PhD thesis (in French), UPMC - Cemagref Antony, Paris, France.

See Also

RunModel_GR4J, CreateInputsModel, CreateRunOptions, CreateIniStates.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
library(airGR)

## load of catchment data
data(L0123003)

## preparation of the InputsModel object
InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4H, DatesR = BasinObs$DatesR,
                                 Precip = BasinObs$P, PotEvap = BasinObs$E)

## run period selection
Ind_Run <- seq(which(format(BasinObs$DatesR, format = "%Y-%m-%d %H:%M")=="2004-03-01 00:00"),
               which(format(BasinObs$DatesR, format = "%Y-%m-%d %H:%M")=="2008-12-31 23:00"))

## preparation of the RunOptions object
RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4H,
                               InputsModel = InputsModel, IndPeriod_Run = Ind_Run)

## simulation
Param <- c(X1 = 521.113, X2 = -2.918, X3 = 218.009, X4 = 4.124)
OutputsModel <- RunModel_GR4H(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param)

## results preview
plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])

## efficiency criterion: Nash-Sutcliffe Efficiency
InputsCrit  <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel,
                                RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run])
OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)

Example output

Warning message:
In CreateRunOptions(FUN_MOD = RunModel_GR4H, InputsModel = InputsModel,  :
  model warm up period not defined: default configuration used
  less than a year (without missing values) was found for model warm up:
  (1440 time-steps are used for initialisation)
Crit. NSE[Q] = 0.8180

airGR documentation built on April 27, 2021, 9:07 a.m.