Param_Sets_GR4J.Rd 3.14 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
\docType{data}
\encoding{UTF-8}

\name{Param_Sets_GR4J}

\alias{Param_Sets_GR4J}


\title{Generalist parameter sets for the GR4J model}

\format{Compromise short-list containing
\itemize{
  \item {GR4J X1} {production store capacity [mm]}
  \item {GR4J X2} {intercatchment exchange coefficient [mm/d]}
  \item {GR4J X3} {routing store capacity [mm]}
  \item {GR4J X4u} {unajusted unit hydrograph time constant [d]}
}}

\description{
20
These parameter sets can be used for the grid-screening calibration procedure.
21
22
Please NOTE that the given GR4J X4u variable does not correspond to the actual GR4J X4 parameter.
As explained in Andréassian \emph{et al.} (2014; section 2.1), the given GR4J X4u value has to be adjusted (rescaled) using catchment area (S) [km2] as follows: {X4 = X4u * S^0.3}.
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Please, see the example below.
}

\seealso{
  \code{\link{RunModel_GR4J}}, \code{\link{Calibration_Michel}}.
}

\references{
Andréassian, V., F. Bourgin, L. Oudin, T. Mathevet, C. Perrin, J. Lerat, L. Coron, L. Berthet (2014).
      Seeking genericity in the selection of parameter sets: impact on hydrological model efficiency.
      Water Resources Research, 50(10), 8356-8366, doi: 10.1002/2013WR014761.
}


\examples{
library(airGR)

## loading catchment data
data(L0123001)

## loading generalist parameter sets
data(Param_Sets_GR4J)
str(Param_Sets_GR4J)

## generalist parameter sets with real GR4J X4
Param_Sets_GR4J$X4 <- Param_Sets_GR4J$X4u * BasinInfo$BasinArea^0.3
Param_Sets_GR4J$X4u <- NULL
Param_Sets_GR4J <- as.matrix(Param_Sets_GR4J)

## preparation of the InputsModel object
InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4J, DatesR = BasinObs$DatesR, 
                                 Precip = BasinObs$P, PotEvap = BasinObs$E)

## run period selection
Ind_Run <- seq(which(format(BasinObs$DatesR, format = "\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"), 
               which(format(BasinObs$DatesR, format = "\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))

## preparation of RunOptions object
RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J,
                               InputsModel = InputsModel, IndPeriod_Run = Ind_Run)

## calibration criterion: preparation of the InputsCrit object
InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, 
                               RunOptions = RunOptions, Qobs = BasinObs$Qmm[Ind_Run])

68
## preparation of CalibOptions object using the generalist parameter sets as starting point
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
CalibOptions <- CreateCalibOptions(FUN_MOD = RunModel_GR4J, FUN_CALIB = Calibration_Michel,
                                   StartParamList = Param_Sets_GR4J)

## calibration
OutputsCalib <- Calibration(InputsModel = InputsModel, RunOptions = RunOptions,
                            InputsCrit = InputsCrit, CalibOptions = CalibOptions,
                            FUN_MOD = RunModel_GR4J, FUN_CRIT = ErrorCrit_NSE, 
                            FUN_CALIB = Calibration_Michel)

## simulation
Param <- OutputsCalib$ParamFinalR
OutputsModel <- RunModel(InputsModel = InputsModel, RunOptions = RunOptions, 
                         Param = Param, FUN = RunModel_GR4J)

## results preview
plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])
}