airGRteaching: Tools to Simplify the Use of the airGR Hydrological Package for Education (Including a Shiny Application)


airGRteaching is an add-on package to the airGR package that simplifies its use and is teaching-oriented. It allows to use with very low programming skills the rainfall-runoff models (GR4H, GR5H, GR4J, GR5J, GR6J, GR2M, GR1A) and a snow melt and accumulation model (CemaNeige). This package also provides graphical devices to help students to explore data and modelling results.

The airGRteaching package has been designed to fulfil a major requirement: facilitating the use of the airGR functionalities by students. The names of the functions and their arguments were chosen to this end.

The package is mostly based on three families of functions:

This package brings into R the hydrological modelling tools developed at INRAE-Antony (Catchment Hydrology research group of the HYCAR Research Unit, France).



This version of airGRteaching is designed to work with the package htmlwidgets >= (troubles with the package dygraphs using dyplot() and ShinyGR()) Install the latest version of ‘htmlwidgets’ from GitHub with the following command lines:


Modelling Functions

Three functions allow to complete very simply a hydrological modelling exercise:

Plotting Functions

airGRteaching provides two types of plotting functions that allow to produce static (plot()) or dynamic (dyplot()) graphics (incl. mouse events and interactive graphics). The devices allow to explore observed data and to interpret the results of calibration and simulation of the GR models.

Graphical user interface

The package also provides the ShinyGR() function, which allows to launch a Shiny interface. Thus its is possible to perform:

A demonstrator of the graphical interface is available for free online on the Sunshine platform.


The six hydrological models and the snow melt and accumulation model already available in airGR are available in airGRteaching. These models can be called within airGRteaching using the following model names (*: available in the Shiny interface):

For more information and to get started with the package, you can refer to the vignette (vignette("get_started", package = "airGRteaching")) and go on the airGRteaching website.