RunModel_GR5J {airGR}R Documentation

Run with the GR5J hydrological model


Function which performs a single run for the GR5J daily lumped model over the test period.


RunModel_GR5J(InputsModel, RunOptions, Param)



[object of class InputsModel] see CreateInputsModel for details


[object of class RunOptions] see CreateRunOptions for details


[numeric] vector of 5 parameters

GR5J X1 production store capacity [mm]
GR5J X2 intercatchment exchange coefficient [mm/d]
GR5J X3 routing store capacity [mm]
GR5J X4 unit hydrograph time constant [d]
GR5J X5 intercatchment exchange threshold [-]


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

Figure: diagramGR5J-EN.png


[list] containing the function outputs organised as follows:

$DatesR [POSIXlt] series of dates
$PotEvap [numeric] series of input potential evapotranspiration (E) [mm/d]
$Precip [numeric] series of input total precipitation (P) [mm/d]
$Prod [numeric] series of production store level (S) [mm]
$Pn [numeric] series of net rainfall (Pn) [mm/d]
$Ps [numeric] series of the part of Pn filling the production store (Ps) [mm/d]
$AE [numeric] series of actual evapotranspiration [mm/d]
$Perc [numeric] series of percolation (Perc) [mm/d]
$PR [numeric] series of Pr=Pn-Ps+Perc (Pr) [mm/d]
$Q9 [numeric] series of UH outflow going into branch 9 (Q9) [mm/d]
$Q1 [numeric] series of UH outflow going into branch 1 (Q1) [mm/d]
$Rout [numeric] series of routing store level (R1) [mm]
$Exch [numeric] series of potential semi-exchange between catchments [mm/d]
$AExch1 [numeric] series of actual exchange between catchments for branch 1 [mm/d]
$AExch2 [numeric] series of actual exchange between catchments for branch 2 [mm/d]
$AExch [numeric] series of actual exchange between catchments (AExch1+AExch2) [mm/d]
$QR [numeric] series of routing store outflow (Qr) [mm/d]
$QD [numeric] series of direct flow from UH after exchange (Qd) [mm/d]
$Qsim [numeric] series of simulated discharge (Q) [mm/d]
RunOptions$WarmUpQsim [numeric] series of simulated discharge (Q) on the warm-up period [mm/d]
RunOptions$Param [numeric] parameter set parameter set used by the model
$StateEnd [numeric] states at the end of the run (res. levels, UH 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.


Laurent Coron, Claude Michel, Nicolas Le Moine, Olivier Delaigue, Guillaume Thirel


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.

Pushpalatha, R., Perrin, C., Le Moine, N., Mathevet, T. and Andréassian, V. (2011). A downward structural sensitivity analysis of hydrological models to improve low-flow simulation. Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034.

See Also

RunModel_GR4J, RunModel_GR6J, RunModel_CemaNeigeGR5J, CreateInputsModel, CreateRunOptions, CreateIniStates.



## loading catchment data

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

## 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
RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR5J,
                               InputsModel = InputsModel, IndPeriod_Run = Ind_Run)

## simulation
Param <- c(X1 = 245.918, X2 = 1.027, X3 = 90.017, X4 = 2.198, X5 = 0.434)
OutputsModel <- RunModel_GR5J(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)

[Package airGR version 1.7.6 Index]