From 795cbd0af3116a9a9aeaea2bd3ad6bf26928265e Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@inrae.fr>
Date: Thu, 8 Apr 2021 10:40:40 +0200
Subject: [PATCH] refactor: add roxygen output to the repository

- also solve airGR compatibility issue

Refs #34
---
 .gitignore                                  |   3 -
 .gitlab-ci.yml                              |   3 +-
 NAMESPACE                                   |  38 ++++++
 data-raw/logo_airGRiwrm.xcf                 | Bin 0 -> 119424 bytes
 man/Calibration.GRiwrmInputsModel.Rd        |  34 +++++
 man/Calibration.InputsModel.Rd              |  77 +++++++++++
 man/Calibration.Rd                          |  19 +++
 man/CheckColumnTypes.Rd                     |  26 ++++
 man/ConvertMeteoSD.Rd                       |  36 ++++++
 man/CreateCalibOptions.GRiwrmInputsModel.Rd |  19 +++
 man/CreateCalibOptions.InputsModel.Rd       |  16 +++
 man/CreateCalibOptions.Rd                   |  19 +++
 man/CreateController.Rd                     |  42 ++++++
 man/CreateEmptyGRiwrmInputsModel.Rd         |  17 +++
 man/CreateInputsCrit.GRiwrmInputsModel.Rd   |  31 +++++
 man/CreateInputsCrit.InputsModel.Rd         | 135 ++++++++++++++++++++
 man/CreateInputsCrit.Rd                     |  19 +++
 man/CreateInputsModel.GRiwrm.Rd             |  27 ++++
 man/CreateInputsModel.Rd                    |  19 +++
 man/CreateInputsModel.default.Rd            |  16 +++
 man/CreateOneGRiwrmInputsModel.Rd           |  27 ++++
 man/CreateRunOptions.GRiwrmInputsModel.Rd   |  19 +++
 man/CreateRunOptions.InputsModel.Rd         |  16 +++
 man/CreateRunOptions.Rd                     |  19 +++
 man/CreateSupervisor.Rd                     |  38 ++++++
 man/DiagramGRiwrm.Rd                        |  34 +++++
 man/GRiwrm.Rd                               |  37 ++++++
 man/OutputsModelQsim.Rd                     |  30 +++++
 man/RunModel.GR.Rd                          |  67 ++++++++++
 man/RunModel.GRiwrmInputsModel.Rd           |  23 ++++
 man/RunModel.InputsModel.Rd                 |  69 ++++++++++
 man/RunModel.Rd                             |  19 +++
 man/RunModel.SD.Rd                          |  29 +++++
 man/RunModel.Supervisor.Rd                  |  23 ++++
 man/Severn.Rd                               |  23 ++++
 man/UpdateQsimUpstream.Rd                   |  21 +++
 man/checkRunModelParameters.Rd              |  18 +++
 man/createControl.Rd                        |  22 ++++
 man/doSupervision.Rd                        |  14 ++
 man/getDataFromLocation.Rd                  |  19 +++
 man/getModelTimeStep.Rd                     |  17 +++
 man/getNoSD_Ids.Rd                          |  17 +++
 man/getNodeRanking.Rd                       |  17 +++
 man/getSD_Ids.Rd                            |  17 +++
 man/plot.Qm3s.Rd                            |  43 +++++++
 man/setDataToLocation.Rd                    |  19 +++
 46 files changed, 1288 insertions(+), 5 deletions(-)
 create mode 100644 NAMESPACE
 create mode 100644 data-raw/logo_airGRiwrm.xcf
 create mode 100644 man/Calibration.GRiwrmInputsModel.Rd
 create mode 100644 man/Calibration.InputsModel.Rd
 create mode 100644 man/Calibration.Rd
 create mode 100644 man/CheckColumnTypes.Rd
 create mode 100644 man/ConvertMeteoSD.Rd
 create mode 100644 man/CreateCalibOptions.GRiwrmInputsModel.Rd
 create mode 100644 man/CreateCalibOptions.InputsModel.Rd
 create mode 100644 man/CreateCalibOptions.Rd
 create mode 100644 man/CreateController.Rd
 create mode 100644 man/CreateEmptyGRiwrmInputsModel.Rd
 create mode 100644 man/CreateInputsCrit.GRiwrmInputsModel.Rd
 create mode 100644 man/CreateInputsCrit.InputsModel.Rd
 create mode 100644 man/CreateInputsCrit.Rd
 create mode 100644 man/CreateInputsModel.GRiwrm.Rd
 create mode 100644 man/CreateInputsModel.Rd
 create mode 100644 man/CreateInputsModel.default.Rd
 create mode 100644 man/CreateOneGRiwrmInputsModel.Rd
 create mode 100644 man/CreateRunOptions.GRiwrmInputsModel.Rd
 create mode 100644 man/CreateRunOptions.InputsModel.Rd
 create mode 100644 man/CreateRunOptions.Rd
 create mode 100644 man/CreateSupervisor.Rd
 create mode 100644 man/DiagramGRiwrm.Rd
 create mode 100644 man/GRiwrm.Rd
 create mode 100644 man/OutputsModelQsim.Rd
 create mode 100644 man/RunModel.GR.Rd
 create mode 100644 man/RunModel.GRiwrmInputsModel.Rd
 create mode 100644 man/RunModel.InputsModel.Rd
 create mode 100644 man/RunModel.Rd
 create mode 100644 man/RunModel.SD.Rd
 create mode 100644 man/RunModel.Supervisor.Rd
 create mode 100644 man/Severn.Rd
 create mode 100644 man/UpdateQsimUpstream.Rd
 create mode 100644 man/checkRunModelParameters.Rd
 create mode 100644 man/createControl.Rd
 create mode 100644 man/doSupervision.Rd
 create mode 100644 man/getDataFromLocation.Rd
 create mode 100644 man/getModelTimeStep.Rd
 create mode 100644 man/getNoSD_Ids.Rd
 create mode 100644 man/getNodeRanking.Rd
 create mode 100644 man/getSD_Ids.Rd
 create mode 100644 man/plot.Qm3s.Rd
 create mode 100644 man/setDataToLocation.Rd

diff --git a/.gitignore b/.gitignore
index 9cc7067..e1d4aad 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 be30b41..8e834df 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 0000000..4f40750
--- /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
GIT binary patch
literal 119424
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
BD_sBp

literal 0
HcmV?d00001

diff --git a/man/Calibration.GRiwrmInputsModel.Rd b/man/Calibration.GRiwrmInputsModel.Rd
new file mode 100644
index 0000000..8416c82
--- /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 0000000..7bf2e2c
--- /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 0000000..9575c6d
--- /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 0000000..2b780e9
--- /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 0000000..addee9f
--- /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 0000000..32e6a67
--- /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 0000000..ef3962d
--- /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 0000000..3a697ae
--- /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 0000000..8e45c37
--- /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 0000000..0e1bcad
--- /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 0000000..68d659f
--- /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 0000000..2636e24
--- /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 0000000..c2178e6
--- /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 0000000..50d4563
--- /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 0000000..213f986
--- /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 0000000..3453379
--- /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 0000000..270a2ae
--- /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 0000000..b0cf177
--- /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 0000000..9533022
--- /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 0000000..486ef6b
--- /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 0000000..0d23061
--- /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 0000000..e3578de
--- /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 0000000..f404613
--- /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 0000000..f17fb40
--- /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 0000000..3c50321
--- /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 0000000..933efa8
--- /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 0000000..6e97966
--- /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 0000000..495e3b8
--- /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 0000000..069212b
--- /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 0000000..0d2f642
--- /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 0000000..b1a0c37
--- /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 0000000..f615381
--- /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 0000000..01398f0
--- /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 0000000..51d4fc2
--- /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 0000000..75c86a9
--- /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 0000000..92e3c6f
--- /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 0000000..28acddb
--- /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 0000000..70d03f7
--- /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 0000000..9894acb
--- /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 0000000..77c9779
--- /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 0000000..d5b3b93
--- /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 0000000..5a3fc9c
--- /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
+}
-- 
GitLab