This package brings into R the hydrological modelling tools developed at INRAE-Antony (Catchment Hydrology research group of the HYCAR Research Unit, France), including rainfall-runoff models (GR4H, GR5H, GR4J, GR5J, GR6J, GR2M, GR1A) that can be applied either on a lumped or semi-distributed way. A snow accumulation and melt model (CemaNeige) and the associated functions for the calibration and evaluation of models are also included. Each model core is coded in Fortran to ensure low computational time. The other package functions (i.e. mainly the calibration algorithm and the computation of the efficiency criteria) are coded in R.
install.packages("airGR")
The airGR package has been designed to fulfil two major requirements: facilitate the use by non-expert users and allow flexibility regarding the addition of external criteria, models or calibration algorithms. The names of the functions and their arguments were chosen to this end.
The package is mostly based on three families of functions:
RunModel
family require
three arguments: InputsModel
, RunOptions
and
Param
; please refer to help pages
CreateInputsModel
and CreateRunOptions
for
further details and examples;ErrorCrit
family require
two arguments: InputsCrit
and OutputsModel
;
please refer to help pages CreateInputsCrit
and
RunModel
for further details and examples;Calibration
family
require four arguments: InputsModel
,
RunOptions
, InputsCrit
and
CalibOptions
; please refer to help pages
CreateInputsModel
, CreateRunOptions
,
CreateInputsCrit
and CreateCalibOptions
for
further details and examples.In order to limit the risk of mis-use and increase the flexibility of
these main functions, we imposed the structure of their arguments and
defined their class. Most users will not need to worry about these
imposed structures since functions are provided to prepare these
arguments for them: CreateInputsModel
,
CreateRunOptions
, CreateInputsCrit
,
CreateCalibOptions
. However, advanced users wishing to
supplement the package with their own models will need to comply with
these imposed structures and refer to the package source codes to get
all the specification requirements.
Seven hydrological models and one snow melt and accumulation model are implemented in airGR. The hydrological models can be applied either on a lumped way or on a semi-distributed way (on sub-catchments). The snow model can either be used alone or with the daily or hourly hydrological models. Naturally each hydrological model can also be used alone. These models can be called within airGR using the following functions:
RunModel_GR4H
: four-parameter hourly lumped
hydrological model (Mathevet, 2005)RunModel_GR5H
: five-parameter hourly lumped
hydrological model (Ficchi, 2017; Ficchi et al., 2019)RunModel_GR4J
: four-parameter daily lumped hydrological
model (Perrin et al., 2003)RunModel_GR5J
: five-parameter daily lumped hydrological
model (Le Moine, 2008)RunModel_GR6J
: six-parameter daily lumped hydrological
model (Pushpalatha et al., 2011)RunModel_GR2M
: two-parameter monthly lumped
hydrological model (Mouelhi, 2003; Mouelhi et al., 2006a)RunModel_GR1A
: one-parameter yearly lumped hydrological
model (Mouelhi, 2003; Mouelhi et al., 2006b)RunModel_CemaNeige
: two-parameter degree-day snow melt
and accumulation daily model (Valéry et al., 2014; Riboust
et al., 2019)RunModel_CemaNeigeGR4H
: combined use of GR4H and
CemaNeigeRunModel_CemaNeigeGR5H
: combined use of GR5H and
CemaNeigeRunModel_CemaNeigeGR4J
: combined use of GR4J and
CemaNeigeRunModel_CemaNeigeGR5J
: combined use of GR5J and
CemaNeigeRunModel_CemaNeigeGR6J
: combined use of GR6J and
CemaNeigeTo learn how to use the functions from the airGR package, it is recommended to follow the five steps described below:
RunModel_GR4J
then run the
provided example to assess how to make a simulation;CreateInputsModel
to understand
how the inputs of a model are prepared/organised;CreateRunOptions
to understand
how the run options of a model are parametrised/organised;ErrorCrit_NSE
and
CreateInputsCrit
to understand how the computation of an
error criterion is prepared/made;Calibration_Michel
, run the
provided example and then refer to the help for
CreateCalibOptions
to understand how a model calibration is
prepared/made.To get started with the package, you can refer to the ‘get_started’
vignette (vignette("V01_get_started", package = "airGR")
).
To know how to use the models on a semi-distributed way, you can refer
to the ‘sd_model’ vignette
(vignette("V05_sd_model", package = "airGR")
). For more
information, please visit the airGR website.