\encoding{UTF-8} \name{CreateIniStates} \alias{CreateIniStates} \title{Creation of the IniStates object possibly required by the CreateRunOptions functions} \usage{ CreateIniStates(FUN_MOD, InputsModel, ProdStore = 0.3, RoutStore = 0.5, ExpStore = NULL, UH1 = NULL, UH2 = NULL, GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, verbose = TRUE) } \arguments{ \item{FUN_MOD}{[function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)} \item{InputsModel}{[object of class \code{InputsModel}] see \code{\link{CreateInputsModel}} for details} \item{ProdStore}{[numeric] production store level [mm]} \item{RoutStore}{[numeric] routing store level [mm]} \item{ExpStore}{(optional) [numeric] series of exponential store level (negative) [mm] for the GR6J model} \item{UH1}{(optional) [numeric] unit hydrograph 1 levels [mm]} \item{UH2}{(optional) [numeric] unit hydrograph 2 levels [mm]} \item{GCemaNeigeLayers}{(optional) [numeric] snow pack [mm], possibly used to create the CemaNeige model initial state} \item{eTGCemaNeigeLayers}{(optional) [numeric] snow pack thermal state [°C], possibly used to create the CemaNeige model initial state} \item{verbose}{(optional) [boolean] boolean indicating if the function is run in verbose mode or not, \code{default = TRUE}} } \value{ [list] object of class \code{IniStates} containing the initial model internal states; it always includes the following: \tabular{ll}{ \emph{$Store } \tab [numeric] list of store levels (\emph{$Prod}, \emph{$Rout} and \emph{$Exp}) \cr \emph{$UH } \tab [numeric] list of unit hydrographs levels (\emph{$UH1} and \emph{$UH2}) \cr \emph{$CemaNeigeLayers} \tab [numeric] list of CemaNeige variables (\emph{$G} and \emph{$eTG}) } } \description{ Creation of the \code{IniStates} object possibly required by the \code{\link{CreateRunOptions}} functions } \details{ 20 numeric values are required for UH1 and 40 numeric values are required for UH2 if GR4J, GR5J or GR6J are used (respectivly 20*24 and 40*24 for the daily model GR4H). \cr GCemaNeigeLayers and eTGCemaNeigeLayers require each numeric values as many as given in \code{\link{CreateInputsModel}} with the NLayersargument. \cr The structure of the object of class \code{IniStates} returned is always exactly the same for all models (except for the unit hydrographs levels that contain more values with GR4H), even if some states do nt exist (e.g. \emph{$UH$UH1} for GR2M). \cr If CemaNeige is not used, \emph{$CemaNeigeLayers$G} and \emph{$CemaNeigeLayers$eTG} are set to \code{NA}. \cr Nota: the \code{StateEnd} objects from the outputs of \code{RunModel*} functions already respect the format given by the \code{CreateIniStates} function. } \examples{ library(airGR) ## loading catchment data data(L0123001) ## 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 the IniStates object IniStates <- CreateIniStates(FUN_MOD = RunModel_GR4J, InputsModel = InputsModel, ProdStore = 0.1, RoutStore = 0.6, ExpStore = NULL, UH1 = c(0.52, 0.54, 0.15, rep(0, 17)), UH2 = c(0.057, 0.042, 0.015, 0.005, rep(0, 36)), GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL) str(IniStates) ## preparation of the RunOptions object RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J, InputsModel = InputsModel, IndPeriod_Run = Ind_Run, IniStates = IniStates) } \author{ Olivier Delaigue } \seealso{ \code{\link{CreateRunOptions}} }