1
Using the airGRteaching R package for hydrology courses using lumped hydrological models 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 ai r teaching airGRteaching (Delaigue et al., 2018) is an add-on package to the airGR package (Coron et al., 2017). It includes the GR rainfall-runoff models and the CemaNeige snow melt and accumulation model. This package is easy to use and provides graphical devices to help students to explore data and analyse modelling results. Why using airGRteaching for teaching hydrological modelling? I It offers an interactive interface to showcase the rainfall-runoff model components I It can be run with your own data I It uses fast-running conceptual GR models (annual to hourly time steps) I Free and open-source, available on all platforms (Linux, Mac OS & Windows) airGRteaching functionalities I very low programming skills needed I only three functions to complete a hydrological modelling exercise: . data preparation (requires few input variables) . model calibration . flow simulation I plotting functions to help students to explore observed data and to interpret results: . static graphs (’graphics’ package) . interactive graphs (’dygraphs’ package) . plot functions automatically recognize the airGRteaching objects I a ’Shiny’ graphical interface for (only daily models available): . displaying the impact of model parameters on hydrographs . manual and automatic model calibration . state variable visualisation Getting started with the package I Documentation available with the R command: vignette("airGRteaching") I airGR Website: https://webgr.irstea.fr/en/airGR/ Download the airGRteaching package I Freely available on the Comprehensive Archive Network: https://CRAN.R-project.org/package=airGRteaching/ Effects of the different action buttons on the ’Shiny’ interface Data preparation, calibration and simulation with the GR5J model (+ CemaNeige snow model) ## data.frame of observed data data(L0123002) BasinObs2 <- BasinObs[, c("DatesR", "P", "E", "Qmm", "T")] ## Preparation of observed data for modelling PREP <- PrepGR(ObsDF = BasinObs2, 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 during calibration plot(CAL, which = "iter") 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 exch. 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 exch. threshold [-] 0 20 60 100 0.70 0.80 0.90 C1 weight for snowpack thermal state [- 0 20 60 100 2.0 2.5 3.0 3.5 C2 degree-day 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 ## Plot the time series of observed and simulated flows ## 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) 70 30 precip. [mm/d] solid liquid 01/1994 01/1995 01/1996 01/1997 01/1998 -10 0 10 20 temp. [°C] mean layers 01/1994 01/1995 01/1996 01/1997 01/1998 0 400 800 1200 snow pack [mm] mean layers 01/1994 01/1995 01/1996 01/1997 01/1998 0 5 10 15 20 flow [mm/d] 01/1994 01/1995 01/1996 01/1997 01/1998 observed simulated 150 0 Jan Mar May Jul Sep Nov 0 150 30-days rolling mean precip. & flow regime [mm/month] 0 0.2 0.4 0.6 0.8 1 non-exceedance prob. [-] 0.5 2 5 flow [mm/d] observed simulated log scale 0.5 1 2 5 10 0.5 2 5 observed flow [mm/d] simulated flow [mm/d] log scale ’Model diagram’ & ’State variables’ panels of the ’Shiny’ interface Future developments I Additional models in the ’Shiny’ interface (GR2M & GR4H) I New plots to visualize snow simulation in the ’Shiny’ interface References I Coron, L., Thirel, G., Delaigue, O., Perrin, C. & Andr´ eassian, V. (2017). The suite of lumped GR hydrological models in an R package. Environmental Modelling & Software 94, 166–171. DOI: 10.1016/j.envsoft.2017.05.002. I Delaigue, O., Coron, L. & Brigode, P. (2018). airGRteaching: Teaching Hydrological Modelling with the GR Rainfall-Runoff Models (’Shiny’ Interface Included). R package version 0.2.2.2. URL: https://webgr.irstea.fr/en/airGR/. I Delaigue, O., Thirel, G., Coron, L. & Brigode, P. (under review). airGR and airGRteaching: two open-source tools for rainfall-runoff modeling and teaching hydrology. HIC2018 proceedings, 13th International conference of Hydroinformatics, July 2018, Palermo, Italy. National Research Institute of Science and Technology for Environment and Agriculture HYDRO Olivier Delaigue <[email protected]> EGU General Assembly 2018 - 8-13 April 2018 - Vienna (Austria) - EGU2018-5074 | EOS16/HS1.14 airGR Development Team <[email protected]>

snow melt and accumulation model. This package is easy to ... · Olivier Delaigue EGU General Assembly 2018 - 8-13 April 2018 - Vienna (Austria)

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: snow melt and accumulation model. This package is easy to ... · Olivier Delaigue  EGU General Assembly 2018 - 8-13 April 2018 - Vienna (Austria)

Using the airGRteaching R package for hydrology coursesusing lumped hydrological models

Olivier Delaigue1, Guillaume Thirel1, Laurent Coron2, Pierre Brigode3

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

3 Nice-Sophia-Antipolis University – Geoazur UMR 7329 – Sophia-Antipolis, France

airteachingairGRteaching (Delaigue et al., 2018) is an add-on package to the airGR package (Coron et al., 2017). It includes the GR rainfall-runoff models and the CemaNeigesnow melt and accumulation model. This package is easy to use and provides graphical devices to help students to explore data and analyse modelling results.

Why using airGRteaching for teaching hydrological modelling?

I It offers an interactive interface to showcase the rainfall-runoff model components

I It can be run with your own data

I It uses fast-running conceptual GR models (annual to hourly time steps)

I Free and open-source, available on all platforms (Linux, Mac OS & Windows)

airGRteaching functionalities

I very low programming skills needed

I only three functions to complete a hydrological modelling exercise:. data preparation (requires few input variables). model calibration. flow simulation

I plotting functions to help students to explore observed data and to interpret results:. static graphs (’graphics’ package). interactive graphs (’dygraphs’ package). plot functions automatically recognize the airGRteaching objects

I a ’Shiny’ graphical interface for (only daily models available):. displaying the impact of model parameters on hydrographs. manual and automatic model calibration. state variable visualisation

Getting started with the package

I Documentation available with the R command: vignette("airGRteaching")

I airGR Website: https://webgr.irstea.fr/en/airGR/

Download the airGRteaching package

I Freely available on the Comprehensive Archive Network:https://CRAN.R-project.org/package=airGRteaching/

Effects of the different action buttons on the ’Shiny’ interface

Data preparation, calibration and simulation with the GR5J model (+ CemaNeige snow model)library(airGRteaching, quietly = TRUE)

## data.frame of observed data

data(L0123002)

BasinObs2 <- BasinObs[, c("DatesR", "P", "E", "Qmm", "T")]

## Preparation of observed data for modelling

PREP <- PrepGR(ObsDF = BasinObs2, 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 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

. sto

re c

apac

ity [m

m]

0 20 60 100

0.0

0.5

1.0

1.5

X2

inte

rcat

chm

ent e

xch.

coe

f. [m

m/d

]

0 20 60 100

5060

7080

90

X3

rout

ing

stor

e ca

paci

ty [m

m]

0 20 60 100

1.0

1.2

1.4

1.6

1.8

X4

UH

tim

e co

nsta

nt [d

]

0 20 60 100

0.38

0.42

0.46

X5

inte

rcat

chm

ent e

xch.

thre

shol

d [−

]

0 20 60 100

0.70

0.80

0.90

C1

wei

ght f

or s

now

pack

ther

mal

sta

te [−

]

0 20 60 100

2.0

2.5

3.0

3.5

C2

degr

ee−

day

mel

t coe

f. [m

m/d

egC

/d]

0 20 40 60 80 100 120

0.75

0.80

0.85

0.90

KGE

Evolution of parameters and efficiency criterionduring the iterations of the steepest−descent step

library(airGRteaching, quietly = TRUE)

## data.frame of observed data

data(L0123002)

BasinObs2 <- BasinObs[, c("DatesR", "P", "E", "Qmm", "T")]

## Preparation of observed data for modelling

PREP <- PrepGR(ObsDF = BasinObs2, 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 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

library(airGRteaching, quietly = TRUE)

## data.frame of observed data

data(L0123002)

BasinObs2 <- BasinObs[, c("DatesR", "P", "E", "Qmm", "T")]

## Preparation of observed data for modelling

PREP <- PrepGR(ObsDF = BasinObs2, 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 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

7030

prec

ip. [

mm

/d]

solidliquid

01/1994 01/1995 01/1996 01/1997 01/1998

−10

010

20

tem

p. [°

C]

meanlayers

01/1994 01/1995 01/1996 01/1997 01/1998

040

080

012

00

snow

pac

k [m

m] mean

layers

01/1994 01/1995 01/1996 01/1997 01/1998

05

1015

20

flow

[mm

/d]

01/1994 01/1995 01/1996 01/1997 01/1998

observedsimulated

150

0

Jan Mar May Jul Sep Nov

015

0

30−days rolling mean

prec

ip. &

flow

reg

ime

[mm

/mon

th]

0 0.2 0.4 0.6 0.8 1

non−exceedance prob. [−]

0.5

25

flow

[m

m/d

] observedsimulated

log scale

0.5 1 2 5 10

0.5

25

observed flow [mm/d]

sim

ulat

ed fl

ow [m

m/d

]

log scale

’Model diagram’ & ’State variables’ panels of the ’Shiny’ interface

Future developments

I Additional models in the ’Shiny’ interface (GR2M & GR4H)

I New plots to visualize snow simulation in the ’Shiny’ interface

References

I Coron, L., Thirel, G., Delaigue, O., Perrin, C. & Andreassian, V. (2017). The suite of lumped GRhydrological models in an R package. Environmental Modelling & Software 94, 166–171. DOI:10.1016/j.envsoft.2017.05.002.

I Delaigue, O., Coron, L. & Brigode, P. (2018). airGRteaching: Teaching Hydrological Modelling with theGR Rainfall-Runoff Models (’Shiny’ Interface Included). R package version 0.2.2.2. URL:https://webgr.irstea.fr/en/airGR/.

I Delaigue, O., Thirel, G., Coron, L. & Brigode, P. (under review). airGR and airGRteaching: two

open-source tools for rainfall-runoff modeling and teaching hydrology. HIC2018 proceedings, 13th

International conference of Hydroinformatics, July 2018, Palermo, Italy.

National Research Instituteof Science and Technology

for Environment and Agriculture HYDRO

Olivier Delaigue <[email protected]> EGU General Assembly 2018 - 8-13 April 2018 - Vienna (Austria) - EGU2018-5074 | EOS16/HS1.14 airGR Development Team <[email protected]>