airGR (version 1.3.2.23)

RunModel_GR6J: Run with the GR6J hydrological model

Description

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

Usage

RunModel_GR6J(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 6 parameters

GR6J X1 production store capacity [mm]
GR6J X2 intercatchment exchange coefficient [mm/d]
GR6J X3 routing store capacity [mm]
GR6J X4 unit hydrograph time constant [d]
GR6J X5 intercatchment exchange threshold [-]
GR6J X6 coefficient for emptying exponential store [mm]

Value

[list] list containing the function outputs organised as follows:

$DatesR [POSIXlt] series of dates
$PotEvap [numeric] series of input potential evapotranspiration [mm/d]
$Precip [numeric] series of input total precipitation [mm/d]
$Prod [numeric] series of production store level [mm]
$Pn [numeric] series of net rainfall [mm/d]
$Ps [numeric] series of the part of Pn filling the production store [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 [mm/d]
$Q9 [numeric] series of UH1 outflow (Q9) [mm/d]
$Q1 [numeric] series of UH2 outflow (Q1) [mm/d]
$Rout [numeric] series of routing store level [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 (1+2) [mm/d]
$QR [numeric] series of routing store outflow (QR) [mm/d]
$QRExp [numeric] series of exponential store outflow (QRExp) [mm/d]
$Exp [numeric] series of exponential store level (negative) [mm]
$QD [numeric] series of direct flow from UH2 after exchange (QD) [mm/d]
$Qsim [numeric] series of Qsim [mm/d]
$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)

Details

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

Figure: diagramGR6J-EN.png

References

Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andr<U+00E9>assian (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_GR5J, RunModel_CemaNeigeGR6J, CreateInputsModel, CreateRunOptions, CreateIniStates.

Examples

Run this code
# NOT RUN {
library(airGR)

## loading catchment data
data(L0123001)

## preparation of the InputsModel object
InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR6J, 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_GR6J,
                               InputsModel = InputsModel, IndPeriod_Run = Ind_Run)

## simulation
Param <- c(X1 = 242.257, X2 = 0.637, X3 = 53.517, X4 = 2.218, X5 = 0.424, X6 = 4.759)
OutputsModel <- RunModel_GR6J(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)
# }

Run the code above in your browser using DataLab