diff --git a/.gitignore b/.gitignore
index 9cc706754ddbe1cf4c7e2863f3220750bf337fa2..e1d4aad5fc309a499617622f291c47a020294359 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,10 +2,7 @@
 
 # Project-specific
 
-# Man pages generated by Roxygen
-man/*.Rd
 /.vscode/
-/NAMESPACE
 
 ###############################################################################
 
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index be30b412d6b3094669ecc1f9e7185e3d3ad72e11..8e834df1712d8077af2e8072f24d86c423f28c7b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,9 +22,8 @@ cache:
 before_script:
   - mkdir -p $R_LIBS_USER $BUILD_LOGS_DIR
   - echo "R_LIBS='$R_LIBS_USER'" > .Renviron
-  - R -e 'remotes::install_gitlab("HYCAR-Hydro/airgr@dev", host = "gitlab.irstea.fr")'
+  - R -e 'install.packages("airGR")'
   - R -e 'devtools::install_deps(dep = T)'
-  - R -e "devtools::document(roclets = c('rd', 'collate', 'namespace'))"
 
 .check:
   stage: checks
diff --git a/NAMESPACE b/NAMESPACE
new file mode 100644
index 0000000000000000000000000000000000000000..4f40750dcc01235c6e0029cb6e9aef08ddf561fd
--- /dev/null
+++ b/NAMESPACE
@@ -0,0 +1,38 @@
+# Generated by roxygen2: do not edit by hand
+
+S3method(Calibration,GRiwrmInputsModel)
+S3method(Calibration,InputsModel)
+S3method(ConvertMeteoSD,GRiwrm)
+S3method(ConvertMeteoSD,character)
+S3method(ConvertMeteoSD,matrix)
+S3method(CreateCalibOptions,GRiwrmInputsModel)
+S3method(CreateCalibOptions,InputsModel)
+S3method(CreateInputsCrit,GRiwrmInputsModel)
+S3method(CreateInputsCrit,InputsModel)
+S3method(CreateInputsModel,GRiwrm)
+S3method(CreateInputsModel,default)
+S3method(CreateRunOptions,GRiwrmInputsModel)
+S3method(CreateRunOptions,InputsModel)
+S3method(RunModel,GR)
+S3method(RunModel,GRiwrmInputsModel)
+S3method(RunModel,InputsModel)
+S3method(RunModel,SD)
+S3method(RunModel,Supervisor)
+S3method(plot,Qm3s)
+export(Calibration)
+export(CheckColumnTypes)
+export(ConvertMeteoSD)
+export(CreateCalibOptions)
+export(CreateController)
+export(CreateInputsCrit)
+export(CreateInputsModel)
+export(CreateRunOptions)
+export(CreateSupervisor)
+export(DiagramGRiwrm)
+export(GRiwrm)
+export(RunModel)
+export(createControl)
+export(getNodeRanking)
+import(airGR)
+importFrom(grDevices,rainbow)
+importFrom(graphics,matplot)
diff --git a/data-raw/logo_airGRiwrm.xcf b/data-raw/logo_airGRiwrm.xcf
new file mode 100644
index 0000000000000000000000000000000000000000..a5055051d031378f0e0377d10080642b4bdd4d23
Binary files /dev/null and b/data-raw/logo_airGRiwrm.xcf differ
diff --git a/man/Calibration.GRiwrmInputsModel.Rd b/man/Calibration.GRiwrmInputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..8416c823c6282ca26aa817d74ec4337a859379fe
--- /dev/null
+++ b/man/Calibration.GRiwrmInputsModel.Rd
@@ -0,0 +1,34 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Calibration.GRiwrmInputsModel.R
+\name{Calibration.GRiwrmInputsModel}
+\alias{Calibration.GRiwrmInputsModel}
+\title{Calibration of a semi-distributed run-off model}
+\usage{
+\method{Calibration}{GRiwrmInputsModel}(
+  InputsModel,
+  RunOptions,
+  InputsCrit,
+  CalibOptions,
+  useUpstreamQsim = TRUE,
+  ...
+)
+}
+\arguments{
+\item{InputsModel}{object of class \emph{GRiwrmInputsModel}, see \code{\link{CreateInputsModel.GRiwrm}} for details.}
+
+\item{RunOptions}{object of class \emph{GRiwrmRunOptions}, see \code{\link{CreateRunOptions.GRiwrmInputsModel}} for details.}
+
+\item{InputsCrit}{object of class \emph{GRiwrmInputsCrit}, see \code{\link{CreateInputsCrit.GRiwrmInputsModel}} for details.}
+
+\item{CalibOptions}{object of class \emph{GRiwrmCalibOptions}, see \code{\link{CreateCalibOptions.GRiwrmInputsModel}} for details.}
+
+\item{useUpstreamQsim}{boolean describing if simulated (\code{TRUE}) or observed (\code{FALSE}) flows are used for calibration. Default is \code{TRUE}.}
+
+\item{...}{further arguments passed to \code{\link[airGR]{Calibration}}.}
+}
+\value{
+GRiwrmOutputsCalib object which is a list of OutputsCalib (See \code{\link[airGR]{Calibration}}) for each node of the semi-distributed model.
+}
+\description{
+Calibration of a semi-distributed run-off model
+}
diff --git a/man/Calibration.InputsModel.Rd b/man/Calibration.InputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..7bf2e2c6c9e04e5a6960f6a9024ecb426b47fa56
--- /dev/null
+++ b/man/Calibration.InputsModel.Rd
@@ -0,0 +1,77 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Calibration.InputsModel.R
+\name{Calibration.InputsModel}
+\alias{Calibration.InputsModel}
+\title{Wrapper to \code{\link[airGR]{Calibration}} for one sub-basin.}
+\usage{
+\method{Calibration}{InputsModel}(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link[airGR]{CreateInputsModel}} for details}
+
+\item{...}{Further arguments for compatibility with S3 method}
+}
+\value{
+[list] see \code{\link[airGR]{Calibration_Michel}}
+}
+\description{
+Calibration algorithm that optimises the error criterion selected as objective function using the provided functions.
+}
+\examples{
+library(airGR)
+
+## loading catchment data
+data(L0123001)
+
+## preparation of InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD = RunModel_GR4J, DatesR = BasinObs$DatesR, 
+                                 Precip = BasinObs$P, PotEvap = BasinObs$E)
+
+## calibration period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1990-01-01"), 
+               which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1999-12-31"))
+
+## 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, Obs = BasinObs$Qmm[Ind_Run])
+
+## preparation of CalibOptions object
+CalibOptions <- CreateCalibOptions(FUN_MOD = RunModel_GR4J, FUN_CALIB = Calibration_Michel)
+
+## calibration
+OutputsCalib <- Calibration(InputsModel = InputsModel, RunOptions = RunOptions,
+                            InputsCrit = InputsCrit, CalibOptions = CalibOptions,
+                            FUN_MOD = RunModel_GR4J, 
+                            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])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, 
+                                RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT = ErrorCrit_KGE, InputsModel = InputsModel, 
+                                RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
+}
+\seealso{
+\code{\link[airGR]{Calibration_Michel}},
+\code{\link[airGR]{ErrorCrit}}, \code{\link[airGR]{TransfoParam}},
+\code{\link[airGR]{CreateInputsModel}}, \code{\link[airGR]{CreateRunOptions}}, 
+\code{\link[airGR]{CreateInputsCrit}}, \code{\link[airGR]{CreateCalibOptions}}.
+}
+\author{
+Laurent Coron, Olivier Delaigue
+}
diff --git a/man/Calibration.Rd b/man/Calibration.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..9575c6da03dba458c595304497001b62e98f515e
--- /dev/null
+++ b/man/Calibration.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Calibration.R
+\name{Calibration}
+\alias{Calibration}
+\title{Calibration of either \strong{airGR} model and \strong{airGRiwrm} semi-distributive model}
+\usage{
+Calibration(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{the class of the first parameter determine which calibration is used}
+
+\item{...}{further arguments passed to or from other methods.}
+}
+\value{
+\emph{OutputsCalib} or \emph{GRiwrmOutputsCalib} object
+}
+\description{
+Calibration of either \strong{airGR} model and \strong{airGRiwrm} semi-distributive model
+}
diff --git a/man/CheckColumnTypes.Rd b/man/CheckColumnTypes.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..2b780e9b66f844ab151a6355b25913971d14cf89
--- /dev/null
+++ b/man/CheckColumnTypes.Rd
@@ -0,0 +1,26 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/GRiwrm.R
+\name{CheckColumnTypes}
+\alias{CheckColumnTypes}
+\title{Check the column types of a \link{data.frame}}
+\usage{
+CheckColumnTypes(df, coltypes)
+}
+\arguments{
+\item{df}{\link{data.frame} to check}
+
+\item{coltypes}{named \link{list} with the name of the columns to check as key and the required type as value}
+}
+\value{
+\link{NULL} or throw an error if a wrong type is detected.
+}
+\description{
+Check the column types of a \link{data.frame}
+}
+\examples{
+CheckColumnTypes(
+  data.frame(string = c("A"), numeric = c(1), stringsAsFactors = FALSE),
+  list(string = "character", numeric = "double")
+)
+
+}
diff --git a/man/ConvertMeteoSD.Rd b/man/ConvertMeteoSD.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..addee9f2f4f4e0a18988e103407c1592815780c9
--- /dev/null
+++ b/man/ConvertMeteoSD.Rd
@@ -0,0 +1,36 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ConvertMeteoSD.R
+\name{ConvertMeteoSD}
+\alias{ConvertMeteoSD}
+\alias{ConvertMeteoSD.GRiwrm}
+\alias{ConvertMeteoSD.character}
+\alias{ConvertMeteoSD.matrix}
+\title{Convert meteorological data from basin scale to sub-basin scale}
+\usage{
+ConvertMeteoSD(x, ...)
+
+\method{ConvertMeteoSD}{GRiwrm}(x, meteo, ...)
+
+\method{ConvertMeteoSD}{character}(x, griwrm, meteo, ...)
+
+\method{ConvertMeteoSD}{matrix}(x, areas, temperature = FALSE, ...)
+}
+\arguments{
+\item{x}{either a \link{GRiwrm} network description, a \link{character} id of a node, a \link{matrix} containing meteorological data}
+
+\item{...}{Parameters passed to the methods}
+
+\item{meteo}{\link{matrix} or \link{data.frame} containing meteorological data. Its \link{colnames} should be equal to the IDof the basins}
+
+\item{griwrm}{\link{GRiwrm} object describing the semi-distributive network}
+
+\item{areas}{\link{numeric} vector with the total area of the basin followed by the areas of the upstream basins in km^2^}
+
+\item{temperature}{\link{logical} \code{TRUE} if the meteorological data is temperature. if \code{FALSE} minimum output values are bounded to zero}
+}
+\value{
+Either a \link{matrix} containing the converted meteorological data
+}
+\description{
+Convert meteorological data from basin scale to sub-basin scale
+}
diff --git a/man/CreateCalibOptions.GRiwrmInputsModel.Rd b/man/CreateCalibOptions.GRiwrmInputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..32e6a67a00769f8f252110e3c5584ac4b30900b5
--- /dev/null
+++ b/man/CreateCalibOptions.GRiwrmInputsModel.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateCalibOptions.GRiwrmInputsModel.R
+\name{CreateCalibOptions.GRiwrmInputsModel}
+\alias{CreateCalibOptions.GRiwrmInputsModel}
+\title{Title}
+\usage{
+\method{CreateCalibOptions}{GRiwrmInputsModel}(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{object of class \emph{GRiwrmInputsModel}, see \code{\link{CreateInputsModel.GRiwrm}} for details.}
+
+\item{...}{further arguments passed to \code{\link[airGR]{CreateCalibOptions}}.}
+}
+\value{
+\emph{GRiwrmCalibOptions} object.
+}
+\description{
+Title
+}
diff --git a/man/CreateCalibOptions.InputsModel.Rd b/man/CreateCalibOptions.InputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..ef3962d067cc5d604f5c5ed7d557af0ea1ae478f
--- /dev/null
+++ b/man/CreateCalibOptions.InputsModel.Rd
@@ -0,0 +1,16 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateCalibOptions.InputsModel.R
+\name{CreateCalibOptions.InputsModel}
+\alias{CreateCalibOptions.InputsModel}
+\title{Wrapper to \code{\link[airGR]{CreateCalibOptions}} for one sub-basin.}
+\usage{
+\method{CreateCalibOptions}{InputsModel}(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{object of class \emph{InputsModel}. See \code{\link[airGR]{CreateInputsModel}} for details}
+
+\item{...}{Arguments passed to \code{\link[airGR]{CreateCalibOptions}}}
+}
+\description{
+Wrapper to \code{\link[airGR]{CreateCalibOptions}} for one sub-basin.
+}
diff --git a/man/CreateCalibOptions.Rd b/man/CreateCalibOptions.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..3a697aec0225f125f3c6e750743128b3bfde4b43
--- /dev/null
+++ b/man/CreateCalibOptions.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateCalibOptions.R
+\name{CreateCalibOptions}
+\alias{CreateCalibOptions}
+\title{CreateCalibOptions both available for \emph{InputsModel} and \emph{GRwirmInputsModel} objects}
+\usage{
+CreateCalibOptions(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{object of class \emph{InputsModel} or \emph{GRwirmInputsModel}. See \code{\link{CreateInputsModel}} for details}
+
+\item{...}{further arguments passed to or from other methods}
+}
+\value{
+Either a \code{CalibOptions} or a \code{GRiwrmCalibOptions} object
+}
+\description{
+CreateCalibOptions both available for \emph{InputsModel} and \emph{GRwirmInputsModel} objects
+}
diff --git a/man/CreateController.Rd b/man/CreateController.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..8e45c37a532ce8ae5f394306d3a1404edb52c676
--- /dev/null
+++ b/man/CreateController.Rd
@@ -0,0 +1,42 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/createController.R
+\name{CreateController}
+\alias{CreateController}
+\title{Create and add a controller in a supervisor}
+\usage{
+CreateController(supervisor, ctrl.id, Y, U, FUN)
+}
+\arguments{
+\item{supervisor}{\code{Supervisor} object, see \link{CreateSupervisor}}
+
+\item{ctrl.id}{\link{character} id of the controller (see Details)}
+
+\item{Y}{\link{character} location of the controlled and/or measured variables in the model. See \link{createControl}}
+
+\item{U}{\link{character} location of the command variables in the model. See \link{createControl}}
+
+\item{FUN}{\link{function} controller logic which calculates \code{U} from \code{Y} (see Details)}
+}
+\value{
+\code{Controller}
+}
+\description{
+Create and add a controller in a supervisor
+}
+\details{
+\code{ctrl.id} parameter is a unique id for finding the controller in the supervisor.
+If a controller with the same id already exists, it is overwritten by this new one.
+
+\code{FUN} parameter should be a function with one \link{numeric} parameter.
+This parameter will receive the measured values of at \code{Y} locations as input
+for the previous time step and returns calculated \code{U}. These \code{U} will then be applied
+at their location for the current time step of calculation of the model.
+}
+\examples{
+# First create a Supervisor from a model
+example("CreateSupervisor")
+# A controller which usually releases 0.1 m3/s and provides
+# extra release if the downstream flow is below 0.5 m3/s
+logicDamRelease <- function(Y) max(0.5 - Y[1], 0.1)
+CreateController(sv, "DamRelease", Y = c("54001"), U = c("54095"), FUN = logicDamRelease)
+}
diff --git a/man/CreateEmptyGRiwrmInputsModel.Rd b/man/CreateEmptyGRiwrmInputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..0e1bcadf618d81fa5e8b7bf2b983fcb50a42f343
--- /dev/null
+++ b/man/CreateEmptyGRiwrmInputsModel.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsModel.GRiwrm.R
+\name{CreateEmptyGRiwrmInputsModel}
+\alias{CreateEmptyGRiwrmInputsModel}
+\title{Create an empty InputsModel object for \strong{airGRiwrm} nodes}
+\usage{
+CreateEmptyGRiwrmInputsModel(griwrm)
+}
+\arguments{
+\item{griwrm}{a \code{GRiwrm} object (See \link{GRiwrm})}
+}
+\value{
+\emph{GRiwrmInputsModel} empty object
+}
+\description{
+Create an empty InputsModel object for \strong{airGRiwrm} nodes
+}
diff --git a/man/CreateInputsCrit.GRiwrmInputsModel.Rd b/man/CreateInputsCrit.GRiwrmInputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..68d659ffe1cf70043ace18e6e0cd0790fd46c6ad
--- /dev/null
+++ b/man/CreateInputsCrit.GRiwrmInputsModel.Rd
@@ -0,0 +1,31 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsCrit.GRiwrmInputsModel.R
+\name{CreateInputsCrit.GRiwrmInputsModel}
+\alias{CreateInputsCrit.GRiwrmInputsModel}
+\title{Create \emph{GRiwrmInputsCrit} object for \strong{airGRiwrm}.}
+\usage{
+\method{CreateInputsCrit}{GRiwrmInputsModel}(
+  InputsModel,
+  FUN_CRIT = airGR::ErrorCrit_NSE,
+  RunOptions,
+  Qobs,
+  ...
+)
+}
+\arguments{
+\item{InputsModel}{object of class \emph{GRiwrmInputsModel}, see \code{\link{CreateInputsModel.GRiwrm}} for details.}
+
+\item{FUN_CRIT}{[function (atomic or list)] error criterion function (e.g. \code{\link[airGR]{ErrorCrit_RMSE}}, \code{\link[airGR]{ErrorCrit_NSE}})}
+
+\item{RunOptions}{object of class \emph{GRiwrmRunOptions}, see \code{[CreateRunOptions.GRiwrm]} for details.}
+
+\item{Qobs}{matrix or data frame containing observed flows. Column names correspond to nodes ID}
+
+\item{...}{further arguments passed to \link[airGR:CreateInputsCrit]{airGR::CreateInputsCrit}.}
+}
+\value{
+Object of class \emph{GRiwrmInputsCrit} which is a list of \code{airGR::InputsCrit} objects (See \link[airGR:CreateInputsCrit]{airGR::CreateInputsCrit})
+}
+\description{
+This function does the same operations as \link[airGR:CreateInputsCrit]{airGR::CreateInputsCrit} for all sub-basins of the GRiwrm model.
+}
diff --git a/man/CreateInputsCrit.InputsModel.Rd b/man/CreateInputsCrit.InputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..2636e24feffde0c36b659ac56fc83e4e30b57055
--- /dev/null
+++ b/man/CreateInputsCrit.InputsModel.Rd
@@ -0,0 +1,135 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsCrit.InputsModel.R
+\name{CreateInputsCrit.InputsModel}
+\alias{CreateInputsCrit.InputsModel}
+\title{Wrapper to \code{\link[airGR]{CreateInputsCrit}} for one sub-basin.}
+\usage{
+\method{CreateInputsCrit}{InputsModel}(InputsModel, FUN_CRIT, ...)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link[airGR]{CreateInputsModel}} for details}
+
+\item{FUN_CRIT}{[function (atomic or list)] error criterion function (e.g. \code{\link[airGR]{ErrorCrit_RMSE}}, \code{\link[airGR]{ErrorCrit_NSE}})}
+
+\item{...}{Further arguments for compatibility with S3 method}
+}
+\value{
+[list] object of class \emph{InputsCrit} containing the data required to evaluate the model outputs; it can include the following:
+  \tabular{ll}{
+    \emph{$FUN_CRIT  } \tab [function] error criterion function (e.g. \code{\link[airGR]{ErrorCrit_RMSE}}, \code{\link[airGR]{ErrorCrit_NSE}}) \cr
+    \emph{$Obs       } \tab [numeric] series of observed variable(s) ([mm/time step] for discharge or SWE, [-] for SCA) \cr
+    \emph{$VarObs    } \tab [character] names of the observed variable(s) \cr
+    \emph{$BoolCrit  } \tab [boolean] boolean giving the time steps considered in the computation \cr
+    \emph{$transfo   } \tab [character] name of the transformation (e.g. \code{""}, \code{"sqrt"}, \code{"log"}, \code{"inv"}, \code{"sort"}, \code{"boxcox"} or a number for power transformation) \cr
+    \emph{$epsilon   } \tab [numeric] small value to add to all observations and simulations when \code{"log"} or \code{"inv"} transformations are used [same unit as \code{Obs}] \cr
+    \emph{$Weights   } \tab [numeric] vector (same length as \code{VarObs}) giving the weights to use for elements of \code{FUN_CRIT} [-] \cr
+  }
+  
+When \code{Weights = NULL}, \code{CreateInputsCrit} returns an object of class \emph{Single} that is  a list such as the one described above. \cr
+When \code{Weights} contains at least one \code{NULL} value and \code{Obs} contains a list of observations, \code{CreateInputsCrit} returns an object of class \emph{Multi} that is a list of lists such as the one described above. The \code{\link[airGR]{ErrorCrit}} function will then compute the different criteria prepared by \code{CreateInputsCrit}. \cr 
+When \code{Weights} is a list of at least 2 numerical values, \code{CreateInputsCrit} returns an object of class \emph{Compo} that is a list of lists such as the one described above. This object will be useful to compute composite criterion with the \code{\link[airGR]{ErrorCrit}} function. \cr
+To calculate composite or multiple criteria, it is necessary to use the \code{ErrorCrit} function. The other \code{ErrorCrit_*} functions (e.g. \code{\link[airGR]{ErrorCrit_RMSE}}, \code{\link[airGR]{ErrorCrit_NSE}}) can only use objects of class \emph{Single} (and not \emph{Multi} or \emph{Compo}). \cr
+}
+\description{
+Creation of the \code{InputsCrit} object required to the \code{ErrorCrit_*} functions. This function is used to define whether the user wants to calculate a single criterion, multiple criteria in the same time, or a composite criterion, which averages several criteria.
+}
+\details{
+Users wanting to use \code{FUN_CRIT} functions that are not included in the package must create their own InputsCrit object accordingly. \cr \cr
+
+## --- Period of calculation
+
+Criteria can be calculated over discontinuous periods (i.e. only over winter periods, or when observed discharge is below a certain threshold). To do so, please indicate in \code{Bool_Crit} which indices must be used for calcullation. Discontinuous periods are allowed in the \code{Bool_Crit} argument.
+
+## --- Transformations
+
+Transformations are simple functions applied to the observed and simulated variables used in order to change their distribution. Transformations are often used in hydrology for modifying the weight put on errors made for high flows or low flows. The following transformations are available: \cr \cr
+\itemize{
+  \item \code{""}: no transformation is used (default case)
+  \item \code{"sqrt"}: squared root transformation
+  \item \code{"log"}: logarithmic transformation (see below regarding the specific case of KGE or KGE2)
+  \item \code{"inv"}: inverse transformation 
+  \item \code{"sort"}: sort transformation (the simulated and observed variables are sorted from lowest to highest)
+  \item \code{"boxcox"}: Box-Cox transformation (see below for details)
+  \item numeric: power transformation (see below for details)
+}
+We do not advise computing KGE or KGE' with log-transformation as it might be wrongly influenced by discharge values close to 0 or 1 and the criterion value is dependent on the discharge unit. See Santos et al. (2018) for more details and alternative solutions (see the references list below). \cr \cr
+In order to make sure that KGE and KGE2 remain dimensionless and are not impacted by zero values, the Box-Cox transformation (\code{transfo = "boxcox"}) uses the formulation given in Equation 10 of Santos et al. (2018). Lambda is set to 0.25 accordingly. \cr \cr
+The syntax of the power transformation allows a numeric or a string of characters. For example for a squared transformation, the following can be used: \code{transfo = 2}, \code{transfo = "2"} or \code{transfo = "^2"}. Negative values are allowed. Fraction values are not allowed (e.g., \code{"-1/2"} must instead be written \code{"-0.5"}).\cr \cr
+
+## --- The epsilon value
+
+The epsilon value is useful when \code{"log"} or \code{"inv"} transformations are used (to avoid calculation of the inverse or of the logarithm of zero). If an epsilon value is provided, then it is added to the observed and simulated variable time series at each time step and before the application of a transformation. The epsilon value has no effect when the \code{"boxcox"} transformation is used. The impact of this value and a recommendation about the epsilon value to use (usually one hundredth of average observation) are discussed in Pushpalatha et al. (2012) for NSE and in Santos et al. (2018) for KGE and KGE'. \cr \cr
+
+## --- Single, multiple or composite criteria calculation
+
+Users can set the following arguments as atomic or list: \code{FUN_CRIT}, \code{Obs}, \code{VarObs}, \code{BoolCrit}, \code{transfo}, \code{Weights}. If the list format is chosen, all the lists must have the same length. \cr
+Calculation of a single criterion (e.g. NSE computed on discharge) is prepared by providing to \code{CreateInputsCrit} arguments atomics only. \cr
+Calculation of multiple criteria (e.g. NSE computed on discharge and RMSE computed on discharge) is prepared by providing to \code{CreateInputsCrit} arguments lists except for \code{Weights} that must be set as \code{NULL}. \cr
+Calculation of a composite criterion (e.g. the average between NSE computed on discharge and NSE computed on log of discharge) is prepared by providing to \code{CreateInputsCrit} arguments lists including \code{Weights}. \cr
+\code{\link[airGR]{ErrorCrit_RMSE}} cannot be used in a composite criterion since it is not a unitless value.
+}
+\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)
+
+## calibration period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1990-01-01"), 
+               which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1999-12-31"))
+
+## preparation of RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J, InputsModel = InputsModel, 
+                               IndPeriod_Run = Ind_Run)
+
+## simulation
+Param <- c(X1 = 257.238, X2 = 1.012, X3 = 88.235, X4 = 2.208)
+OutputsModel <- RunModel_GR4J(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param)
+
+## single efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCritSingle <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE,
+                                     InputsModel = InputsModel, RunOptions = RunOptions,
+                                     Obs = list(BasinObs$Qmm[Ind_Run]),
+                                     VarObs = "Q", transfo = "",
+                                     Weights = NULL)
+str(InputsCritSingle)
+invisible(ErrorCrit(InputsCrit = InputsCritSingle, OutputsModel = OutputsModel))
+
+## 2 efficiency criteria: RMSE and Nash-Sutcliffe Efficiency
+InputsCritMulti <- CreateInputsCrit(FUN_CRIT = list(ErrorCrit_RMSE, ErrorCrit_NSE),
+                                    InputsModel = InputsModel, RunOptions = RunOptions,
+                                    Obs = list(BasinObs$Qmm[Ind_Run], BasinObs$Qmm[Ind_Run]),
+                                    VarObs = list("Q", "Q"), transfo = list("", "sqrt"),
+                                    Weights = NULL)
+str(InputsCritMulti)                                         
+invisible(ErrorCrit(InputsCrit = InputsCritMulti, OutputsModel = OutputsModel))
+
+## efficiency composite criterion: Nash-Sutcliffe Efficiency mixing
+##                                 both raw and log-transformed flows
+InputsCritCompo <- CreateInputsCrit(FUN_CRIT = list(ErrorCrit_NSE, ErrorCrit_NSE),
+                                    InputsModel = InputsModel, RunOptions = RunOptions,
+                                    Obs = list(BasinObs$Qmm[Ind_Run], BasinObs$Qmm[Ind_Run]),
+                                    VarObs = list("Q", "Q"), transfo = list("", "log"),
+                                    Weights = list(0.4, 0.6))
+str(InputsCritCompo)                                         
+invisible(ErrorCrit(InputsCrit = InputsCritCompo, OutputsModel = OutputsModel))
+}
+\references{
+Pushpalatha, R., Perrin, C., Le Moine, N. and Andréassian, V. (2012). 
+  A review of efficiency criteria suitable for evaluating low-flow simulations. 
+  Journal of Hydrology, 420-421, 171-182, doi: 10.1016/j.jhydrol.2011.11.055.
+\cr\cr
+Santos, L., Thirel, G. and Perrin, C. (2018). 
+  Technical note: Pitfalls in using log-transformed flows within the KGE criterion. 
+  Hydrol. Earth Syst. Sci., 22, 4583-4591, doi: 10.5194/hess-22-4583-2018.
+}
+\seealso{
+\code{\link[airGR]{RunModel}}, \code{\link[airGR]{CreateInputsModel}}, \code{\link[airGR]{CreateRunOptions}}, \code{\link[airGR]{CreateCalibOptions}}, \code{\link[airGR]{ErrorCrit}}
+}
+\author{
+Olivier Delaigue, Laurent Coron, Guillaume Thirel
+}
diff --git a/man/CreateInputsCrit.Rd b/man/CreateInputsCrit.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..c2178e6ed183f4c4a71a08d5fa0df331d55ee264
--- /dev/null
+++ b/man/CreateInputsCrit.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsCrit.R
+\name{CreateInputsCrit}
+\alias{CreateInputsCrit}
+\title{Creation of the InputsCrit object required to the ErrorCrit functions}
+\usage{
+CreateInputsCrit(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{InputsModel for \strong{airGRiwrm} (See \code{[CreateInputsModel.GRiwrm]}) or \strong{airGR} (See \code{\link[airGR]{CreateInputsModel}})}
+
+\item{...}{further arguments passed to or from other methods.}
+}
+\value{
+Either a \code{InputsCrit} or a \code{GRiwrmInputsCrit} object
+}
+\description{
+Creation of the InputsCrit object required to the ErrorCrit functions
+}
diff --git a/man/CreateInputsModel.GRiwrm.Rd b/man/CreateInputsModel.GRiwrm.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..50d456381843e6e426a9ece2a928cc91386e0ade
--- /dev/null
+++ b/man/CreateInputsModel.GRiwrm.Rd
@@ -0,0 +1,27 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsModel.GRiwrm.R
+\name{CreateInputsModel.GRiwrm}
+\alias{CreateInputsModel.GRiwrm}
+\title{Create InputsModel object for a \strong{airGRiwrm} network}
+\usage{
+\method{CreateInputsModel}{GRiwrm}(x, DatesR, Precip, PotEvap, Qobs, ...)
+}
+\arguments{
+\item{x}{GRiwrm object describing the diagram of the semi-distributed model, see \code{[GRiwrm]}.}
+
+\item{DatesR}{Vector of POSIXt observation time steps.}
+
+\item{Precip}{Matrix or data frame of numeric containing precipitation in mm. Column names correspond to node IDs.}
+
+\item{PotEvap}{Matrix or data frame of numeric containing potential evaporation in mm. Column names correspond to node IDs.}
+
+\item{Qobs}{Matrix or data frame of numeric containing potential observed flow in mm. Column names correspond to node IDs.}
+
+\item{...}{further arguments passed to \code{\link[airGR]{CreateInputsModel}}.}
+}
+\value{
+GRiwrmInputsModel object equivalent to \strong{airGR} InputsModel object for a semi-distributed model (See \code{\link[airGR]{CreateInputsModel}})
+}
+\description{
+Create InputsModel object for a \strong{airGRiwrm} network
+}
diff --git a/man/CreateInputsModel.Rd b/man/CreateInputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..213f986f1ccf4271c68024f935ee0e40325fb702
--- /dev/null
+++ b/man/CreateInputsModel.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsModel.R
+\name{CreateInputsModel}
+\alias{CreateInputsModel}
+\title{Generic function for creating \code{InputsModel} object for either \strong{airGR} or \strong{airGRiwrm}}
+\usage{
+CreateInputsModel(x, ...)
+}
+\arguments{
+\item{x}{First parameter determining which InputsModel object is created}
+
+\item{...}{further arguments passed to or from other methods.}
+}
+\value{
+InputsModel or GRiwrmInputsObject object
+}
+\description{
+See the methods \link{CreateInputsModel.GRiwrm} for \strong{airGRiwrm} and \link{CreateInputsModel.default} for \strong{airGR}.
+}
diff --git a/man/CreateInputsModel.default.Rd b/man/CreateInputsModel.default.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..345337903ca00e4158fed0ac3ea9ef6752f98a8f
--- /dev/null
+++ b/man/CreateInputsModel.default.Rd
@@ -0,0 +1,16 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsModel.default.R
+\name{CreateInputsModel.default}
+\alias{CreateInputsModel.default}
+\title{Wrapper for \code{\link[airGR]{CreateInputsModel}} for one sub-basin.}
+\usage{
+\method{CreateInputsModel}{default}(x, ...)
+}
+\arguments{
+\item{x}{\link{function} hydrological model function (e.g. \code{\link[airGR]{RunModel_GR4J}}...)}
+
+\item{...}{arguments passed to \code{\link[airGR]{CreateInputsModel}}}
+}
+\description{
+Wrapper for \code{\link[airGR]{CreateInputsModel}} for one sub-basin.
+}
diff --git a/man/CreateOneGRiwrmInputsModel.Rd b/man/CreateOneGRiwrmInputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..270a2aefbf6c57c8307976b7c485a87930171e1a
--- /dev/null
+++ b/man/CreateOneGRiwrmInputsModel.Rd
@@ -0,0 +1,27 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsModel.GRiwrm.R
+\name{CreateOneGRiwrmInputsModel}
+\alias{CreateOneGRiwrmInputsModel}
+\title{Create one InputsModel for a \strong{airGRiwrm} node}
+\usage{
+CreateOneGRiwrmInputsModel(id, griwrm, DatesR, Precip, PotEvap, Qobs)
+}
+\arguments{
+\item{id}{string of the node identifier}
+
+\item{griwrm}{See \code{[GRiwrm]}.}
+
+\item{DatesR}{vector of dates required to create the GR model and CemaNeige module inputs.}
+
+\item{Precip}{time series of potential evapotranspiration (catchment average) (mm/time step).}
+
+\item{PotEvap}{time series of potential evapotranspiration (catchment average) (mm/time step).}
+
+\item{Qobs}{Matrix or data frame of numeric containing observed flow (mm/time step). Column names correspond to node IDs.}
+}
+\value{
+\emph{InputsModel} object for one.
+}
+\description{
+Create one InputsModel for a \strong{airGRiwrm} node
+}
diff --git a/man/CreateRunOptions.GRiwrmInputsModel.Rd b/man/CreateRunOptions.GRiwrmInputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..b0cf1776c803f6e40f91ad86872003c8ec819ba3
--- /dev/null
+++ b/man/CreateRunOptions.GRiwrmInputsModel.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateRunOptions.GRiwrmInputsModel.R
+\name{CreateRunOptions.GRiwrmInputsModel}
+\alias{CreateRunOptions.GRiwrmInputsModel}
+\title{Create \emph{GRiwrmRunOptions} object for running and calibrating model in \strong{airGRiwrm}.}
+\usage{
+\method{CreateRunOptions}{GRiwrmInputsModel}(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{object of class \emph{GRiwrmInputsModel}, see \code{\link{CreateInputsModel.GRiwrm}} for details.}
+
+\item{...}{further arguments passed to \code{\link[airGR]{CreateRunOptions}}.}
+}
+\value{
+\emph{GRiwrmRunOptions} object for running and calibrating model in \strong{airGRiwrm}.
+}
+\description{
+Create \emph{GRiwrmRunOptions} object for running and calibrating model in \strong{airGRiwrm}.
+}
diff --git a/man/CreateRunOptions.InputsModel.Rd b/man/CreateRunOptions.InputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..9533022db3cc03af90eee73fec5f1450d1ec2a1c
--- /dev/null
+++ b/man/CreateRunOptions.InputsModel.Rd
@@ -0,0 +1,16 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateRunOptions.InputsModel.R
+\name{CreateRunOptions.InputsModel}
+\alias{CreateRunOptions.InputsModel}
+\title{Wrapper for \code{\link[airGR]{CreateRunOptions}} for one sub-basin.}
+\usage{
+\method{CreateRunOptions}{InputsModel}(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{object of class \emph{InputsModel}, see \code{\link[airGR]{CreateInputsModel}} for details.}
+
+\item{...}{Arguments passed to \code{\link[airGR]{CreateRunOptions}}}
+}
+\description{
+Wrapper for \code{\link[airGR]{CreateRunOptions}} for one sub-basin.
+}
diff --git a/man/CreateRunOptions.Rd b/man/CreateRunOptions.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..486ef6b1e43a28922c5a474f74374c968a0a8bca
--- /dev/null
+++ b/man/CreateRunOptions.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateRunOptions.R
+\name{CreateRunOptions}
+\alias{CreateRunOptions}
+\title{Create \emph{RunOptions} object for \strong{airGR} and \strong{airGRiwrm}. See \code{\link[airGR]{CreateRunOptions}} and \code{[CreateOptions.GRiwrmInputsModel]}.}
+\usage{
+CreateRunOptions(InputsModel, ...)
+}
+\arguments{
+\item{InputsModel}{object of class \emph{InputsModel} (see \code{\link[airGR]{CreateInputsModel}}) or \emph{GRiwrmInputsModel} (See \code{[CreateInputsModel.GRiwrm]}).}
+
+\item{...}{further arguments passed to or from other methods.}
+}
+\value{
+Object of \emph{RunOptions} class family
+}
+\description{
+Create \emph{RunOptions} object for \strong{airGR} and \strong{airGRiwrm}. See \code{\link[airGR]{CreateRunOptions}} and \code{[CreateOptions.GRiwrmInputsModel]}.
+}
diff --git a/man/CreateSupervisor.Rd b/man/CreateSupervisor.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..0d23061845233574200a787bf75506d7d6cc7094
--- /dev/null
+++ b/man/CreateSupervisor.Rd
@@ -0,0 +1,38 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateSupervisor.R
+\name{CreateSupervisor}
+\alias{CreateSupervisor}
+\title{Create a Supervisor for handling regulation in a model}
+\usage{
+CreateSupervisor(InputsModel, TimeStep = 1L)
+}
+\arguments{
+\item{InputsModel}{\code{GRiwrmInputsModel} The inputs of the basin model}
+
+\item{TimeStep}{\link{integer} The number of time steps between each supervision}
+}
+\value{
+\code{Supervisor} object
+}
+\description{
+Create a Supervisor for handling regulation in a model
+}
+\examples{
+data(Severn)
+nodes <- Severn$BasinsInfo[, c("gauge_id", "downstream_id", "distance_downstream", "area")]
+nodes$distance_downstream <- nodes$distance_downstream * 1000 # Conversion km -> m
+nodes$model <- "RunModel_GR4J"
+griwrm <- GRiwrm(nodes,
+                 list(id = "gauge_id",
+                      down = "downstream_id",
+                      length = "distance_downstream"))
+BasinsObs <- Severn$BasinsObs
+DatesR <- BasinsObs[[1]]$DatesR
+PrecipTot <- cbind(sapply(BasinsObs, function(x) {x$precipitation}))
+PotEvapTot <- cbind(sapply(BasinsObs, function(x) {x$peti}))
+Qobs <- cbind(sapply(BasinsObs, function(x) {x$discharge_spec}))
+Precip <- ConvertMeteoSD(griwrm, PrecipTot)
+PotEvap <- ConvertMeteoSD(griwrm, PotEvapTot)
+InputsModel <- CreateInputsModel(griwrm, DatesR, Precip, PotEvap, Qobs)
+sv <- CreateSupervisor(InputsModel)
+}
diff --git a/man/DiagramGRiwrm.Rd b/man/DiagramGRiwrm.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..e3578de8407552361f4dbb799dea5346053f6f90
--- /dev/null
+++ b/man/DiagramGRiwrm.Rd
@@ -0,0 +1,34 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/DiagramGRiwrm.R
+\name{DiagramGRiwrm}
+\alias{DiagramGRiwrm}
+\title{Display a diagram representing the network structure of a GRiwrm object}
+\usage{
+DiagramGRiwrm(griwrm, display = TRUE, orientation = "LR")
+}
+\arguments{
+\item{griwrm}{the GRiwrm object to display.}
+
+\item{display}{if \code{TRUE} displays the diagram with \code{DiagrammeR::mermaid}, return the mermaid code otherwise.}
+
+\item{orientation}{Orientation of the graph. "LR" by default.}
+}
+\value{
+Mermaid code of the diagram id display is \code{FALSE}.
+}
+\description{
+Display a diagram representing the network structure of a GRiwrm object
+}
+\details{
+This function only works inside RStudio because the HTMLwidget produced by DiagrammeR
+is not handled on some platforms
+}
+\examples{
+\dontrun{
+# Display diagram
+DiagramGRiwrm(griwrm)
+# Is the same as
+DiagrammeR::mermaid(DiagramGRiwrm(griwrm, display = FALSE), width = "100\%", height = "100\%")
+}
+
+}
diff --git a/man/GRiwrm.Rd b/man/GRiwrm.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..f404613958aa6408d5ff8b5d5b9563f243f3f6ea
--- /dev/null
+++ b/man/GRiwrm.Rd
@@ -0,0 +1,37 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/GRiwrm.R
+\name{GRiwrm}
+\alias{GRiwrm}
+\title{Generate a network description containing all hydraulic nodes and the description
+of their connections}
+\usage{
+GRiwrm(
+  db,
+  cols = list(id = "id", down = "down", length = "length", model = "model", area =
+    "area"),
+  keep_all = FALSE
+)
+}
+\arguments{
+\item{db}{a \link{data.frame} containing the description of the network (See details)}
+
+\item{cols}{named list or vector for matching columns of \code{db} parameter. By default, mandatory columns names are: \code{id}, \code{down}, \code{length}. But other names can be handled with a named list or vector containing items defined as \code{"required name" = "column name in db"}}
+
+\item{keep_all}{keep all column of \code{db} or keep only columns defined in \code{cols}}
+}
+\value{
+\code{GRiwrm} class object containing the description of diagram of the semi-distributed catchment model
+}
+\description{
+Generate a network description containing all hydraulic nodes and the description
+of their connections
+}
+\details{
+\code{db} is a \link{data.frame} which at least contains in its columns:
+\itemize{
+\item a node identifier (column \code{id}),
+\item the identifier and the hydraulic distance to the downstream node (\link{character} columns \code{down} and \link{numeric} columns \code{length} in meters). The last downstream node should have fields \code{down} and \code{length} set to \code{NA},
+\item the area of the basin (\link{numeric} column \code{area} in km^2^)
+\item the hydrological model to use if so (\link{character} column \code{model}).
+}
+}
diff --git a/man/OutputsModelQsim.Rd b/man/OutputsModelQsim.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..f17fb40dcc79997b23d12cfde05cccdd9fc57d8f
--- /dev/null
+++ b/man/OutputsModelQsim.Rd
@@ -0,0 +1,30 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils.R
+\name{OutputsModelQsim}
+\alias{OutputsModelQsim}
+\title{Create a data.frame with simulated flows at each nodes of the \link{GRiwrm} object}
+\usage{
+OutputsModelQsim(InputsModel, OutputsModel, IndPeriod_Run)
+}
+\arguments{
+\item{InputsModel}{a \code{GRiwrmInputsModel} object created by \link{CreateInputsModel.GRiwrm}}
+
+\item{OutputsModel}{a \code{GRiwrmOutputsModel} object created by \link{RunModel.GRiwrmInputsModel} or \link{RunModel.Supervisor}}
+
+\item{IndPeriod_Run}{an \link{integer} vector (See \link[airGR:CreateRunOptions]{airGR::CreateRunOptions})}
+}
+\value{
+a \link{data.frame} containing the simulated flows (in m3/time step) structured with the following columns:
+\itemize{
+\item 'DatesR' containing the timestamps of the time series
+\item one column by node with the simulated flows
+}
+}
+\description{
+Create a data.frame with simulated flows at each nodes of the \link{GRiwrm} object
+}
+\details{
+This function can only be called inside \link{RunModel.GRiwrmInputsModel} or \link{RunModel.Supervisor}
+because it needs a \code{GRiwrmInputsModel} object internally modified by these functions
+(\code{Qupstream} updated with simulated flows).
+}
diff --git a/man/RunModel.GR.Rd b/man/RunModel.GR.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..3c50321fb7c5449c567745cdeaf862a64eddaa2f
--- /dev/null
+++ b/man/RunModel.GR.Rd
@@ -0,0 +1,67 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/RunModel.GR.R
+\name{RunModel.GR}
+\alias{RunModel.GR}
+\title{Run rainfall-runoff part of a sub-basin model}
+\usage{
+\method{RunModel}{GR}(x, RunOptions, Param, ...)
+}
+\arguments{
+\item{x}{\code{InputsModel} used as \code{InputsModel} parameter for \link[airGR:RunModel]{airGR::RunModel}}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link[airGR]{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of model parameters (See details for SD lag model)}
+
+\item{...}{further arguments passed to or from other methods}
+}
+\value{
+[list] see \code{\link[airGR]{RunModel_GR4J}} or \code{\link[airGR]{RunModel_CemaNeigeGR4J}} for details.
+
+If \code{InputsModel} parameter has been created for using a semi-distributed (SD) lag model (See \code{\link[airGR]{CreateInputsModel}}), the list value contains an extra item named \code{QsimDown} which is a numeric series of simulated discharge [mm/time step] related to the run-off contribution of the downstream sub-catchment.
+}
+\description{
+Function which performs a single model run with the provided function over the selected period.
+}
+\details{
+If \code{InputsModel} parameter has been created for using a semi-distributed (SD) lag model (See \code{\link[airGR]{CreateInputsModel}}), the first item of \code{Param} parameter should contain a constant lag parameter expressed as a velocity in m/s, parameters for the hydrological model are then shift one position to the right.
+}
+\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 = "\%Y-\%m-\%d")=="1990-01-01"),
+               which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1999-12-31"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J,
+                               InputsModel = InputsModel, IndPeriod_Run = Ind_Run)
+
+## simulation
+Param <- c(X1 = 734.568, X2 = -0.840, X3 = 109.809, X4 = 1.971)
+OutputsModel <- RunModel(InputsModel = InputsModel,
+                         RunOptions = RunOptions, Param = Param,
+                         FUN_MOD = RunModel_GR4J)
+
+## results preview
+plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel,
+                                RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
+}
+\seealso{
+\code{\link[airGR]{RunModel_GR4J}}, \code{\link[airGR]{RunModel_CemaNeigeGR4J}}, \code{\link[airGR]{CreateInputsModel}},
+\code{\link[airGR]{CreateRunOptions}}, \code{\link[airGR]{CreateIniStates}}.
+}
+\author{
+Laurent Coron, Olivier Delaigue
+}
diff --git a/man/RunModel.GRiwrmInputsModel.Rd b/man/RunModel.GRiwrmInputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..933efa8dda2db2d552a094e56969566ee8586e81
--- /dev/null
+++ b/man/RunModel.GRiwrmInputsModel.Rd
@@ -0,0 +1,23 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/RunModel.GRiwrmInputsModel.R
+\name{RunModel.GRiwrmInputsModel}
+\alias{RunModel.GRiwrmInputsModel}
+\title{RunModel function for GRiwrmInputsModel object}
+\usage{
+\method{RunModel}{GRiwrmInputsModel}(x, RunOptions, Param, ...)
+}
+\arguments{
+\item{x}{object of class \emph{GRiwrmInputsModel}, see \code{[CreateInputsModel.GRiwrm]} for details.}
+
+\item{RunOptions}{object of class \emph{GRiwrmRunOptions}, see \code{[CreateRunOptions.GRiwrm]} for details.}
+
+\item{Param}{list of parameter. The list item names are the IDs of the sub-basins. Each item is a vector of numerical parameters.}
+
+\item{...}{Mandatory for S3 method signature function compatibility with generic.}
+}
+\value{
+\emph{GRiwrmOutputsModel} object which is a list of \emph{OutputsModel} objects (See \code{\link[airGR]{RunModel}}) for each node of the semi-distributed model.
+}
+\description{
+RunModel function for GRiwrmInputsModel object
+}
diff --git a/man/RunModel.InputsModel.Rd b/man/RunModel.InputsModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..6e97966c4cd33b70b8e67f98df0de892427dc8d6
--- /dev/null
+++ b/man/RunModel.InputsModel.Rd
@@ -0,0 +1,69 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/RunModel.InputsModel.R
+\name{RunModel.InputsModel}
+\alias{RunModel.InputsModel}
+\title{Wrapper for \code{\link[airGR]{RunModel}} for one sub-basin.}
+\usage{
+\method{RunModel}{InputsModel}(x, RunOptions, Param, FUN_MOD = NULL, ...)
+}
+\arguments{
+\item{x}{\code{InputsModel} used as \code{InputsModel} parameter for \link[airGR:RunModel]{airGR::RunModel}}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link[airGR]{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of model parameters (See details for SD lag model)}
+
+\item{FUN_MOD}{[function] hydrological model function (e.g. \code{\link[airGR]{RunModel_GR4J}}, \code{\link[airGR]{RunModel_CemaNeigeGR4J}})}
+
+\item{...}{Further arguments for compatibility with S3 method}
+}
+\value{
+[list] see \code{\link[airGR]{RunModel_GR4J}} or \code{\link[airGR]{RunModel_CemaNeigeGR4J}} for details.
+
+If \code{InputsModel} parameter has been created for using a semi-distributed (SD) lag model (See \code{\link[airGR]{CreateInputsModel}}), the list value contains an extra item named \code{QsimDown} which is a numeric series of simulated discharge [mm/time step] related to the run-off contribution of the downstream sub-catchment.
+}
+\description{
+Function which performs a single model run with the provided function over the selected period.
+}
+\details{
+If \code{InputsModel} parameter has been created for using a semi-distributed (SD) lag model (See \code{\link[airGR]{CreateInputsModel}}), the first item of \code{Param} parameter should contain a constant lag parameter expressed as a velocity in m/s, parameters for the hydrological model are then shift one position to the right.
+}
+\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 = "\%Y-\%m-\%d")=="1990-01-01"),
+               which(format(BasinObs$DatesR, format = "\%Y-\%m-\%d")=="1999-12-31"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD = RunModel_GR4J,
+                               InputsModel = InputsModel, IndPeriod_Run = Ind_Run)
+
+## simulation
+Param <- c(X1 = 734.568, X2 = -0.840, X3 = 109.809, X4 = 1.971)
+OutputsModel <- RunModel(InputsModel = InputsModel,
+                         RunOptions = RunOptions, Param = Param,
+                         FUN_MOD = RunModel_GR4J)
+
+## results preview
+plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel,
+                                RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)
+}
+\seealso{
+\code{\link[airGR]{RunModel_GR4J}}, \code{\link[airGR]{RunModel_CemaNeigeGR4J}}, \code{\link[airGR]{CreateInputsModel}},
+\code{\link[airGR]{CreateRunOptions}}, \code{\link[airGR]{CreateIniStates}}.
+}
+\author{
+Laurent Coron, Olivier Delaigue
+}
diff --git a/man/RunModel.Rd b/man/RunModel.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..495e3b8c87b238b953f4e657fb844b5b6f967d70
--- /dev/null
+++ b/man/RunModel.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/RunModel.R
+\name{RunModel}
+\alias{RunModel}
+\title{RunModel function for both \strong{airGR} InputsModel and GRiwrmInputsModel object}
+\usage{
+RunModel(x, ...)
+}
+\arguments{
+\item{x}{object of class \emph{InputsModel} or \emph{GRiwrmInputsModel}. See \code{\link{CreateInputsModel}} for details}
+
+\item{...}{further arguments passed to or from other methods}
+}
+\value{
+Either a \link{list} of OutputsModel object (for GRiwrmInputsModel) or an OutputsModel object (for InputsModel)
+}
+\description{
+RunModel function for both \strong{airGR} InputsModel and GRiwrmInputsModel object
+}
diff --git a/man/RunModel.SD.Rd b/man/RunModel.SD.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..069212b22c5fc2dd16d8a0eb7e6acdc27b75f4de
--- /dev/null
+++ b/man/RunModel.SD.Rd
@@ -0,0 +1,29 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/RunModel.SD.R
+\name{RunModel.SD}
+\alias{RunModel.SD}
+\title{Run SD Model from run-off model outputs}
+\usage{
+\method{RunModel}{SD}(x, RunOptions, Param, QsimDown, ...)
+}
+\arguments{
+\item{x}{\code{InputsModel} used as \code{InputsModel} parameter for \link[airGR:RunModel_Lag]{airGR::RunModel_Lag}}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link[airGR]{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of 1 parameter
+    \tabular{ll}{
+      Velocity \tab Mean flow velocity [m/s]
+    }
+  }
+
+\item{QsimDown}{a \link{numeric} corresponding to the runoff of the sub-basin (Typically the \code{Qsim} outputs of the GR model)}
+
+\item{...}{further arguments passed to or from other methods}
+}
+\value{
+\code{OutputsModel} object. See \link[airGR:RunModel_Lag]{airGR::RunModel_Lag}
+}
+\description{
+Run SD Model from run-off model outputs
+}
diff --git a/man/RunModel.Supervisor.Rd b/man/RunModel.Supervisor.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..0d2f6428fe62bc78a99605e53a275a92f3b0c27d
--- /dev/null
+++ b/man/RunModel.Supervisor.Rd
@@ -0,0 +1,23 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/RunModel.Supervisor.R
+\name{RunModel.Supervisor}
+\alias{RunModel.Supervisor}
+\title{RunModel function for GRiwrmInputsModel object}
+\usage{
+\method{RunModel}{Supervisor}(x, RunOptions, Param, ...)
+}
+\arguments{
+\item{x}{object of class \code{Supervisor}, see \link{CreateSupervisor} for details.}
+
+\item{RunOptions}{object of class \emph{GRiwrmRunOptions}, see \code{[CreateRunOptions.GRiwrm]} for details.}
+
+\item{Param}{list of parameter. The list item names are the IDs of the sub-basins. Each item is a vector of numerical parameters.}
+
+\item{...}{Mandatory for S3 method signature function compatibility with generic.}
+}
+\value{
+\emph{GRiwrmOutputsModel} object which is a list of \emph{OutputsModel} objects (See \code{\link[airGR]{RunModel}}) for each node of the semi-distributed model.
+}
+\description{
+RunModel function for GRiwrmInputsModel object
+}
diff --git a/man/Severn.Rd b/man/Severn.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..b1a0c37b628d281ab09ba971142a1b661ca8a921
--- /dev/null
+++ b/man/Severn.Rd
@@ -0,0 +1,23 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/Severn.R
+\docType{data}
+\name{Severn}
+\alias{Severn}
+\title{Catchment Attributes and Hydro-Meteorological Timeseries for some gauging stations on the Severn River}
+\format{
+a \link{list} with 2 items:
+\itemize{
+\item "BasinsInfo" which contains a \link{data.frame} with Gauging station identifier, name, coordinates (GPS), area (km^2^), mean elevation (m), station type, flow period start and end, the bank full flow (m^3^/s), the identifier of the following downstream station and the distance to the following downstream station
+\item "BasinObs" which contains a \link{list} with an item by gauging station which contains a \link{data.frame} with \link{POSIXct} dates, precipitations (mm), potential evapotranspiration (mm) and measured flow (mm)
+}
+}
+\source{
+\url{https://doi.org/10.5285/8344E4F3-D2EA-44F5-8AFA-86D2987543A9}
+}
+\usage{
+Severn
+}
+\description{
+Catchment Attributes and Hydro-Meteorological Timeseries for some gauging stations on the Severn River
+}
+\keyword{datasets}
diff --git a/man/UpdateQsimUpstream.Rd b/man/UpdateQsimUpstream.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..f6153812ed3970e9b203b77918a1327f41b1b3e2
--- /dev/null
+++ b/man/UpdateQsimUpstream.Rd
@@ -0,0 +1,21 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/UpdateQsimUpstream.R
+\name{UpdateQsimUpstream}
+\alias{UpdateQsimUpstream}
+\title{Update InputsModel$Qupstream with simulated upstream flows provided by GRiwrmOutputsModels object.}
+\usage{
+UpdateQsimUpstream(InputsModel, IndPeriod_Run, OutputsModel)
+}
+\arguments{
+\item{InputsModel}{\emph{InputsModel} object. See \code{\link[airGR]{CreateInputsModel}}}
+
+\item{IndPeriod_Run}{numeric index of period to be used for the model run (-)}
+
+\item{OutputsModel}{\emph{GRiwrmOutputsModel} object provided by \link{RunModel.GRiwrmInputsModel}.}
+}
+\value{
+\code{InputsModel} object with updated \code{Qupstream}
+}
+\description{
+This function is used by \link{RunModel.GRiwrmInputsModel} and \link{Calibration.GRiwrmInputsModel} in order to provide upstream simulated flows to a node.
+}
diff --git a/man/checkRunModelParameters.Rd b/man/checkRunModelParameters.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..01398f0d3bd3571f978006b05ae1825899360617
--- /dev/null
+++ b/man/checkRunModelParameters.Rd
@@ -0,0 +1,18 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils.R
+\name{checkRunModelParameters}
+\alias{checkRunModelParameters}
+\title{Check the parameters of RunModel methods}
+\usage{
+checkRunModelParameters(InputsModel, RunOptions, Param)
+}
+\arguments{
+\item{InputsModel}{a \code{GRiwrmInputsModel} object (See \link{CreateInputsModel.GRiwrm})}
+
+\item{RunOptions}{a \code{GRiwrmRunOptions} object (See \link{CreateRunOptions.GRiwrmInputsModel})}
+
+\item{Param}{a \link{list} of \link{numeric} containing model parameters of each node of the network}
+}
+\description{
+Stop the execution if an error is detected.
+}
diff --git a/man/createControl.Rd b/man/createControl.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..51d4fc24f006d80331383570ed72be6dbc510469
--- /dev/null
+++ b/man/createControl.Rd
@@ -0,0 +1,22 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/createController.R
+\name{createControl}
+\alias{createControl}
+\title{Create a list of controls for command (U) and controlled variables (Y)}
+\usage{
+createControl(locations)
+}
+\arguments{
+\item{locations}{vector of \link{character} containing the location of the variable in the model (see details)}
+}
+\value{
+a \link{matrix} with each column is the location of the variables and the rows
+the values of the variable for the current time steps (empty by default)
+}
+\description{
+Create a list of controls for command (U) and controlled variables (Y)
+}
+\examples{
+# For pointing the discharge at the oulet of basins "54095" and "54002"
+createControl(c("54095", "54002"))
+}
diff --git a/man/doSupervision.Rd b/man/doSupervision.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..75c86a9cc434d47c17cf8c226e8b661576c406da
--- /dev/null
+++ b/man/doSupervision.Rd
@@ -0,0 +1,14 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils.R
+\name{doSupervision}
+\alias{doSupervision}
+\title{Do the supervision for the current time step}
+\usage{
+doSupervision(supervisor)
+}
+\arguments{
+\item{supervisor}{\code{Supervisor} (See \link{CreateSupervisor})}
+}
+\description{
+Do the supervision for the current time step
+}
diff --git a/man/getDataFromLocation.Rd b/man/getDataFromLocation.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..92e3c6f29e36538756aa4ca673cb915cb00b04af
--- /dev/null
+++ b/man/getDataFromLocation.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils.R
+\name{getDataFromLocation}
+\alias{getDataFromLocation}
+\title{Retrieve data in the model for the current time steps}
+\usage{
+getDataFromLocation(loc, sv)
+}
+\arguments{
+\item{loc}{location of the data}
+
+\item{sv}{a \code{Supervisor} (See \link{CreateSupervisor})}
+}
+\value{
+\link{numeric} retrieved data at the location
+}
+\description{
+This function should be call inside a Supervisor
+}
diff --git a/man/getModelTimeStep.Rd b/man/getModelTimeStep.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..28acddb6910008bfd42e465201ccd8ee3f9974d8
--- /dev/null
+++ b/man/getModelTimeStep.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/CreateInputsModel.GRiwrm.R
+\name{getModelTimeStep}
+\alias{getModelTimeStep}
+\title{Check time steps of the model of all the nodes and return the time step in seconds}
+\usage{
+getModelTimeStep(InputsModel)
+}
+\arguments{
+\item{InputsModel}{a \code{GRiwrmInputsModel}}
+}
+\value{
+A \link{numeric} representing the time step in seconds
+}
+\description{
+This function is called inside \link{CreateInputsModel.GRiwrm} for defining the time step of the big model.
+}
diff --git a/man/getNoSD_Ids.Rd b/man/getNoSD_Ids.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..70d03f768476f90b7d14f7a9275b3df88e4510b7
--- /dev/null
+++ b/man/getNoSD_Ids.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils.R
+\name{getNoSD_Ids}
+\alias{getNoSD_Ids}
+\title{Id of sub-basins not using SD model}
+\usage{
+getNoSD_Ids(InputsModel)
+}
+\arguments{
+\item{InputsModel}{\code{GRiwrmInputsModel} object}
+}
+\value{
+\link{character} IDs of the sub-basins not using SD model
+}
+\description{
+Id of sub-basins not using SD model
+}
diff --git a/man/getNodeRanking.Rd b/man/getNodeRanking.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..9894acbb90c3885c1e0f3c59a61c85ed58f8348c
--- /dev/null
+++ b/man/getNodeRanking.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/GRiwrm.R
+\name{getNodeRanking}
+\alias{getNodeRanking}
+\title{Sort the nodes from upstream to downstream.}
+\usage{
+getNodeRanking(griwrm)
+}
+\arguments{
+\item{griwrm}{See \code{[GRiwrm]}.}
+}
+\value{
+vector with the ordered node names.
+}
+\description{
+Sort the nodes from upstream to downstream.
+}
diff --git a/man/getSD_Ids.Rd b/man/getSD_Ids.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..77c9779e28609f2384f0076d87c7078102481221
--- /dev/null
+++ b/man/getSD_Ids.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils.R
+\name{getSD_Ids}
+\alias{getSD_Ids}
+\title{Id of sub-basins using SD model}
+\usage{
+getSD_Ids(InputsModel)
+}
+\arguments{
+\item{InputsModel}{\code{GRiwrmInputsModel} object}
+}
+\value{
+\link{character} IDs of the sub-basins using SD model
+}
+\description{
+Id of sub-basins using SD model
+}
diff --git a/man/plot.Qm3s.Rd b/man/plot.Qm3s.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..d5b3b934a9c94217725806bf4e267ccb1f40995e
--- /dev/null
+++ b/man/plot.Qm3s.Rd
@@ -0,0 +1,43 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/plot.Qm3s.R
+\name{plot.Qm3s}
+\alias{plot.Qm3s}
+\title{Plot a \code{Qm3s} object (time series of simulated flows)}
+\usage{
+\method{plot}{Qm3s}(
+  x,
+  type = "l",
+  xlab = "Date",
+  ylab = "Flow (m3/s)",
+  main = "Simulated flows",
+  col = rainbow(ncol(x) - 1),
+  legend = colnames(x)[-1],
+  legend.cex = 0.7,
+  lty = 1,
+  ...
+)
+}
+\arguments{
+\item{x}{a \link{data.frame} with a first column with \link{POSIXt} dates and followings columns with flows at each node of the network}
+
+\item{type}{1-character string (See \link{plot.default}), default "l"}
+
+\item{xlab}{a label for the x axis, defaults to "Date"}
+
+\item{ylab}{a label for the y axis, defaults to "Flow (m3/s)"}
+
+\item{main}{a main title for the plot, defaults to "Simulated flows"}
+
+\item{col}{plotting color (See \link{par}), defaults to rainbow colors}
+
+\item{legend}{See parameter \code{legend} of \link{legend}. Set to \link{NULL} to not display the legend}
+
+\item{legend.cex}{\code{cex} parameter for the text of the legend (See \link{par})}
+
+\item{lty}{The line type (See \link{par})}
+
+\item{...}{Further arguments to pass to the \link{matplot} functions}
+}
+\description{
+Plot a \code{Qm3s} object (time series of simulated flows)
+}
diff --git a/man/setDataToLocation.Rd b/man/setDataToLocation.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..5a3fc9c293eebf70d03a3b0625ce32ceb44a705c
--- /dev/null
+++ b/man/setDataToLocation.Rd
@@ -0,0 +1,19 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/utils.R
+\name{setDataToLocation}
+\alias{setDataToLocation}
+\title{Write data to model input for the current time step}
+\usage{
+setDataToLocation(ctrlr, sv)
+}
+\arguments{
+\item{ctrlr}{a \code{Controller} object (See \link{CreateController})}
+
+\item{sv}{\code{Supervisor} (See \link{CreateSupervisor})}
+}
+\value{
+\link{NULL}
+}
+\description{
+Write data to model input for the current time step
+}