RunModel_GR2M.Rd 4.28 KB
Newer Older
Delaigue Olivier's avatar
Delaigue Olivier committed
1
2
3
4
5
6
7
8
9
10
11
12
\encoding{UTF-8}
\name{RunModel_GR2M}
\alias{RunModel_GR2M}
\title{Run with the GR2M hydrological model}
\usage{
RunModel_GR2M(InputsModel, RunOptions, Param)
}
\arguments{
\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}

\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}

13
\item{Param}{[numeric] vector of 2 parameters
Delaigue Olivier's avatar
Delaigue Olivier committed
14
\tabular{ll}{                                                                      
Delaigue Olivier's avatar
Delaigue Olivier committed
15
GR2M X1      \tab production store capacity [mm]                 \cr
16
GR2M X2      \tab groundwater exchange coefficient [-]    \cr
Delaigue Olivier's avatar
Delaigue Olivier committed
17
18
19
}}
}
\value{
Delaigue Olivier's avatar
Delaigue Olivier committed
20
21
[list] list containing the function outputs organised as follows:                                         
         \tabular{ll}{                                                                                         
22
23
24
25
26
         \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                          \cr
         \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/month]                  \cr
         \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/month]                           \cr
         \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/month]                                                \cr
         \emph{$StateEnd}          \tab [numeric] states at the end of the run (production store level and routing store level) [mm] \cr
Delaigue Olivier's avatar
Delaigue Olivier committed
27
         }                                                                                                     
Delaigue Olivier's avatar
Delaigue Olivier committed
28
29
30
         (refer to the provided references or to the package source code for further details on these model outputs)
}
\description{
31
Function which performs a single run for the GR2M monthly lumped model over the test period.
Delaigue Olivier's avatar
Delaigue Olivier committed
32
33
34
35
36
37
}
\details{
For further details on the model, see the references section.
For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
}
\examples{
38
39
## loading catchment data
library(airGR)
Delaigue Olivier's avatar
Delaigue Olivier committed
40
41
data(L0123001)

42
43
## conversion of example data from daily to monthly time step
TabSeries       <- data.frame(BasinObs$DatesR, BasinObs$P, BasinObs$E, BasinObs$T, BasinObs$Qmm)
Delaigue Olivier's avatar
Delaigue Olivier committed
44
45
TimeFormat      <- "daily"
NewTimeFormat   <- "monthly"
46
47
48
ConvertFun      <- c("sum", "sum", "mean", "sum")
NewTabSeries    <- SeriesAggreg(TabSeries = TabSeries, TimeFormat = TimeFormat, 
                                NewTimeFormat = NewTimeFormat, ConvertFun = ConvertFun)
Delaigue Olivier's avatar
Delaigue Olivier committed
49
BasinObs        <- NewTabSeries
50
names(BasinObs) <- c("DatesR", "P", "E", "T", "Qmm")
Delaigue Olivier's avatar
Delaigue Olivier committed
51
52

## preparation of the InputsModel object
53
54
InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR2M, DatesR = BasinObs$DatesR, 
                                 Precip = BasinObs$P, PotEvap = BasinObs$E)
Delaigue Olivier's avatar
Delaigue Olivier committed
55
56

## run period selection
57
58
Ind_Run <- seq(which(format(BasinObs$DatesR, format = "\%m/\%Y")=="01/1990"), 
               which(format(BasinObs$DatesR, format = "\%m/\%Y")=="12/1999"))
Delaigue Olivier's avatar
Delaigue Olivier committed
59
60

## preparation of the RunOptions object
61
62
RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR2M,
                               InputsModel = InputsModel, IndPeriod_Run = Ind_Run)
Delaigue Olivier's avatar
Delaigue Olivier committed
63
64

## simulation
65
66
Param <- c(265.072, 1.040)
OutputsModel <- RunModel_GR2M(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param)
Delaigue Olivier's avatar
Delaigue Olivier committed
67
68

## results preview
69
plot_OutputsModel(OutputsModel = OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])
Delaigue Olivier's avatar
Delaigue Olivier committed
70
71

## efficiency criterion: Nash-Sutcliffe Efficiency
72
73
74
75
InputsCrit  <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, 
                                RunOptions = RunOptions, Qobs = BasinObs$Qmm[Ind_Run])
OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
cat(paste("  Crit  ", OutputsCrit$CritName, "  ", round(OutputsCrit$CritValue, 4), "\\n", sep = ""))
Delaigue Olivier's avatar
Delaigue Olivier committed
76
77
78

}
\author{
79
Laurent Coron, Claude Michel, Safouane Mouelhi (March 2015)
Delaigue Olivier's avatar
Delaigue Olivier committed
80
81
}
\references{
Delaigue Olivier's avatar
Delaigue Olivier committed
82
Mouelhi S. (2003), 
Delaigue Olivier's avatar
Delaigue Olivier committed
83
84
85
86
87
88
89
      Vers une chaîne cohérente de modèles pluie-débit conceptuels globaux aux pas de temps pluriannuel, annuel, mensuel et journalier,
      PhD thesis (in French), ENGREF, Cemagref Antony, France. \cr
  Mouelhi, S., C. Michel, C. Perrin and V. Andréassian (2006),
      Stepwise development of a two-parameter monthly water balance model,
      Journal of Hydrology, 318(1-4), 200-214, doi:10.1016/j.jhydrol.2005.06.014.
}