• Aucun résultat trouvé

airGR and airGRteaching: two packages for rainfall-runoff modeling and teaching hydrology

N/A
N/A
Protected

Academic year: 2021

Partager "airGR and airGRteaching: two packages for rainfall-runoff modeling and teaching hydrology"

Copied!
2
0
0

Texte intégral

(1)

HAL Id: hal-02609956

https://hal.inrae.fr/hal-02609956

Submitted on 16 May 2020

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

airGR and airGRteaching: two packages for rainfall-runoff modeling and teaching hydrology

O. Delaigue, G. Thirel, L. Coron, P. Brigode

To cite this version:

O. Delaigue, G. Thirel, L. Coron, P. Brigode. airGR and airGRteaching: two packages for rainfall-runoff modeling and teaching hydrology. 15th edition of the International R User Conference, Jul 2019, Toulouse, France. pp.1, 2019. �hal-02609956�

(2)

airGR & airGRteaching: two packages for

rainfall-runoff modeling and teaching hydrology

Olivier Delaigue

1

, Guillaume Thirel

1

, Laurent Coron

2

& Pierre Brigode

3

1 IRSTEA – Hydrology Research Group (HYCAR) – Antony, France 2 EDF – PMC Hydrometeorological Center – Toulouse, France

3 Nice-Sophia-Antipolis University – G´eoazur UMR 7329 – Sophia-Antipolis, France

air

The use of R is growing fast in hydrology, as it covers all the steps necessary to lead complete hydrological studies (Slater

et al., 2019). GR is a suite of lumped hydrological models designed for flow simulation at various time steps. The models

are available in the airGR package and can easily be implemented on a set of catchments with limited data requirements.

airGRteaching is an add-on to airGR which simplifies its use and is more specifically oriented towards teaching.

GR hydrological models

I Designed with the objective to be as efficient as possible for flow simulation at various time steps (from hourly to annual)

I Warranted complexity structures and limited data requirements

I Can be applied on a wide range of conditions, including snowy catchments (CemaNeige snow routine included)

From airGR to airGRteaching

I The GR hydrological models have been implemented in airGR (Coron et al., 2019) I airGRteaching (Delaigue et al., 2019) depends on airGR. It offers simplified

functionalities that are particularly suitable for teaching hydrology

Main components of the airGR package

Pot. evaporation computation (from temp.-based formula)

Optimization algorithm Calibration/Validation

testing procedure Criteria for model

calibration and evaluation

Outputs

• Time series of simulated flows and internal state variables

• Efficiency criteria

• Plot diagnostics for simulation

Inputs

• Precipitation and temperature time series • Streamflow time series

• Catchment size and latitude

• Hypsometric curve (for snow module)

Hydrological models • GR4H (hourly) • GR4J, GR5J, GR6J (daily) • GR2M (monthly) • GR1A (annual) Snow module • CemaNeige airGRteaching functionalities

I The package only requires a basic level of programming

I Three functions are sufficient to implement the modeling chain: . data preparation (PerpGR())

. model calibration (CalGR()) . flow simulation (SimGR())

I Static and dynamic plots can be applied on outputs of aforementionned functions I The package proposes a Shiny interface allowing to realize:

. simulations of flows by manual modification of parameters . automatic model calibrations

. visualization of the internal states of the model

airGRteaching GUI allowing to understand the roles of parameters and internal variables of models

Data preparation, calibration and simulation with the GR5J model (+ CemaNeige snow module)

## data.frame of observed data

data(L0123002)

BasinObs <- BasinObs[, c("Dates", "Precip", "ETP", "Qmm", "Temp")]

## preparation of observed data for modeling

Prep <- PrepGR(ObsDF = BasinObs, HydroModel = "GR5J", CemaNeige = TRUE,

ZInputs = median(BasinInfo$HypsoData), HypsoData = BasinInfo$HypsoData)

## calibration step

Cal <- CalGR(PrepGR = Prep, CalCrit = "KGE", verbose = FALSE,

WupPer = NULL, CalPer = c("1990-01-01", "1993-12-31"))

## plot the parameter values and the criterion value during calibration

plot(Cal, which = "iter")

## plot the time series of observed and simulated flows

plot(Cal, which = "ts", main = "Calibration step")

## simulation step using the result of the automatic calibration method

Sim <- SimGR(PrepGR = Prep, CalGR = Cal, EffCrit = "NSE",

WupPer = NULL, SimPer = c("1994-01-01", "1998-12-31"))

## Crit. NSE[Q] = 0.8376

## plot giving an overview of the model outputs

plot(Sim)

1

## data.frame of observed data

data(L0123002)

BasinObs <- BasinObs[, c("Dates", "Precip", "ETP", "Qmm", "Temp")]

## preparation of observed data for modeling

Prep <- PrepGR(ObsDF = BasinObs, HydroModel = "GR5J", CemaNeige = TRUE,

ZInputs = median(BasinInfo$HypsoData), HypsoData = BasinInfo$HypsoData)

## calibration step

Cal <- CalGR(PrepGR = Prep, CalCrit = "KGE", verbose = FALSE,

WupPer = NULL, CalPer = c("1990-01-01", "1993-12-31"))

## plot the parameter values and the criterion value during calibration

plot(Cal, which = "iter")

## plot the time series of observed and simulated flows

plot(Cal, which = "ts", main = "Calibration step")

## simulation step using the result of the automatic calibration method

Sim <- SimGR(PrepGR = Prep, CalGR = Cal, EffCrit = "NSE",

WupPer = NULL, SimPer = c("1994-01-01", "1998-12-31"))

## Crit. NSE[Q] = 0.8376

## plot giving an overview of the model outputs

plot(Sim) 1 0 20 60 100 450 500 550 600 X1

prod. store capacity [mm]

0 20 60 100 0.0 0.5 1.0 1.5 X2 intercatchment e xch. coef . [mm/d] 0 20 60 100 50 60 70 80 90 X3

routing store capacity [mm]

0 20 60 100 1.0 1.2 1.4 1.6 1.8 X4 UH time constant [d] 0 20 60 100 0.38 0.42 0.46 X5 intercatchment e xch. threshold [−] 0 20 60 100 0.70 0.80 0.90 C1 w eight f or sno wpack ther mal state [−] 0 20 60 100 2.0 2.5 3.0 3.5 C2 degree−da y melt coef . [mm/degC/d] 0 20 40 60 80 100 120 0.75 0.80 0.85 0.90 KGE

Evolution of parameters and efficiency criterion during the iterations of the steepest−descent step

## data.frame of observed data

data(L0123002)

BasinObs <- BasinObs[, c("Dates", "Precip", "ETP", "Qmm", "Temp")]

## preparation of observed data for modeling

Prep <- PrepGR(ObsDF = BasinObs, HydroModel = "GR5J", CemaNeige = TRUE,

ZInputs = median(BasinInfo$HypsoData), HypsoData = BasinInfo$HypsoData)

## calibration step

Cal <- CalGR(PrepGR = Prep, CalCrit = "KGE", verbose = FALSE,

WupPer = NULL, CalPer = c("1990-01-01", "1993-12-31"))

## plot the parameter values and the criterion value during calibration

plot(Cal, which = "iter")

## plot the time series of observed and simulated flows

plot(Cal, which = "ts", main = "Calibration step")

## simulation step using the result of the automatic calibration method

Sim <- SimGR(PrepGR = Prep, CalGR = Cal, EffCrit = "NSE",

WupPer = NULL, SimPer = c("1994-01-01", "1998-12-31"))

## Crit. NSE[Q] = 0.8376

## plot giving an overview of the model outputs

plot(Sim) 1 70 50 30 10 precip . [mm/d] solid liquid 01/1994 01/1995 01/1996 01/1997 01/1998 −10 10 temp . [ ° C] mean layers 01/1994 01/1995 01/1996 01/1997 01/1998 0 400 1000 sno w pack [mm] mean layers 01/1994 01/1995 01/1996 01/1997 01/1998 0 5 10 15 flo w [mm/d] 01/1994 01/1995 01/1996 01/1997 01/1998 observed simulated 150 0

Jan Mar May Jul Sep Nov

0

150

300

30−days rolling mean

precip . & flo w [mm/month] 0 0.2 0.4 0.6 0.8 1 non−exceedance prob. [−] 0.5 2 5 flo w [mm/d] observed simulated log scale 0.5 1 2 5 10 0.5 2 5 observed flow [mm/d] sim ulated flo w [mm/d] log scale

airGR websites: get started with the packages or discover advanced uses I High degree of customization with airGR

. https://hydrogr.github.io/airGR/

I Simple features to learn hydrology with airGRteaching . https://hydrogr.github.io/airGRteaching/ References

I Coron L., Delaigue, O., Thirel, G., Perrin C., Michel C. (2019). airGR: Suite of GR Hydrological

Models for Precipitation-Runoff Modelling. R package version 1.2.13.16. URL: https://CRAN.R-project.org/package=airGR.

I Delaigue, O., Coron, L. and Brigode, P. (2019). airGRteaching: Teaching Hydrological Modelling

with GR (Shiny Interface Included). R package version 0.3.6.29. URL: https://CRAN.R-project.org/package=airGRteaching.

I Slater, L., Thirel, G., Harrigan, S., Delaigue, O., Hurley, A., Khouakhi, A., Prodoscimi, I., Vitolo,

C. & Smith, K. (2019). Using R in hydrology: a review of recent developments and future directions. Hydrology and Earth System Sciences, 1-33. DOI: 10.5194/hess-2019-50.

National Research Institute of Science and Technology

for Environment and Agriculture HYDR

O

Références

Documents relatifs

Ces journées s’adressent à des personnes souhaitant prendre en main les modèles hydrologiques GR via l’utilisation des packages airGR et airGRteaching (interface graphique, codes

I A new airGRteaching package (Delaigue et al., 2018) provides tools to simplify the use of the airGR hydrological package for education, including a ’Shiny’ interface.

Coron L., Perrin C., Delaigue O., Andréassian V., Thirel G., airGR: a suite of lumped hydrological models in an R-package, Environmental Modelling and software, in preparation. A

airGR: an R-package suitable for large sample hydrology presenting a suite of lumped hydrological models.. Guillaume Thirel, Olivier

[r]

PrecipScale (optional) [boolean] indicating if the mean of the precipitation interpolated on the elevation layers must be kept or not, required to create CemaNeige module

3.- Conèixer, analitzar i comprendre l'acció dels diferents actors de la cooperació internacional en l'àmbit de l'educació.. 4.- Conèixer i aplicar estratègies d'Educació per

« DO » est ici un auxiliaire dont j’ai besoin pour mettre le verbe à la forme négative.. I have two brothers and