CreateInputsModel.Rd 4.63 KB
Newer Older
Delaigue Olivier's avatar
Delaigue Olivier committed
1
2
3
4
5
6
7
\encoding{UTF-8}
\name{CreateInputsModel}
\alias{CreateInputsModel}
\title{Creation of the InputsModel object required to the RunModel functions}
\usage{
CreateInputsModel(FUN_MOD, DatesR, Precip, PotEvap = NULL, TempMean = NULL,
  TempMin = NULL, TempMax = NULL, ZInputs = NULL, HypsoData = NULL,
8
  NLayers = 5, verbose = TRUE)
Delaigue Olivier's avatar
Delaigue Olivier committed
9
10
}
\arguments{
11
\item{FUN_MOD}{[function] hydrological model function (e.g. \code{RunModel_GR4J}, \code{RunModel_CemaNeigeGR4J})}
Delaigue Olivier's avatar
Delaigue Olivier committed
12

13
\item{DatesR}{[POSIXt] vector of dates required to create the GR model and CemaNeige module inputs}
Delaigue Olivier's avatar
Delaigue Olivier committed
14
15
16
17
18

\item{Precip}{[numeric] time series of total precipitation (catchment average) [mm], required to create the GR model and CemaNeige module inputs}

\item{PotEvap}{[numeric] time series of potential evapotranspiration (catchment average) [mm], required to create the GR model inputs}

19
\item{TempMean}{(optional) [numeric] time series of mean air temperature [°C], required to create the CemaNeige module inputs}
Delaigue Olivier's avatar
Delaigue Olivier committed
20

21
\item{TempMin}{(optional) [numeric] time series of min air temperature [°C], possibly used to create the CemaNeige module inputs}
Delaigue Olivier's avatar
Delaigue Olivier committed
22

23
\item{TempMax}{(optional) [numeric] time series of max air temperature [°C], possibly used to create the CemaNeige module inputs}
Delaigue Olivier's avatar
Delaigue Olivier committed
24

25
\item{ZInputs}{(optional) [numeric] real giving the mean elevation of the Precip and Temp series (before extrapolation) [m], possibly used to create the CemaNeige module inputs}
Delaigue Olivier's avatar
Delaigue Olivier committed
26

27
\item{HypsoData}{(optional) [numeric] vector of 101 reals: min, q01 to q99 and max of catchment elevation distribution [m], if not defined a single elevation is used for CemaNeige}
Delaigue Olivier's avatar
Delaigue Olivier committed
28

29
\item{NLayers}{(optional) [numeric] integer giving the number of elevation layers requested [-], required to create CemaNeige module inputs, default=5}
Delaigue Olivier's avatar
Delaigue Olivier committed
30

31
\item{verbose}{(optional) [boolean] boolean indicating if the function is run in verbose mode or not, default= \code{TRUE}}
Delaigue Olivier's avatar
Delaigue Olivier committed
32
33
34
35
36
37
38
}
\value{
[list] object of class \emph{InputsModel} containing the data required to evaluate the model outputs; it can include the following:
         \tabular{ll}{
         \emph{$DatesR              }  \tab   [POSIXlt] vector of dates \cr
         \emph{$Precip              }  \tab   [numeric] time series of total precipitation (catchment average) [mm] \cr
         \emph{$PotEvap             }  \tab   [numeric] time series of potential evapotranspiration (catchment average) [mm], \cr\tab defined if FUN_MOD includes GR4H, GR4J, GR5J, GR6J, GR2M or GR1A \cr \cr
39
40
41
         \emph{$LayerPrecip         }  \tab   [list] list of time series of precipitation (layer average) [mm], \cr\tab defined if  \code{FUN_MOD} includes CemaNeige \cr \cr
         \emph{$LayerTempMean       }  \tab   [list] list of time series of mean air temperature (layer average) [°C], \cr\tab defined if  \code{FUN_MOD} includes CemaNeige \cr \cr
         \emph{$LayerFracSolidPrecip}  \tab   [list] list of time series of solid precipitation fraction (layer average) [-], \cr\tab defined if  \code{FUN_MOD} includes CemaNeige \cr \cr
Delaigue Olivier's avatar
Delaigue Olivier committed
42
43
44
45
46
47
         }
}
\description{
Creation of the InputsModel object required to the RunModel functions.
}
\details{
48
Users wanting to use  \code{FUN_MOD} functions that are not included in 
Delaigue Olivier's avatar
Delaigue Olivier committed
49
50
51
the package must create their own InputsModel object accordingly.
}
\examples{
52
library(airGR)
unknown's avatar
unknown committed
53
54

## loading catchment data
Delaigue Olivier's avatar
Delaigue Olivier committed
55
56
57
data(L0123001)

## preparation of the InputsModel object
58
59
InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4J, DatesR = BasinObs$DatesR, 
                                 Precip = BasinObs$P, PotEvap = BasinObs$E)
Delaigue Olivier's avatar
Delaigue Olivier committed
60
61

## run period selection
62
63
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"))
Delaigue Olivier's avatar
Delaigue Olivier committed
64
65

## preparation of the RunOptions object
66
67
RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J,
                               InputsModel = InputsModel, IndPeriod_Run = Ind_Run)
Delaigue Olivier's avatar
Delaigue Olivier committed
68
69

## simulation
70
71
72
Param <- c(734.568, -0.840, 109.809, 1.971)
OutputsModel <- RunModel(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param, 
                         FUN_MOD = RunModel_GR4J)
Delaigue Olivier's avatar
Delaigue Olivier committed
73
74

## results preview
75
plot_OutputsModel(OutputsModel = OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])
Delaigue Olivier's avatar
Delaigue Olivier committed
76
77

## efficiency criterion: Nash-Sutcliffe Efficiency
78
79
80
InputsCrit  <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, 
                                RunOptions = RunOptions, Qobs = BasinObs$Qmm[Ind_Run])
OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
Delaigue Olivier's avatar
Delaigue Olivier committed
81
82
83
84
85
86

}
\author{
Laurent Coron (June 2014)
}
\seealso{
87
\code{\link{RunModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}, \code{\link{DataAltiExtrapolation_Valery}}
Delaigue Olivier's avatar
Delaigue Olivier committed
88
89
}