From ec2371cae67fd5f35c8c11c006aba0c3d41917e3 Mon Sep 17 00:00:00 2001
From: Olivier Delaigue <olivier.delaigue@irstea.fr>
Date: Thu, 9 Apr 2015 18:00:49 +0200
Subject: [PATCH] =?UTF-8?q?[0.7.4]=20D=C3=A9pot?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Olivier Delaigue <olivier.delaigue@irstea.fr>
---
 .Rbuildignore                          |   2 +
 .gitignore                             |   6 +
 DESCRIPTION                            |  17 +
 NAMESPACE                              |  31 ++
 R/BasinData.R                          |  42 ++
 R/Calibration.R                        |  29 ++
 R/Calibration_HBAN.R                   | 401 ++++++++++++++++++
 R/Calibration_optim.R                  | 149 +++++++
 R/CreateCalibOptions.R                 | 226 +++++++++++
 R/CreateInputsCrit.R                   |  81 ++++
 R/CreateInputsModel.R                  | 156 +++++++
 R/CreateRunOptions.R                   | 260 ++++++++++++
 R/DataAltiExtrapolation_HBAN.R         | 540 +++++++++++++++++++++++++
 R/ErrorCrit.R                          |  22 +
 R/ErrorCrit_KGE.R                      | 122 ++++++
 R/ErrorCrit_KGE2.R                     | 124 ++++++
 R/ErrorCrit_NSE.R                      |  87 ++++
 R/ErrorCrit_RMSE.R                     |  81 ++++
 R/PEdaily_Oudin.R                      |  58 +++
 R/RunModel.R                           |  22 +
 R/RunModel_CemaNeige.R                 | 131 ++++++
 R/RunModel_CemaNeigeGR4J.R             | 208 ++++++++++
 R/RunModel_CemaNeigeGR5J.R             | 210 ++++++++++
 R/RunModel_CemaNeigeGR6J.R             | 211 ++++++++++
 R/RunModel_GR4J.R                      | 128 ++++++
 R/RunModel_GR5J.R                      | 131 ++++++
 R/RunModel_GR6J.R                      | 132 ++++++
 R/TransfoParam.R                       |  19 +
 R/TransfoParam_CemaNeige.R             |  37 ++
 R/TransfoParam_GR4J.R                  |  41 ++
 R/TransfoParam_GR5J.R                  |  45 +++
 R/TransfoParam_GR6J.R                  |  47 +++
 R/plot_OutputsModel.R                  | 331 +++++++++++++++
 airGR.Rproj                            |  17 +
 data/L0123001.rda                      | Bin 0 -> 83676 bytes
 data/L0123002.rda                      | Bin 0 -> 101200 bytes
 data/L0123003.rda                      | Bin 0 -> 291924 bytes
 man/BasinInfo.Rd                       |  21 +
 man/BasinObs.Rd                        |  22 +
 man/Calibration.Rd                     |  94 +++++
 man/Calibration_HBAN.Rd                | 127 ++++++
 man/Calibration_optim.Rd               | 103 +++++
 man/CreateCalibOptions.Rd              | 128 ++++++
 man/CreateInputsCrit.Rd                | 112 +++++
 man/CreateInputsModel.Rd               |  89 ++++
 man/CreateRunOptions.Rd                | 121 ++++++
 man/DataAltiExtrapolation_HBAN.Rd      |  64 +++
 man/ErrorCrit.Rd                       |  92 +++++
 man/ErrorCrit_KGE.Rd                   |  50 +++
 man/ErrorCrit_KGE2.Rd                  |  53 +++
 man/ErrorCrit_NSE.Rd                   |  48 +++
 man/ErrorCrit_RMSE.Rd                  |  43 ++
 man/PEdaily_Oudin.Rd                   |  36 ++
 man/RunModel.Rd                        |  61 +++
 man/RunModel_CemaNeige.Rd              |  84 ++++
 man/RunModel_CemaNeigeGR4J.Rd          | 112 +++++
 man/RunModel_CemaNeigeGR5J.Rd          | 115 ++++++
 man/RunModel_CemaNeigeGR6J.Rd          |  83 ++++
 man/RunModel_GR4J.Rd                   |  92 +++++
 man/RunModel_GR5J.Rd                   |  95 +++++
 man/RunModel_GR6J.Rd                   |  96 +++++
 man/TransfoParam.Rd                    |  45 +++
 man/TransfoParam_CemaNeige.Rd          |  43 ++
 man/TransfoParam_GR4J.Rd               |  43 ++
 man/TransfoParam_GR5J.Rd               |  43 ++
 man/TransfoParam_GR6J.Rd               |  43 ++
 man/airGR.Rd                           |  53 +++
 man/plot_OutputsModel.Rd               |  37 ++
 src-i386/airGR.dll                     | Bin 0 -> 24064 bytes
 src-i386/frun_CEMANEIGE.f              | 128 ++++++
 src-i386/frun_CEMANEIGE.o              | Bin 0 -> 1095 bytes
 src-i386/frun_GR4J.f                   | 225 +++++++++++
 src-i386/frun_GR4J.o                   | Bin 0 -> 2505 bytes
 src-i386/frun_GR5J.f                   | 226 +++++++++++
 src-i386/frun_GR5J.o                   | Bin 0 -> 2433 bytes
 src-i386/frun_GR6J.f                   | 249 ++++++++++++
 src-i386/frun_GR6J.o                   | Bin 0 -> 2977 bytes
 src-i386/utils.f                       | 272 +++++++++++++
 src-i386/utils.o                       | Bin 0 -> 2548 bytes
 src-x64/airGR.dll                      | Bin 0 -> 28672 bytes
 src-x64/frun_CEMANEIGE.f               | 128 ++++++
 src-x64/frun_CEMANEIGE.o               | Bin 0 -> 1498 bytes
 src-x64/frun_GR4J.f                    | 225 +++++++++++
 src-x64/frun_GR4J.o                    | Bin 0 -> 2975 bytes
 src-x64/frun_GR5J.f                    | 226 +++++++++++
 src-x64/frun_GR5J.o                    | Bin 0 -> 2875 bytes
 src-x64/frun_GR6J.f                    | 249 ++++++++++++
 src-x64/frun_GR6J.o                    | Bin 0 -> 3415 bytes
 src-x64/utils.f                        | 272 +++++++++++++
 src-x64/utils.o                        | Bin 0 -> 2944 bytes
 src/frun_CEMANEIGE.f                   | 128 ++++++
 src/frun_GR4J.f                        | 225 +++++++++++
 src/frun_GR5J.f                        | 226 +++++++++++
 src/frun_GR6J.f                        | 249 ++++++++++++
 src/utils.f                            | 272 +++++++++++++
 tests/example_Calibration.R            |  47 +++
 tests/example_Calibration_HBAN.R       |  46 +++
 tests/example_Calibration_optim.R      |  45 +++
 tests/example_ErrorCrit.R              |  60 +++
 tests/example_RunModel.R               |  29 ++
 tests/example_RunModel_CemaNeige.R     |  25 ++
 tests/example_RunModel_CemaNeigeGR4J.R |  31 ++
 tests/example_RunModel_CemaNeigeGR5J.R |  31 ++
 tests/example_RunModel_CemaNeigeGR6J.R |  31 ++
 tests/example_RunModel_GR4J.R          |  28 ++
 tests/example_RunModel_GR5J.R          |  28 ++
 tests/example_RunModel_GR6J.R          |  28 ++
 tests/example_TransfoParam.R           |  15 +
 tests/example_TransfoParam_CemaNeige.R |  15 +
 tests/example_TransfoParam_GR4J.R      |  15 +
 tests/example_TransfoParam_GR5J.R      |  15 +
 tests/example_TransfoParam_GR6J.R      |  15 +
 tests/example_plot_OutputsModel.R      |  54 +++
 113 files changed, 10250 insertions(+)
 create mode 100644 .Rbuildignore
 create mode 100644 .gitignore
 create mode 100644 DESCRIPTION
 create mode 100644 NAMESPACE
 create mode 100644 R/BasinData.R
 create mode 100644 R/Calibration.R
 create mode 100644 R/Calibration_HBAN.R
 create mode 100644 R/Calibration_optim.R
 create mode 100644 R/CreateCalibOptions.R
 create mode 100644 R/CreateInputsCrit.R
 create mode 100644 R/CreateInputsModel.R
 create mode 100644 R/CreateRunOptions.R
 create mode 100644 R/DataAltiExtrapolation_HBAN.R
 create mode 100644 R/ErrorCrit.R
 create mode 100644 R/ErrorCrit_KGE.R
 create mode 100644 R/ErrorCrit_KGE2.R
 create mode 100644 R/ErrorCrit_NSE.R
 create mode 100644 R/ErrorCrit_RMSE.R
 create mode 100644 R/PEdaily_Oudin.R
 create mode 100644 R/RunModel.R
 create mode 100644 R/RunModel_CemaNeige.R
 create mode 100644 R/RunModel_CemaNeigeGR4J.R
 create mode 100644 R/RunModel_CemaNeigeGR5J.R
 create mode 100644 R/RunModel_CemaNeigeGR6J.R
 create mode 100644 R/RunModel_GR4J.R
 create mode 100644 R/RunModel_GR5J.R
 create mode 100644 R/RunModel_GR6J.R
 create mode 100644 R/TransfoParam.R
 create mode 100644 R/TransfoParam_CemaNeige.R
 create mode 100644 R/TransfoParam_GR4J.R
 create mode 100644 R/TransfoParam_GR5J.R
 create mode 100644 R/TransfoParam_GR6J.R
 create mode 100644 R/plot_OutputsModel.R
 create mode 100644 airGR.Rproj
 create mode 100644 data/L0123001.rda
 create mode 100644 data/L0123002.rda
 create mode 100644 data/L0123003.rda
 create mode 100644 man/BasinInfo.Rd
 create mode 100644 man/BasinObs.Rd
 create mode 100644 man/Calibration.Rd
 create mode 100644 man/Calibration_HBAN.Rd
 create mode 100644 man/Calibration_optim.Rd
 create mode 100644 man/CreateCalibOptions.Rd
 create mode 100644 man/CreateInputsCrit.Rd
 create mode 100644 man/CreateInputsModel.Rd
 create mode 100644 man/CreateRunOptions.Rd
 create mode 100644 man/DataAltiExtrapolation_HBAN.Rd
 create mode 100644 man/ErrorCrit.Rd
 create mode 100644 man/ErrorCrit_KGE.Rd
 create mode 100644 man/ErrorCrit_KGE2.Rd
 create mode 100644 man/ErrorCrit_NSE.Rd
 create mode 100644 man/ErrorCrit_RMSE.Rd
 create mode 100644 man/PEdaily_Oudin.Rd
 create mode 100644 man/RunModel.Rd
 create mode 100644 man/RunModel_CemaNeige.Rd
 create mode 100644 man/RunModel_CemaNeigeGR4J.Rd
 create mode 100644 man/RunModel_CemaNeigeGR5J.Rd
 create mode 100644 man/RunModel_CemaNeigeGR6J.Rd
 create mode 100644 man/RunModel_GR4J.Rd
 create mode 100644 man/RunModel_GR5J.Rd
 create mode 100644 man/RunModel_GR6J.Rd
 create mode 100644 man/TransfoParam.Rd
 create mode 100644 man/TransfoParam_CemaNeige.Rd
 create mode 100644 man/TransfoParam_GR4J.Rd
 create mode 100644 man/TransfoParam_GR5J.Rd
 create mode 100644 man/TransfoParam_GR6J.Rd
 create mode 100644 man/airGR.Rd
 create mode 100644 man/plot_OutputsModel.Rd
 create mode 100644 src-i386/airGR.dll
 create mode 100644 src-i386/frun_CEMANEIGE.f
 create mode 100644 src-i386/frun_CEMANEIGE.o
 create mode 100644 src-i386/frun_GR4J.f
 create mode 100644 src-i386/frun_GR4J.o
 create mode 100644 src-i386/frun_GR5J.f
 create mode 100644 src-i386/frun_GR5J.o
 create mode 100644 src-i386/frun_GR6J.f
 create mode 100644 src-i386/frun_GR6J.o
 create mode 100644 src-i386/utils.f
 create mode 100644 src-i386/utils.o
 create mode 100644 src-x64/airGR.dll
 create mode 100644 src-x64/frun_CEMANEIGE.f
 create mode 100644 src-x64/frun_CEMANEIGE.o
 create mode 100644 src-x64/frun_GR4J.f
 create mode 100644 src-x64/frun_GR4J.o
 create mode 100644 src-x64/frun_GR5J.f
 create mode 100644 src-x64/frun_GR5J.o
 create mode 100644 src-x64/frun_GR6J.f
 create mode 100644 src-x64/frun_GR6J.o
 create mode 100644 src-x64/utils.f
 create mode 100644 src-x64/utils.o
 create mode 100644 src/frun_CEMANEIGE.f
 create mode 100644 src/frun_GR4J.f
 create mode 100644 src/frun_GR5J.f
 create mode 100644 src/frun_GR6J.f
 create mode 100644 src/utils.f
 create mode 100644 tests/example_Calibration.R
 create mode 100644 tests/example_Calibration_HBAN.R
 create mode 100644 tests/example_Calibration_optim.R
 create mode 100644 tests/example_ErrorCrit.R
 create mode 100644 tests/example_RunModel.R
 create mode 100644 tests/example_RunModel_CemaNeige.R
 create mode 100644 tests/example_RunModel_CemaNeigeGR4J.R
 create mode 100644 tests/example_RunModel_CemaNeigeGR5J.R
 create mode 100644 tests/example_RunModel_CemaNeigeGR6J.R
 create mode 100644 tests/example_RunModel_GR4J.R
 create mode 100644 tests/example_RunModel_GR5J.R
 create mode 100644 tests/example_RunModel_GR6J.R
 create mode 100644 tests/example_TransfoParam.R
 create mode 100644 tests/example_TransfoParam_CemaNeige.R
 create mode 100644 tests/example_TransfoParam_GR4J.R
 create mode 100644 tests/example_TransfoParam_GR5J.R
 create mode 100644 tests/example_TransfoParam_GR6J.R
 create mode 100644 tests/example_plot_OutputsModel.R

diff --git a/.Rbuildignore b/.Rbuildignore
new file mode 100644
index 00000000..91114bf2
--- /dev/null
+++ b/.Rbuildignore
@@ -0,0 +1,2 @@
+^.*\.Rproj$
+^\.Rproj\.user$
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..0a747394
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+.Rproj.user
+.Rhistory
+.RData
+src/*.o
+src/*.so
+src/*.dll
diff --git a/DESCRIPTION b/DESCRIPTION
new file mode 100644
index 00000000..b37714df
--- /dev/null
+++ b/DESCRIPTION
@@ -0,0 +1,17 @@
+Package: airGR
+Type: Package
+Title: Modelling tools used at Irstea-HBAN (France), including GR4J,
+        GR5J, GR6J and CemaNeige
+Version: 0.7.4
+Date: 2014-11-01
+Author: Laurent CORON
+Maintainer: Laurent CORON <laurent.coron@irstea.fr>, Olivier DELAIGUE
+        <olivier.delaigue@irstea.fr>
+Depends: R (>= 3.0.1)
+Description: This package brings into R the hydrological modelling tools used
+    at Irstea-HBAN (France). The package includes several conceptual
+    rainfall-runoff models and the associated functions for their calibration
+    and evaluation,including GR4J, GR5J, GR6J and CemaNeige. Use help(airGR)
+    for package description.
+License: GPL-2
+Packaged: 2014-11-25 21:51:31 UTC; H61970
diff --git a/NAMESPACE b/NAMESPACE
new file mode 100644
index 00000000..67c5192a
--- /dev/null
+++ b/NAMESPACE
@@ -0,0 +1,31 @@
+# Generated by roxygen2 (4.0.1): do not edit by hand
+
+export(Calibration)
+export(Calibration_HBAN)
+export(Calibration_optim)
+export(CreateCalibOptions)
+export(CreateInputsCrit)
+export(CreateInputsModel)
+export(CreateRunOptions)
+export(DataAltiExtrapolation_HBAN)
+export(ErrorCrit)
+export(ErrorCrit_KGE)
+export(ErrorCrit_KGE2)
+export(ErrorCrit_NSE)
+export(ErrorCrit_RMSE)
+export(PEdaily_Oudin)
+export(RunModel)
+export(RunModel_CemaNeige)
+export(RunModel_CemaNeigeGR4J)
+export(RunModel_CemaNeigeGR5J)
+export(RunModel_CemaNeigeGR6J)
+export(RunModel_GR4J)
+export(RunModel_GR5J)
+export(RunModel_GR6J)
+export(TransfoParam)
+export(TransfoParam_CemaNeige)
+export(TransfoParam_GR4J)
+export(TransfoParam_GR5J)
+export(TransfoParam_GR6J)
+export(plot_OutputsModel)
+useDynLib(airgr)
diff --git a/R/BasinData.R b/R/BasinData.R
new file mode 100644
index 00000000..b1e6d222
--- /dev/null
+++ b/R/BasinData.R
@@ -0,0 +1,42 @@
+#' @name BasinInfo
+#' @docType data
+#' @title Data sample: characteristics of a fictional catchment (L0123001, L0123002 or L0123003)
+#' @description
+#' R-object containing the code, station's name, area and hypsometric curve of the catchment.
+#' @encoding UTF-8
+#' @format
+#' List named 'BasinInfo' containing
+#' \itemize{
+#' \item two strings: catchment's code and station's name
+#' \item one float: catchment's area in km2
+#' \item one numeric vector: catchment's hypsometric curve (min, quantiles 01 to 99 and max) in metres
+#' }
+#' @examples 
+#'    require(airGR)
+#'    data(L0123001)
+#'    str(BasinInfo)
+
+NULL
+
+
+#' @name BasinObs
+#' @docType data
+#' @title Data sample: time series of observations of a fictional catchment (L0123001, L0123002 or L0123003)
+#' @description
+#' R-object containing the times series of precipitation, temperature, potential evapotranspiration and discharges. \cr
+#' Times series for L0123001 or L0123002 are at the daily time-step for use with daily models such as GR4J, GR5J, GR6J, CemaNeigeGR4J, CemaNeigeGR5J and CemaNeigeGR6J.
+#' Times series for L0123003 are at the hourly time-step for use with hourly models such as GR4H.
+#' @encoding UTF-8
+#' @format
+#' Data frame named 'BasinObs' containing
+#' \itemize{
+#' \item one POSIXlt vector: time series dates in the POSIXlt format
+#' \item five numeric vectors: time series of catchment average precipitation [mm], catchment average air temperature [degC], catchment average potential evapotranspiration [mm], outlet discharge [l/s], outlet discharge [mm]
+#' }
+#' @examples 
+#'    require(airGR)
+#'    data(L0123001)
+#'    str(BasinObs)
+
+NULL
+
diff --git a/R/Calibration.R b/R/Calibration.R
new file mode 100644
index 00000000..874740b5
--- /dev/null
+++ b/R/Calibration.R
@@ -0,0 +1,29 @@
+#*************************************************************************************************
+#' Calibration algorithm which minimises the error criterion using the provided functions. \cr
+#*************************************************************************************************
+#' @title  Calibration algorithm which minimises an error criterion on the model outputs using the provided functions
+#' @author Laurent Coron (June 2014)
+#' @seealso \code{\link{Calibration_HBAN}}, \code{\link{Calibration_optim}},
+#'          \code{\link{RunModel}}, \code{\link{ErrorCrit}}, \code{\link{TransfoParam}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, 
+#'          \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}.
+#' @example tests/example_Calibration.R
+#' @export
+#' @encoding UTF-8
+#_FunctionInputs__________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  InputsCrit          [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details
+#' @param  CalibOptions        [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details
+#' @param  FUN_MOD             [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)
+#' @param  FUN_CRIT            [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)
+#' @param  FUN_CALIB           (optional) [function] calibration algorithm function (e.g. Calibration_HBAN, Calibration_optim), default=Calibration_HBAN
+#' @param  FUN_TRANSFO         (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined
+#' @param  quiet               (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________
+#' @return  [list] see \code{\link{Calibration_HBAN}} or \code{\link{Calibration_optim}} 
+#**************************************************************************************************
+Calibration <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_CALIB=Calibration_HBAN,FUN_TRANSFO=NULL,quiet=FALSE){
+    return( FUN_CALIB(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO,quiet=quiet) )
+}
+
diff --git a/R/Calibration_HBAN.R b/R/Calibration_HBAN.R
new file mode 100644
index 00000000..97e631f5
--- /dev/null
+++ b/R/Calibration_HBAN.R
@@ -0,0 +1,401 @@
+#*************************************************************************************************
+#' Calibration algorithm which minimises the error criterion. \cr
+#' \cr
+#' The algorithm is based on a local search procedure. 
+#' First, a screening is performed using either a rough predefined grid or a list of parameter sets
+#' and then a simple steepest descent local search algorithm is performed.
+#' 
+#' A screening is first performed either from a rough predefined grid (considering various initial 
+#' values for each paramete) or from a list of initial parameter sets. \cr
+#' The best set identified in this screening is then used as a starting point for the steepest 
+#' descent local search algorithm. \cr
+#' For this search, the parameters are used in a transformed version, to obtain uniform           
+#' variation ranges (and thus a similar pace), while the true ranges might be quite different. \cr
+#' At each iteration, we start from a parameter set of NParam values (NParam being the number of 
+#' free parameters of the chosen hydrological model) and we determine the 2*NParam-1 new candidates 
+#' by changing one by one the different parameters (+/- pace). \cr
+#' All these candidates are tested and the best one kept to be the starting point for the next    
+#' iteration. At the end of each iteration, the pace is either increased or decreased to adapt    
+#' the progression speed. A diagonal progress can occasionally be done.                        \cr
+#' The calibration algorithm stops when the pace becomes too small.                            \cr
+#'
+#' To optimise the exploration of the parameter space, transformation functions are used to convert
+#' the model parameters. This is done using the TransfoParam functions.
+#*************************************************************************************************
+#' @title  Calibration algorithm which minimises the error criterion using the Irstea-HBAN procedure
+#' @author Laurent Coron (August 2013)
+#' @references
+#'   Michel, C. (1991),
+#'        Hydrologie appliquée aux petits bassins ruraux, Hydrology handout (in French), Cemagref, Antony, France.
+#' @example tests/example_Calibration_HBAN.R
+#' @seealso \code{\link{Calibration}}, \code{\link{Calibration_optim}},
+#'          \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorCrit_RMSE}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, 
+#'          \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}.
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  InputsCrit          [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details
+#' @param  CalibOptions        [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details
+#' @param  FUN_MOD             [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)
+#' @param  FUN_CRIT            [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)
+#' @param  FUN_TRANSFO         (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined
+#' @param  quiet               (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:
+#'          \tabular{ll}{
+#'          \emph{$ParamFinalR  }  \tab   [numeric] parameter set obtained at the end of the calibration \cr
+#'          \emph{$CritFinal    }  \tab   [numeric] error criterion obtained at the end of the calibration \cr
+#'          \emph{$NIter        }  \tab   [numeric] number of iterations during the calibration \cr
+#'          \emph{$NRuns        }  \tab   [numeric] number of model runs done during the calibration \cr
+#'          \emph{$HistParamR   }  \tab   [numeric] table showing the progression steps in the search for optimal set: parameter values \cr
+#'          \emph{$HistCrit     }  \tab   [numeric] table showing the progression steps in the search for optimal set: criterion values \cr
+#'          \emph{$MatBoolCrit  }  \tab   [boolean] table giving the requested and actual time steps when the model is calibrated \cr
+#'          \emph{$CritName     }  \tab   [character] name of the calibration criterion \cr
+#'          \emph{$CritBestValue}  \tab   [numeric] theoretical best criterion value \cr
+#'          }
+#**************************************************************************************************
+Calibration_HBAN <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO=NULL,quiet=FALSE){
+
+
+##_____Arguments_check_____________________________________________________________________
+    if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+    if(inherits(RunOptions,"RunOptions")==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); }  
+    if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); }  
+    if(inherits(CalibOptions,"CalibOptions")==FALSE){ stop("CalibOptions must be of class 'CalibOptions' \n"); return(NULL); }  
+    if(inherits(CalibOptions,"HBAN")==FALSE){ stop("CalibOptions must be of class 'HBAN' if Calibration_HBAN is used \n"); return(NULL); }  
+
+
+   ##_check_FUN_TRANSFO
+    if(is.null(FUN_TRANSFO)){
+      if(identical(FUN_MOD,RunModel_GR4J         )){ FUN_TRANSFO <- TransfoParam_GR4J     ; }
+      if(identical(FUN_MOD,RunModel_GR5J         )){ FUN_TRANSFO <- TransfoParam_GR5J     ; }
+      if(identical(FUN_MOD,RunModel_GR6J         )){ FUN_TRANSFO <- TransfoParam_GR6J     ; }
+      if(identical(FUN_MOD,RunModel_CemaNeige    )){ FUN_TRANSFO <- TransfoParam_CemaNeige; }
+      if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){
+        if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ FUN1 <- TransfoParam_GR4J; FUN2 <- TransfoParam_CemaNeige; }
+        if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ FUN1 <- TransfoParam_GR5J; FUN2 <- TransfoParam_CemaNeige; }
+        if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ FUN1 <- TransfoParam_GR6J; FUN2 <- TransfoParam_CemaNeige; }
+        FUN_TRANSFO <- function(ParamIn,Direction){
+          Bool <- is.matrix(ParamIn);
+          if(Bool==FALSE){ ParamIn <- rbind(ParamIn); }
+          ParamOut <- NA*ParamIn;
+          NParam   <- ncol(ParamIn);
+          ParamOut[,         1:(NParam-2)] <- FUN1(ParamIn[,         1:(NParam-2)],Direction);
+          ParamOut[,(NParam-1):NParam    ] <- FUN2(ParamIn[,(NParam-1):NParam    ],Direction);
+          if(Bool==FALSE){ ParamOut <- ParamOut[1,]; }
+          return(ParamOut);
+        }
+      }
+      if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found (in Calibration function) \n"); return(NULL);  }
+    }
+
+    ##_variables_initialisation 
+    ParamFinalR <- NULL; ParamFinalT <- NULL; CritFinal <- NULL;
+    NRuns <- 0; NIter <- 0;
+    if("StartParamDistrib" %in% names(CalibOptions)){ PrefilteringType <- 2; } else { PrefilteringType <- 1; }
+    if(PrefilteringType==1){ NParam <- ncol(CalibOptions$StartParamList); }
+    if(PrefilteringType==2){ NParam <- ncol(CalibOptions$StartParamDistrib); }
+    if(NParam>20){ stop("Calibration_HBAN can handle a maximum of 20 parameters \n"); return(NULL);  }
+    HistParamR    <- matrix(NA,nrow=500*NParam,ncol=NParam);
+    HistParamT    <- matrix(NA,nrow=500*NParam,ncol=NParam);
+    HistCrit      <- matrix(NA,nrow=500*NParam,ncol=1);
+    CritName      <- NULL;
+    CritBestValue <- NULL;
+    Multiplier    <- NULL;
+    CritOptim     <- +1E100;
+    ##_temporary_change_of_Outputs_Sim
+    RunOptions$Outputs_Sim <- RunOptions$Outputs_Cal;  ### this reduces the size of the matrix exchange with fortran and therefore speeds the calibration
+
+
+
+##_____Parameter_Grid_Screening____________________________________________________________
+
+
+    ##Definition_of_the_function_creating_all_possible_parameter_sets_from_different_values_for_each_parameter
+    ProposeCandidatesGrid <- function(DistribParam){
+      ##Managing_matrix_sizes
+        Nvalmax <- nrow(DistribParam);
+        NParam <- ncol(DistribParam);
+        ##we_add_columns_to_MatDistrib_until_it_has_20_columns
+        DistribParam2 <- matrix(NA,nrow=Nvalmax,ncol=20);
+        DistribParam2[1:Nvalmax,1:NParam] <- DistribParam;
+        ##we_check_the_number_of_values_to_test_for_each_param
+        NbDistrib <- rep(1,20);
+        for(iC in 1:20){ NbDistrib[iC] <- max( 1 , Nvalmax-sum(is.na(DistribParam2[,iC])) ); }
+      ##Loop_on_the_various_values_to_test ###(if 4 param and 3 values for each => 3^4 sets)
+      ##NB_we_always_do_20_loops ###which_is_here_the_max_number_of_param_that_can_be_optimised
+        VECT <- NULL;
+        for(iL01 in 1:NbDistrib[01]){ for(iL02 in 1:NbDistrib[02]){ for(iL03 in 1:NbDistrib[03]){ for(iL04 in 1:NbDistrib[04]){ for(iL05 in 1:NbDistrib[05]){ 
+        for(iL06 in 1:NbDistrib[06]){ for(iL07 in 1:NbDistrib[07]){ for(iL08 in 1:NbDistrib[08]){ for(iL09 in 1:NbDistrib[09]){ for(iL10 in 1:NbDistrib[10]){
+        for(iL11 in 1:NbDistrib[11]){ for(iL12 in 1:NbDistrib[12]){ for(iL13 in 1:NbDistrib[13]){ for(iL14 in 1:NbDistrib[14]){ for(iL15 in 1:NbDistrib[15]){ 
+        for(iL16 in 1:NbDistrib[16]){ for(iL17 in 1:NbDistrib[17]){ for(iL18 in 1:NbDistrib[18]){ for(iL19 in 1:NbDistrib[19]){ for(iL20 in 1:NbDistrib[20]){
+          VECT <- c(VECT,                         
+            DistribParam2[iL01,01],DistribParam2[iL02,02],DistribParam2[iL03,03],DistribParam2[iL04,04],DistribParam2[iL05,05],
+            DistribParam2[iL06,06],DistribParam2[iL07,07],DistribParam2[iL08,08],DistribParam2[iL09,09],DistribParam2[iL10,10],
+            DistribParam2[iL11,11],DistribParam2[iL12,12],DistribParam2[iL13,13],DistribParam2[iL14,14],DistribParam2[iL15,15],
+            DistribParam2[iL16,16],DistribParam2[iL17,17],DistribParam2[iL18,18],DistribParam2[iL19,19],DistribParam2[iL20,20]);
+        } } } } }
+        } } } } }
+        } } } } }
+        } } } } }
+        MAT <- matrix(VECT,ncol=20,byrow=TRUE)[,1:NParam];
+        if(is.matrix(MAT)==FALSE){ MAT <- cbind(MAT); }
+        Output <- NULL;
+        Output$NewCandidates <- MAT;
+        return(Output);
+    }
+
+
+    ##Creation_of_new_candidates_______________________________________________
+    if(PrefilteringType==1){ CandidatesParamR <- CalibOptions$StartParamList; }
+    if(PrefilteringType==2){ DistribParamR <- CalibOptions$StartParamDistrib; DistribParamR[,!CalibOptions$OptimParam] <- NA; CandidatesParamR <- ProposeCandidatesGrid(DistribParamR)$NewCandidates; }
+    ##Remplacement_of_non_optimised_values_____________________________________
+    CandidatesParamR <- apply(CandidatesParamR,1,function(x){ x[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; return(x); });
+    if(NParam>1){ CandidatesParamR <- t(CandidatesParamR); } else { CandidatesParamR <- cbind(CandidatesParamR); }
+
+    ##Loop_to_test_the_various_candidates______________________________________
+    iNewOptim <- 0;
+    Ncandidates <- nrow(CandidatesParamR);    
+    if(!quiet & Ncandidates>1){
+      if(PrefilteringType==1){ cat(paste("\t List-Screening in progress (",sep="")); }
+      if(PrefilteringType==2){ cat(paste("\t Grid-Screening in progress (",sep="")); }
+      cat("0%");
+    }
+    for(iNew in 1:nrow(CandidatesParamR)){
+      if(!quiet & Ncandidates>1){
+        for(k in c(2,4,6,8)){ if(iNew==round(k/10*Ncandidates)){ cat(paste(" ",10*k,"%",sep="")); } } 
+      }
+      ##Model_run
+      Param <- CandidatesParamR[iNew,];
+      OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param);
+      ##Calibration_criterion_computation
+      OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel);      
+      if(!is.na(OutputsCrit$CritValue)){ if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){
+        CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier;
+        iNewOptim <- iNew;
+      } }
+      ##Storage_of_crit_info
+      if(is.null(CritName) | is.null(CritBestValue) | is.null(Multiplier)){
+        CritName      <- OutputsCrit$CritName;
+        CritBestValue <- OutputsCrit$CritBestValue;
+        Multiplier    <- OutputsCrit$Multiplier;
+      }
+    }
+    if(!quiet & Ncandidates>1){ cat(" 100%) \n"); }
+	  
+
+    ##End_of_first_step_Parameter_Screening____________________________________
+    ParamStartR <- CandidatesParamR[iNewOptim,]; if(!is.matrix(ParamStartR)){ ParamStartR <- matrix(ParamStartR,nrow=1); }
+    ParamStartT <- FUN_TRANSFO(ParamStartR,"RT");
+	  CritStart   <- CritOptim;
+    NRuns       <- NRuns+nrow(CandidatesParamR);
+    if(!quiet){
+      if(Ncandidates> 1){ cat(paste("\t Screening completed (",NRuns," runs): \n",sep=""));  }
+      if(Ncandidates==1){ cat(paste("\t Starting point for steepest-descent local search: \n",sep="")); }
+      cat(paste("\t     Param = ",paste(formatC(ParamStartR,format="f",width=8,digits=3),collapse=" , "),"\n",sep=""));
+      cat(paste("\t     Crit ",format(CritName,width=12,justify="left")," = ",formatC(CritStart*Multiplier,format="f",digits=4),"\n",sep=""));
+    }
+    ##Results_archiving________________________________________________________
+    HistParamR[1,] <- ParamStartR;
+    HistParamT[1,] <- ParamStartT;
+    HistCrit[1,]   <- CritStart;
+
+
+
+
+##_____Steepest_Descent_Local_Search_______________________________________________________
+
+
+    ##Definition_of_the_function_creating_new_parameter_sets_through_a_step_by_step_progression_procedure
+    ProposeCandidatesLoc <- function(NewParamOptimT,OldParamOptimT,RangesT,OptimParam,Pace){
+      ##Format_checking
+      if(nrow(NewParamOptimT)!=1 | nrow(OldParamOptimT)!=1){ stop("each input set must be a matrix of one single line \n"); return(NULL); }
+      if(ncol(NewParamOptimT)!=ncol(OldParamOptimT) | ncol(NewParamOptimT)!=length(OptimParam)){ stop("each input set must have the same number of values \n"); return(NULL); }
+      ##Proposal_of_new_parameter_sets ###(local search providing 2*NParam-1 new sets)
+      NParam <- ncol(NewParamOptimT);
+      VECT <- NULL;
+      for(I in 1:NParam){
+        ##We_check_that_the_current_parameter_should_indeed_be_optimised
+        if(OptimParam[I]==TRUE){
+          for(J in 1:2){
+            Sign <- 2*J-3;   #Sign can be equal to -1 or +1
+            ##We_define_the_new_potential_candidate
+            Add <- TRUE;
+            PotentialCandidateT <- NewParamOptimT;
+            PotentialCandidateT[1,I] <- NewParamOptimT[I]+Sign*Pace;
+            ##If_we_exit_the_range_of_possible_values_we_go_back_on_the_boundary
+            if(PotentialCandidateT[1,I]<RangesT[1,I]){ PotentialCandidateT[1,I] <- RangesT[1,I]; }
+            if(PotentialCandidateT[1,I]>RangesT[2,I]){ PotentialCandidateT[1,I] <- RangesT[2,I]; }
+            ##We_check_the_set_is_not_outside_the_range_of_possible_values
+             if( NewParamOptimT[I]==RangesT[1,I] & Sign<0 ){ Add <- FALSE; }
+             if( NewParamOptimT[I]==RangesT[2,I] & Sign>0 ){ Add <- FALSE; }
+            ##We_check_that_this_set_has_not_been_tested_during_the_last_iteration
+            if(identical(PotentialCandidateT,OldParamOptimT)){ Add <- FALSE; }
+            ##We_add_the_candidate_to_our_list
+            if(Add==TRUE){ VECT <- c(VECT,PotentialCandidateT); }
+          }
+        }
+      }
+      Output <- NULL;
+      Output$NewCandidatesT <- matrix(VECT,ncol=NParam,byrow=TRUE);
+      return(Output);
+    }
+      
+
+    ##Initialisation_of_variables
+    if(!quiet){ 
+      cat("\t Steepest-descent local search in progress \n"); 
+    }
+    Pace <- 0.64;
+    PaceDiag <- rep(0,NParam);
+    CLG <- 0.7^(1/NParam);
+    Compt <- 0;
+    CritOptim <- CritStart;
+    ##Conversion_of_real_parameter_values
+    RangesR <- CalibOptions$SearchRanges;
+    RangesT <- FUN_TRANSFO(RangesR,"RT");
+    NewParamOptimT <- ParamStartT;
+    OldParamOptimT <- ParamStartT;
+
+
+    ##START_LOOP_ITER_________________________________________________________
+    for(ITER in 1:(100*NParam)){
+
+
+    ##Exit_loop_when_Pace_becomes_too_small___________________________________
+    if(Pace<0.01){ break; }
+  
+
+    ##Creation_of_new_candidates______________________________________________
+    CandidatesParamT <- ProposeCandidatesLoc(NewParamOptimT,OldParamOptimT,RangesT,CalibOptions$OptimParam,Pace)$NewCandidatesT;
+    CandidatesParamR <- FUN_TRANSFO(CandidatesParamT,"TR");
+    ##Remplacement_of_non_optimised_values_____________________________________
+    CandidatesParamR <- apply(CandidatesParamR,1,function(x){ x[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam]; return(x); });
+    if(NParam>1){ CandidatesParamR <- t(CandidatesParamR); } else { CandidatesParamR <- cbind(CandidatesParamR); }
+
+
+    ##Loop_to_test_the_various_candidates_____________________________________
+    iNewOptim <- 0;
+    for(iNew in 1:nrow(CandidatesParamR)){
+      ##Model_run
+      Param <- CandidatesParamR[iNew,];
+      OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param);
+      ##Calibration_criterion_computation
+      OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel);      
+      if(!is.na(OutputsCrit$CritValue)){ if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){
+        CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier;
+        iNewOptim <- iNew;
+      } }
+    }
+    NRuns <- NRuns+nrow(CandidatesParamR);
+
+
+    ##When_a_progress_has_been_achieved_______________________________________
+    if(iNewOptim!=0){
+      ##We_store_the_optimal_set
+      OldParamOptimT <- NewParamOptimT;
+      NewParamOptimT <- matrix(CandidatesParamT[iNewOptim,1:NParam],nrow=1);
+      Compt <- Compt+1;
+      ##When_necessary_we_increase_the_pace ### if_successive_progress_occur_in_a_row
+      if(Compt>2*NParam){
+        Pace <- Pace*2;
+        Compt <- 0;
+      }
+      ##We_update_PaceDiag
+      VectPace <- NewParamOptimT-OldParamOptimT;
+      for(iC in 1:NParam){ if(CalibOptions$OptimParam[iC]==TRUE){ 
+        if(VectPace[iC]!=0){ PaceDiag[iC] <- CLG*PaceDiag[iC]+(1-CLG)*VectPace[iC]; }
+        if(VectPace[iC]==0){ PaceDiag[iC] <- CLG*PaceDiag[iC]; }
+      } }
+    } else {
+    ##When_no_progress_has_been_achieved_we_decrease_the_pace_________________
+      Pace <- Pace/2;
+      Compt <- 0;
+    }
+
+
+    ##Test_of_an_additional_candidate_using_diagonal_progress_________________
+    if(ITER>4*NParam){
+
+        NRuns <- NRuns+1;
+        iNewOptim <- 0; iNew <- 1;
+        CandidatesParamT <- NewParamOptimT+PaceDiag;  if(!is.matrix(CandidatesParamT)){ CandidatesParamT <- matrix(CandidatesParamT,nrow=1); }
+        ##If_we_exit_the_range_of_possible_values_we_go_back_on_the_boundary
+        for(iC in 1:NParam){ if(CalibOptions$OptimParam[iC]==TRUE){
+          if(CandidatesParamT[iNew,iC]<RangesT[1,iC]){ CandidatesParamT[iNew,iC] <- RangesT[1,iC]; }
+          if(CandidatesParamT[iNew,iC]>RangesT[2,iC]){ CandidatesParamT[iNew,iC] <- RangesT[2,iC]; }
+        } }
+        CandidatesParamR <- FUN_TRANSFO(CandidatesParamT,"TR");
+        ##Model_run
+        Param <- CandidatesParamR[iNew,];
+        OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param);
+        ##Calibration_criterion_computation
+        OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel);      
+        if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){
+          CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier;
+          iNewOptim <- iNew;
+        }
+        ##When_a_progress_has_been_achieved
+        if(iNewOptim!=0){
+          OldParamOptimT <- NewParamOptimT;
+          NewParamOptimT <- matrix(CandidatesParamT[iNewOptim,1:NParam],nrow=1);
+        }
+
+    }
+    
+
+    ##Results_archiving_______________________________________________________
+    NewParamOptimR      <- FUN_TRANSFO(NewParamOptimT,"TR");
+    HistParamR[ITER+1,] <- NewParamOptimR;
+    HistParamT[ITER+1,] <- NewParamOptimT;
+    HistCrit[ITER+1,]   <- CritOptim;
+    ### if(!quiet){ cat(paste("\t     Iter ",formatC(ITER,format="d",width=3),"    Crit ",formatC(CritOptim,format="f",digits=4),"    Pace ",formatC(Pace,format="f",digits=4),"\n",sep="")); }
+
+
+
+    } ##END_LOOP_ITER_________________________________________________________
+    ITER <- ITER-1;
+    
+
+    ##Case_when_the_starting_parameter_set_remains_the_best_solution__________
+    if(CritOptim==CritStart & !quiet){ 
+      cat("\t No progress achieved \n"); 
+    }
+    
+    ##End_of_Steepest_Descent_Local_Search____________________________________
+    ParamFinalR <- NewParamOptimR;
+    ParamFinalT <- NewParamOptimT;
+    CritFinal   <- CritOptim;
+    NIter       <- 1+ITER;
+    if(!quiet){ 
+      cat(paste("\t Calibration completed (",NIter," iterations, ",NRuns," runs): \n",sep=""));
+      cat(paste("\t     Param = ",paste(formatC(ParamFinalR,format="f",width=8,digits=3),collapse=" , "),"\n",sep=""));
+      cat(paste("\t     Crit ",format(CritName,width=12,justify="left")," = ",formatC(CritFinal*Multiplier,format="f",digits=4),"\n",sep=""));
+    }
+    ##Results_archiving_______________________________________________________
+  	HistParamR <- cbind(HistParamR[1:NIter,]); colnames(HistParamR) <- paste("Param",1:NParam,sep="");
+  	HistParamT <- cbind(HistParamT[1:NIter,]); colnames(HistParamT) <- paste("Param",1:NParam,sep="");
+	  HistCrit   <- cbind(HistCrit[1:NIter,]);   ###colnames(HistCrit) <- paste("HistCrit");
+
+    BoolCrit_Actual <- InputsCrit$BoolCrit; BoolCrit_Actual[OutputsCrit$Ind_notcomputed] <- FALSE;
+    MatBoolCrit <- cbind( InputsCrit$BoolCrit , BoolCrit_Actual );
+    colnames(MatBoolCrit) <- c("BoolCrit_Requested","BoolCrit_Actual");
+
+
+##_____Output______________________________________________________________________________
+    OutputsCalib <- list(as.double(ParamFinalR),CritFinal*Multiplier,NIter,NRuns,HistParamR,HistCrit*Multiplier,MatBoolCrit,CritName,CritBestValue);
+    names(OutputsCalib) <- c("ParamFinalR","CritFinal","NIter","NRuns","HistParamR","HistCrit","MatBoolCrit","CritName","CritBestValue");
+    class(OutputsCalib) <- c("OutputsCalib","HBAN");
+    return(OutputsCalib);
+
+
+
+}
+
+
+
+  
+
diff --git a/R/Calibration_optim.R b/R/Calibration_optim.R
new file mode 100644
index 00000000..81f1424f
--- /dev/null
+++ b/R/Calibration_optim.R
@@ -0,0 +1,149 @@
+#*************************************************************************************************
+#' Calibration algorithm which minimises the error criterion. \cr
+#' \cr
+#' The algorithm is based on the "optim" function from the "stats" R-package 
+#' (using method="L-BFGS-B", i.e. a local optimization quasi-Newton method).
+#'
+#' To optimise the exploration of the parameter space, transformation functions are used to convert
+#' the model parameters. This is done using the TransfoParam functions.
+#*************************************************************************************************
+#' @title  Calibration algorithm which minimises the error criterion using the stats::optim function
+#' @author Laurent Coron (August 2013)
+#' @example tests/example_Calibration_optim.R
+#' @seealso \code{\link{Calibration}}, \code{\link{Calibration_HBAN}},
+#'          \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorCrit_RMSE}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, 
+#'          \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}.
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  InputsCrit          [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details
+#' @param  CalibOptions        [object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details
+#' @param  FUN_MOD             [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)
+#' @param  FUN_CRIT            [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)
+#' @param  FUN_TRANSFO         (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined
+#' @param  quiet               (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:
+#'          \tabular{ll}{
+#'          \emph{$ParamFinalR  }  \tab   [numeric] parameter set obtained at the end of the calibration \cr
+#'          \emph{$CritFinal    }  \tab   [numeric] error criterion obtained at the end of the calibration \cr
+#'          \emph{$Nruns        }  \tab   [numeric] number of model runs done during the calibration \cr
+#'          \emph{$CritName     }  \tab   [character] name of the calibration criterion \cr
+#'          \emph{$CritBestValue}  \tab   [numeric] theoretical best criterion value \cr
+#'          }
+#**************************************************************************************************
+Calibration_optim <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO=NULL,quiet=FALSE){
+    
+
+    ##_check_class
+    if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+    if(inherits(RunOptions,"RunOptions")==FALSE){ stop("RunOptions must be of class 'RunOptions' \n"); return(NULL); }  
+    if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); }  
+    if(inherits(CalibOptions,"CalibOptions")==FALSE){ stop("CalibOptions must be of class 'CalibOptions' \n"); return(NULL); }  
+    if(inherits(CalibOptions,"optim")==FALSE){ stop("CalibOptions must be of class 'optim' if Calibration_optim is used \n"); return(NULL); }  
+
+
+    ##_check_FUN_TRANSFO
+    if(is.null(FUN_TRANSFO)){
+      if(identical(FUN_MOD,RunModel_GR4J         )){ FUN_TRANSFO <- TransfoParam_GR4J     ; }
+      if(identical(FUN_MOD,RunModel_GR5J         )){ FUN_TRANSFO <- TransfoParam_GR5J     ; }
+      if(identical(FUN_MOD,RunModel_GR6J         )){ FUN_TRANSFO <- TransfoParam_GR6J     ; }
+      if(identical(FUN_MOD,RunModel_CemaNeige    )){ FUN_TRANSFO <- TransfoParam_CemaNeige; }
+      if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){
+        if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ FUN1 <- TransfoParam_GR4J; FUN2 <- TransfoParam_CemaNeige; }
+        if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ FUN1 <- TransfoParam_GR5J; FUN2 <- TransfoParam_CemaNeige; }
+        if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ FUN1 <- TransfoParam_GR6J; FUN2 <- TransfoParam_CemaNeige; }
+        FUN_TRANSFO <- function(ParamIn,Direction){
+          Bool <- is.matrix(ParamIn);
+          if(Bool==FALSE){ ParamIn <- rbind(ParamIn); }
+          ParamOut <- NA*ParamIn;
+          NParam   <- ncol(ParamIn);
+          ParamOut[,         1:(NParam-2)] <- FUN1(ParamIn[,         1:(NParam-2)],Direction);
+          ParamOut[,(NParam-1):NParam    ] <- FUN2(ParamIn[,(NParam-1):NParam    ],Direction);
+          if(Bool==FALSE){ ParamOut <- ParamOut[1,]; }
+          return(ParamOut);
+        }
+      }
+      if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found (in Calibration function) \n"); return(NULL);  }
+    }
+
+
+    ##_RunModelAndCrit
+    RunModelAndCrit <- function(par,InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO){
+        ParamT <- NA*CalibOptions$FixedParam;
+        ParamT[CalibOptions$OptimParam] <- par;
+        Param <- FUN_TRANSFO(ParamIn=ParamT,Direction="TR");
+        Param[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam];
+        OutputsModel <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param);
+        OutputsCrit <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel);   
+        return(OutputsCrit$CritValue*OutputsCrit$Multiplier);
+    }
+
+
+    ##_temporary_change_of_Outputs_Sim
+    RunOptions$Outputs_Sim <- RunOptions$Outputs_Cal;  ### this reduces the size of the matrix exchange with fortran and therefore speeds the calibration
+    ##_screenPrint
+    if(!quiet){ 
+      cat(paste("\t Calibration in progress (function optim from the stats package) \n",sep=""));
+    }
+    
+
+    ##_lower_and_upper_limit_values (transformed)
+    RangesR <- CalibOptions$SearchRanges;
+    RangesT <- FUN_TRANSFO(RangesR,"RT");
+    lower   <- RangesT[1,CalibOptions$OptimParam];
+    upper   <- RangesT[2,CalibOptions$OptimParam];
+
+    ##_starting_values (transformed)
+    ParamStartT <- FUN_TRANSFO(CalibOptions$StartParam,"RT");
+    par_start   <- ParamStartT[CalibOptions$OptimParam]; 
+
+
+    ##_calibration
+    RESULT <- optim(par=par_start,fn=RunModelAndCrit,gr=NULL,
+                InputsModel,RunOptions,InputsCrit,CalibOptions,FUN_MOD,FUN_CRIT,FUN_TRANSFO,  ## arguments for the RunModelAndCrit function (other than par)
+                method="L-BFGS-B",lower=lower,upper=upper,control=list(),hessian=FALSE)
+    
+
+    ##_outputs_preparation
+    ParamFinalT <- NA*ParamStartT;
+    ParamFinalT[CalibOptions$OptimParam] <- RESULT$par;
+    ParamFinalR <- FUN_TRANSFO(ParamFinalT,"TR");
+    ParamFinalR[!CalibOptions$OptimParam] <- CalibOptions$FixedParam[!CalibOptions$OptimParam];  
+    CritFinal <- RESULT$value;
+
+    ##_storage_of_crit_info
+    OutputsModel  <- FUN_MOD(InputsModel=InputsModel,RunOptions=RunOptions,Param=ParamFinalR);
+    OutputsCrit   <- FUN_CRIT(InputsCrit=InputsCrit,OutputsModel=OutputsModel);   
+    CritName      <- OutputsCrit$CritName;
+    CritBestValue <- OutputsCrit$CritBestValue;
+    Multiplier    <- OutputsCrit$Multiplier;
+
+    ##_screenPrint
+    if(!quiet){ 
+      if(RESULT$convergence==0){ 
+        cat(paste("\t Calibration completed: \n",sep=""));
+        cat(paste("\t     Param = ",paste(formatC(ParamFinalR,format="f",width=8,digits=3),collapse=" , "),"\n",sep=""));
+        cat(paste("\t     Crit ",format(CritName,width=12,justify="left")," = ",formatC(CritFinal*Multiplier,format="f",digits=4),"\n",sep=""));
+      } else {
+        cat(paste("\t Calibration failed: \n",sep=""));
+        cat(paste("\t     ",RESULT$message,sep=""));
+      }
+    }
+    
+    
+    ##_function_output
+    OutputsCalib <- list(as.double(ParamFinalR),CritFinal*Multiplier,as.integer(RESULT$counts[1]),CritName,CritBestValue);
+    names(OutputsCalib) <- c("ParamFinalR","CritFinal","NRuns","CritName","CritBestValue");
+    class(OutputsCalib) <- c("OutputsCalib","optim");
+    return(OutputsCalib);
+
+
+}
+
+
+
+
diff --git a/R/CreateCalibOptions.R b/R/CreateCalibOptions.R
new file mode 100644
index 00000000..c94d5efc
--- /dev/null
+++ b/R/CreateCalibOptions.R
@@ -0,0 +1,226 @@
+#*************************************************************************************************
+#' Creation of the CalibOptions object required to the Calibration functions.
+#'
+#' Users wanting to use FUN_MOD, FUN_CALIB or FUN_TRANSFO functions that are not included in 
+#' the package must create their own CalibOptions object accordingly.
+#*************************************************************************************************
+#' @title  Creation of the CalibOptions object required to the Calibration functions
+#' @author Laurent Coron (June 2014)
+#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}
+#' @example tests/example_Calibration.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________
+#' @param  FUN_MOD             [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)
+#' @param  FUN_CALIB           (optional) [function] calibration algorithm function (e.g. Calibration_HBAN, Calibration_optim), default=Calibration_HBAN
+#' @param  FUN_TRANSFO         (optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined
+#' @param  RunOptions          (optional) [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  OptimParam          (optional) [boolean] vector of booleans indicating which parameters must be optimised (NParam columns, 1 line) 
+#' @param  FixedParam          (optional) [numeric] vector giving the values to allocate to non-optimised parameter values (NParam columns, 1 line)
+#' @param  SearchRanges        (optional) [numeric] matrix giving the ranges of real parameters (NParam columns, 2 lines)
+#'                             \tabular{llllll}{
+#'                                           \tab [X1]   \tab [X2]   \tab [X3]   \tab [...]   \tab [Xi] \cr
+#'                                  [1,]     \tab    0   \tab   -1   \tab    0   \tab  ...    \tab  0.0 \cr
+#'                                  [2,]     \tab 3000   \tab   +1   \tab  100   \tab  ...    \tab  3.0 \cr
+#'                             }
+#' @param  StartParam          (optional) [numeric] vector of parameter values used to start global search calibration procedure (e.g. Calibration_optim)
+#'                             \tabular{llllll}{
+#'                                           \tab [X1]   \tab [X2]   \tab [X3]   \tab [...]   \tab [Xi] \cr
+#'                                           \tab 1000   \tab -0.5   \tab   22   \tab  ...    \tab  1.1 \cr
+#'                             }
+#' @param  StartParamList      (optional) [numeric] matrix of parameter sets used for grid-screening calibration procedure (values in columns, sets in line)
+#'                             \tabular{llllll}{
+#'                                           \tab [X1]   \tab [X2]   \tab [X3]   \tab [...]   \tab [Xi] \cr
+#'                                  [set1]   \tab  800   \tab -0.7   \tab   25   \tab  ...    \tab  1.0 \cr
+#'                                  [set2]   \tab 1000   \tab -0.5   \tab   22   \tab  ...    \tab  1.1 \cr
+#'                                  [...]    \tab  ...   \tab  ...   \tab  ...   \tab  ...    \tab  ... \cr
+#'                                  [set n]  \tab  200   \tab -0.3   \tab   17   \tab  ...    \tab  1.0 \cr
+#'                             }
+#' @param  StartParamDistrib   (optional) [numeric] matrix of parameter values used for grid-screening calibration procedure (values in columns, percentiles in line) \cr
+#'                             \tabular{llllll}{
+#'                                           \tab [X1]   \tab [X2]   \tab [X3]   \tab [...]   \tab [Xi] \cr
+#'                                  [value1] \tab  800   \tab -0.7   \tab   25   \tab  ...    \tab  1.0 \cr
+#'                                  [value2] \tab 1000   \tab   NA   \tab   50   \tab  ...    \tab  1.2 \cr
+#'                                  [value3] \tab 1200   \tab   NA   \tab   NA   \tab  ...    \tab  1.6 \cr
+#'                             }
+#_FunctionOutputs_________________________________________________________________________________
+#' @return  [list] object of class \emph{CalibOptions} containing the data required to evaluate the model outputs; it can include the following:
+#'          \tabular{ll}{
+#'          \emph{$OptimParam       }  \tab   [boolean] vector of booleans indicating which parameters must be optimised \cr
+#'          \emph{$FixedParam       }  \tab   [numeric] vector giving the values to allocate to non-optimised parameter values \cr
+#'          \emph{$SearchRanges     }  \tab   [numeric] matrix giving the ranges of real parameters \cr
+#'          \emph{$StartParam       }  \tab   [numeric] vector of parameter values used to start global search calibration procedure \cr
+#'          \emph{$StartParamList   }  \tab   [numeric] matrix of parameter sets used for grid-screening calibration procedure \cr
+#'          \emph{$StartParamDistrib}  \tab   [numeric] matrix of parameter values used for grid-screening calibration procedure \cr
+#'          }
+#**************************************************************************************************'
+CreateCalibOptions <- function(FUN_MOD,FUN_CALIB=Calibration_HBAN,FUN_TRANSFO=NULL,RunOptions=NULL,OptimParam=NULL,FixedParam=NULL,SearchRanges=NULL,
+                               StartParam=NULL,StartParamList=NULL,StartParamDistrib=NULL){
+
+
+  ObjectClass <- NULL;
+
+  ##check_FUN_MOD
+    BOOL <- FALSE;
+    if(identical(FUN_MOD,RunModel_GR4J         )){ ObjectClass <- c(ObjectClass,"GR4J"         ); BOOL <- TRUE; }
+    if(identical(FUN_MOD,RunModel_GR5J         )){ ObjectClass <- c(ObjectClass,"GR5J"         ); BOOL <- TRUE; }
+    if(identical(FUN_MOD,RunModel_GR6J         )){ ObjectClass <- c(ObjectClass,"GR6J"         ); BOOL <- TRUE; }
+    if(identical(FUN_MOD,RunModel_CemaNeige    )){ ObjectClass <- c(ObjectClass,"CemaNeige"    ); BOOL <- TRUE; }
+    if(identical(FUN_MOD,RunModel_CemaNeigeGR4J)){ ObjectClass <- c(ObjectClass,"CemaNeigeGR4J"); BOOL <- TRUE; }
+    if(identical(FUN_MOD,RunModel_CemaNeigeGR5J)){ ObjectClass <- c(ObjectClass,"CemaNeigeGR5J"); BOOL <- TRUE; }
+    if(identical(FUN_MOD,RunModel_CemaNeigeGR6J)){ ObjectClass <- c(ObjectClass,"CemaNeigeGR6J"); BOOL <- TRUE; }
+    if(!BOOL){ stop("incorrect FUN_MOD for use in CreateCalibOptions \n"); return(NULL); } 
+
+  ##check_FUN_CALIB
+    BOOL <- FALSE;
+    if(identical(FUN_CALIB,Calibration_HBAN )){ ObjectClass <- c(ObjectClass,"HBAN" ); BOOL <- TRUE; }
+    if(identical(FUN_CALIB,Calibration_optim)){ ObjectClass <- c(ObjectClass,"optim"); BOOL <- TRUE; }
+    if(!BOOL){ stop("incorrect FUN_CALIB for use in CreateCalibOptions \n"); return(NULL); } 
+
+  ##check_FUN_TRANSFO
+    if(is.null(FUN_TRANSFO)){
+      ##_set_FUN1
+      if(identical(FUN_MOD,RunModel_GR4J     ) | identical(FUN_MOD,RunModel_CemaNeigeGR4J) ){ FUN1 <- TransfoParam_GR4J     ; }
+      if(identical(FUN_MOD,RunModel_GR5J     ) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) ){ FUN1 <- TransfoParam_GR5J     ; }
+      if(identical(FUN_MOD,RunModel_GR6J     ) | identical(FUN_MOD,RunModel_CemaNeigeGR6J) ){ FUN1 <- TransfoParam_GR6J     ; }
+      if(identical(FUN_MOD,RunModel_CemaNeige)                                             ){ FUN1 <- TransfoParam_CemaNeige; }
+      if(is.null(FUN1)){ stop("FUN1 was not found \n"); return(NULL);  }
+      ##_set_FUN2
+      FUN2 <- TransfoParam_CemaNeige;
+      ##_set_FUN_TRANSFO
+      if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_GR6J) | identical(FUN_MOD,RunModel_CemaNeige)){
+        FUN_TRANSFO <- FUN1; 
+      } else {
+        FUN_TRANSFO <- function(ParamIn,Direction){
+          Bool <- is.matrix(ParamIn);
+          if(Bool==FALSE){ ParamIn <- rbind(ParamIn); }
+          ParamOut <- NA*ParamIn;
+          NParam   <- ncol(ParamIn);
+          if(NParam <= 3){
+          ParamOut[,         1:(NParam-2)] <- FUN1(cbind(ParamIn[,1:(NParam-2)]),Direction);
+          } else {
+          ParamOut[,         1:(NParam-2)] <- FUN1(ParamIn[,1:(NParam-2)     ],Direction); }
+          ParamOut[,(NParam-1):NParam    ] <- FUN2(ParamIn[,(NParam-1):NParam],Direction);
+          if(Bool==FALSE){ ParamOut <- ParamOut[1,]; }
+          return(ParamOut);
+        }
+      }
+    }
+    if(is.null(FUN_TRANSFO)){ stop("FUN_TRANSFO was not found \n"); return(NULL);  }
+
+  ##check_RunOptions
+    if(!is.null(RunOptions)){ 
+      if(inherits(RunOptions,"RunOptions")==FALSE){ stop("RunOptions must be of class 'RunOptions' if not null= \n"); return(NULL); }  
+    }
+
+  ##NParam
+    if("GR4J"          %in% ObjectClass){ NParam <- 4; }
+    if("GR5J"          %in% ObjectClass){ NParam <- 5; }
+    if("GR6J"          %in% ObjectClass){ NParam <- 6; }
+    if("CemaNeige"     %in% ObjectClass){ NParam <- 2; }
+    if("CemaNeigeGR4J" %in% ObjectClass){ NParam <- 6; }
+    if("CemaNeigeGR5J" %in% ObjectClass){ NParam <- 7; }
+    if("CemaNeigeGR6J" %in% ObjectClass){ NParam <- 8; }
+
+  ##check_OptimParam
+    if(is.null(OptimParam)){
+      OptimParam <- rep(TRUE,NParam);
+    } else {
+      if(!is.vector(OptimParam)    ){ stop("OptimParam must be a vector of booleans \n"); return(NULL);  }
+      if(length(OptimParam)!=NParam){ stop("Incompatibility between OptimParam length and FUN_MOD \n"); return(NULL);  }
+      if(!is.logical(OptimParam)   ){ stop("OptimParam must be a vector of booleans \n"); return(NULL);  }
+    }
+
+  ##check_FixedParam
+    if(is.null(FixedParam)){
+      FixedParam <- rep(NA,NParam);
+    } else {
+      if(!is.vector(FixedParam)              ){ stop("FixedParam must be a vector \n"); return(NULL);  }
+      if(length(FixedParam)!=NParam          ){ stop("Incompatibility between OptimParam length and FUN_MOD \n"); return(NULL);  }
+      if(!is.numeric(FixedParam[!OptimParam])){ stop("if OptimParam[i]==FALSE, FixedParam[i] must be a numeric value \n"); return(NULL);  }
+    }
+
+  ##check_SearchRanges
+    if(is.null(SearchRanges)){
+      ParamT <- matrix(c(rep(-9.99,NParam),rep(+9.99,NParam)),ncol=NParam,byrow=TRUE);
+      SearchRanges <- TransfoParam(ParamIn=ParamT,Direction="TR",FUN_TRANSFO=FUN_TRANSFO);
+    } else {
+      if(!is.matrix( SearchRanges)  ){ stop("SearchRanges must be a matrix \n"); return(NULL);  }
+      if(!is.numeric(SearchRanges)  ){ stop("SearchRanges must be a matrix of numeric values \n"); return(NULL);  }
+      if(sum(is.na(SearchRanges))!=0){ stop("SearchRanges must not include NA values \n"); return(NULL);  }
+      if(nrow(SearchRanges)!=2      ){ stop("SearchRanges must have 2 rows \n"); return(NULL);  }
+      if(ncol(SearchRanges)!=NParam ){ stop("Incompatibility between SearchRanges ncol and FUN_MOD \n"); return(NULL);  }
+    }
+
+  ##check_StartParamList_and_StartParamDistrib__default_values
+    if( ("HBAN"  %in% ObjectClass & is.null(StartParamList) & is.null(StartParamDistrib)) |
+        ("optim" %in% ObjectClass & is.null(StartParam)) ){
+
+      if("GR4J"%in% ObjectClass){ 
+        ParamT <- matrix( c( +3.60, -2.00, +3.40, -9.10,
+                             +3.90, -0.90, +4.10, -8.70,
+                             +4.50, -0.10, +5.00, -8.10),ncol=NParam,byrow=TRUE); }
+      if("GR5J"%in% ObjectClass){ 
+        ParamT <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70,
+                             +3.90, -0.60, +4.10, -8.70, +0.30,
+                             +4.50, -0.10, +5.00, -8.10, +0.50),ncol=NParam,byrow=TRUE); }
+      if("GR6J"%in% ObjectClass){ 
+        ParamT <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00,
+                             +3.90, -0.50, +4.10, -8.70, +0.10, +4.00,
+                             +4.50, +0.50, +5.00, -8.10, +1.10, +5.00),ncol=NParam,byrow=TRUE); }
+      if("CemaNeige"%in% ObjectClass){ 
+        ParamT <- matrix( c( -6.26, +0.55,
+                             -2.13, +0.92,
+                             +4.86, +1.40),ncol=NParam,byrow=TRUE); }
+      if("CemaNeigeGR4J"%in% ObjectClass){ 
+        ParamT <- matrix( c( +3.60, -2.00, +3.40, -9.10, -6.26, +0.55,
+                             +3.90, -0.90, +4.10, -8.70, -2.13, +0.92,
+                             +4.50, -0.10, +5.00, -8.10, +4.86, +1.40),ncol=NParam,byrow=TRUE); }
+      if("CemaNeigeGR5J"%in% ObjectClass){ 
+        ParamT <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70, -6.26, +0.55,
+                             +3.90, -0.60, +4.10, -8.70, +0.30, -2.13, +0.92,
+                             +4.50, -0.10, +5.00, -8.10, +0.50, +4.86, +1.40),ncol=NParam,byrow=TRUE); }
+      if("CemaNeigeGR6J"%in% ObjectClass){ 
+        ParamT <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00, -6.26, +0.55,
+                             +3.90, -0.50, +4.10, -8.70, +0.10, +4.00, -2.13, +0.92,
+                             +4.50, +0.50, +5.00, -8.10, +1.10, +5.00, +4.86, +1.40),ncol=NParam,byrow=TRUE); }
+
+      StartParamList    <- NULL;
+      StartParamDistrib <- TransfoParam(ParamIn=ParamT,Direction="TR",FUN_TRANSFO=FUN_TRANSFO);
+      StartParam        <- StartParamDistrib[2,];
+    }
+
+  ##check_StartParamList_and_StartParamDistrib__format
+    if("HBAN" %in% ObjectClass & !is.null(StartParamList)){
+      if(!is.matrix( StartParamList)  ){ stop("StartParamList must be a matrix \n"); return(NULL);  }
+      if(!is.numeric(StartParamList)  ){ stop("StartParamList must be a matrix of numeric values \n"); return(NULL);  }
+      if(sum(is.na(StartParamList))!=0){ stop("StartParamList must not include NA values \n"); return(NULL);  }
+      if(ncol(StartParamList)!=NParam ){ stop("Incompatibility between StartParamList ncol and FUN_MOD \n"); return(NULL);  }
+    }
+    if("HBAN" %in% ObjectClass & !is.null(StartParamDistrib)){
+      if(!is.matrix( StartParamDistrib)      ){ stop("StartParamDistrib must be a matrix \n"); return(NULL);  }
+      if(!is.numeric(StartParamDistrib[1,])  ){ stop("StartParamDistrib must be a matrix of numeric values \n"); return(NULL);  }
+      if(sum(is.na(StartParamDistrib[1,]))!=0){ stop("StartParamDistrib must not include NA values on the first line \n"); return(NULL);  }
+      if(ncol(StartParamDistrib)!=NParam     ){ stop("Incompatibility between StartParamDistrib ncol and FUN_MOD \n"); return(NULL);  }
+    }
+    if("optim" %in% ObjectClass & !is.null(StartParam)){
+      if(!is.vector( StartParam)    ){ stop("StartParam must be a vector \n"); return(NULL);  }
+      if(!is.numeric(StartParam)    ){ stop("StartParam must be a vector of numeric values \n"); return(NULL);  }
+      if(sum(is.na(StartParam))!=0  ){ stop("StartParam must not include NA values \n"); return(NULL);  }
+      if(length(StartParam)!=NParam ){ stop("Incompatibility between StartParam length and FUN_MOD \n"); return(NULL);  }
+    }
+
+
+  ##Create_CalibOptions
+    CalibOptions <- list(OptimParam=OptimParam,FixedParam=FixedParam,SearchRanges=SearchRanges);
+    if(!is.null(StartParam       )){ CalibOptions <- c(CalibOptions,list(StartParam=StartParam)); }
+    if(!is.null(StartParamList   )){ CalibOptions <- c(CalibOptions,list(StartParamList=StartParamList)); }
+    if(!is.null(StartParamDistrib)){ CalibOptions <- c(CalibOptions,list(StartParamDistrib=StartParamDistrib)); }
+    class(CalibOptions) <- c("CalibOptions",ObjectClass);
+    return(CalibOptions);
+
+
+}
+
+
+
diff --git a/R/CreateInputsCrit.R b/R/CreateInputsCrit.R
new file mode 100644
index 00000000..5dcd672c
--- /dev/null
+++ b/R/CreateInputsCrit.R
@@ -0,0 +1,81 @@
+#*************************************************************************************************
+#' Creation of the InputsCrit object required to the ErrorCrit functions.
+#'
+#' Users wanting to use FUN_CRIT functions that are not included in 
+#' the package must create their own InputsCrit object accordingly.
+#*************************************************************************************************
+#' @title  Creation of the InputsCrit object required to the ErrorCrit functions
+#' @author Laurent Coron (June 2014)
+#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateCalibOptions}}
+#' @example tests/example_ErrorCrit.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________
+#' @param  FUN_CRIT     [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)
+#' @param  InputsModel  [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions   [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Qobs         [numeric] series of observed discharges [mm]
+#' @param  BoolCrit     (optional) [boolean] boolean giving the time steps to consider in the computation (all time steps are consider by default)
+#' @param  transfo      (optional) [character] name of the transformation (e.g. "", "sqrt", "log", "inv", "sort")
+#' @param  Ind_zeroes   (optional) [numeric] indices of the time-steps where zeroes are observed
+#' @param  epsilon      (optional) [numeric] epsilon to add to all Qobs and Qsim if \emph{$Ind_zeroes} is not empty
+#_FunctionOutputs_________________________________________________________________________________
+#' @return  [list] object of class \emph{InputsCrit} containing the data required to evaluate the model outputs; it can include the following:
+#'          \tabular{ll}{
+#'          \emph{$BoolCrit  }  \tab   [boolean] boolean giving the time steps to consider in the computation \cr
+#'          \emph{$Qobs      }  \tab   [numeric] series of observed discharges [mm] \cr
+#'          \emph{$transfo   }  \tab   [character] name of the transformation (e.g. "", "sqrt", "log", "inv", "sort") \cr
+#'          \emph{$Ind_zeroes}  \tab   [numeric] indices of the time-steps where zeroes are observed \cr
+#'          \emph{$epsilon   }  \tab   [numeric] epsilon to add to all Qobs and Qsim if \emph{$Ind_zeroes} is not empty \cr
+#'          }
+#**************************************************************************************************
+CreateInputsCrit <- function(FUN_CRIT,InputsModel,RunOptions,Qobs,BoolCrit=NULL,transfo="",Ind_zeroes=NULL,epsilon=NULL){
+
+  ObjectClass <- NULL;
+
+  ##check_FUN_CRIT
+    BOOL <- FALSE;
+    if(identical(FUN_CRIT,ErrorCrit_RMSE) | identical(FUN_CRIT,ErrorCrit_NSE) | identical(FUN_CRIT,ErrorCrit_KGE) | identical(FUN_CRIT,ErrorCrit_KGE2)){
+      BOOL <- TRUE; 
+    }
+    if(!BOOL){ stop("incorrect FUN_CRIT for use in CreateInputsCrit \n"); return(NULL); } 
+
+  ##check_arguments
+    if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n" ); return(NULL); } 
+    if(inherits(RunOptions ,"RunOptions" )==FALSE){ stop("RunOptions must be of class 'RunOptions' \n" ); return(NULL); } 
+    LLL <- length(InputsModel$DatesR[RunOptions$IndPeriod_Run])
+
+    if(is.null(Qobs)    ){ stop("Qobs is missing \n"); return(NULL); } 
+    if(!is.vector( Qobs)){ stop(paste("Qobs must be a vector of numeric values \n",sep="")); return(NULL); }
+    if(!is.numeric(Qobs)){ stop(paste("Qobs must be a vector of numeric values \n",sep="")); return(NULL); }
+    if(length(Qobs)!=LLL){ stop("Qobs and InputsModel series must have the same length \n"); return(NULL); } 
+
+    if(is.null(BoolCrit)){ BoolCrit <- rep(TRUE,length(Qobs)); }
+    if(!is.logical(BoolCrit)){ stop("BoolCrit must be a vector of boolean \n" ); return(NULL); } 
+    if(length(BoolCrit)!=LLL){ stop("BoolCrit and InputsModel series must have the same length \n"); return(NULL); } 
+
+    if(is.null(transfo)      ){ stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } 
+    if(!is.vector(   transfo)){ stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } 
+    if(length(transfo)!=1    ){ stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } 
+    if(!is.character(transfo)){ stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } 
+    if(transfo %in% c("","sqrt","log","inv") == FALSE){
+                                stop("transfo must be a chosen among the following: '', 'sqrt', 'log' or 'inv' \n"); return(NULL); } 
+
+    if(!is.null(Ind_zeroes)){
+      if(!is.vector( Ind_zeroes)){ stop("Ind_zeroes must be a vector of integers \n" ); return(NULL); } 
+      if(!is.integer(Ind_zeroes)){ stop("Ind_zeroes must be a vector of integers \n" ); return(NULL); } 
+    }
+    if(!is.null(epsilon)){
+      if(!is.vector( epsilon) | length(epsilon)!=1 | !is.numeric(epsilon)){ 
+        stop("epsilon must be single numeric value \n" ); return(NULL); }
+      epsilon=as.double(epsilon);
+    }
+
+  ##Create_InputsCrit
+    InputsCrit <- list(BoolCrit=BoolCrit,Qobs=Qobs,transfo=transfo,Ind_zeroes=Ind_zeroes,epsilon=epsilon);
+    class(InputsCrit) <- c("InputsCrit",ObjectClass);
+    return(InputsCrit);
+
+
+}
+
diff --git a/R/CreateInputsModel.R b/R/CreateInputsModel.R
new file mode 100644
index 00000000..e1b8be1a
--- /dev/null
+++ b/R/CreateInputsModel.R
@@ -0,0 +1,156 @@
+#*************************************************************************************************
+#' Creation of the InputsModel object required to the RunModel functions.
+#'
+#' Users wanting to use FUN_MOD functions that are not included in 
+#' the package must create their own InputsModel object accordingly.
+#*************************************************************************************************
+#' @title  Creation of the InputsModel object required to the RunModel functions
+#' @author Laurent Coron (June 2014)
+#' @seealso \code{\link{RunModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}, \code{\link{DataAltiExtrapolation_HBAN}}
+#' @example tests/example_RunModel.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________
+#' @param  FUN_MOD     [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)
+#' @param  DatesR      [POSIXlt] vector of dates required to create the GR model and CemaNeige module inputs
+#' @param  Precip      [numeric] time series of daily total precipitation (catchment average) [mm], required to create the GR model and CemaNeige module inputs
+#' @param  PotEvap     [numeric] time series of daily potential evapotranspiration (catchment average) [mm], required to create the GR model inputs
+#' @param  TempMean    [numeric] time series of daily mean air temperature [degC], required to create the CemaNeige module inputs
+#' @param  TempMin     (optional) [numeric] time series of daily min air temperature [degC], possibly used to create the CemaNeige module inputs
+#' @param  TempMax     (optional) [numeric] time series of daily max air temperature [degC], possibly used to create the CemaNeige module inputs
+#' @param  ZInputs     (optional) [numeric] real giving the mean elevation of the Precip and Temp series (before extrapolation) [m]
+#' @param  HypsoData   (optional) [numeric] vector of 101 reals: min, q01 to q99 and max of catchment elevation distribution [m], required to create the GR model inputs, if not defined a single elevation is used for CemaNeige
+#' @param  NLayers     (optional) [numeric] integer giving the number of elevation layers requested [-], required to create the GR model inputs, default=5
+#' @param  quiet       (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________
+#' @return  [list] object of class \emph{InputsModel} containing the data required to evaluate the model outputs; it can include the following:
+#'          \tabular{ll}{
+#'          \emph{$DatesR              }  \tab   [POSIXlt] vector of dates \cr
+#'          \emph{$Precip              }  \tab   [numeric] time series of daily total precipitation (catchment average) [mm] \cr
+#'          \emph{$PotEvap             }  \tab   [numeric] time series of daily potential evapotranspiration (catchment average) [mm], \cr\tab defined if FUN_MOD includes GR4J, GR5J or GR6J \cr \cr
+#'          \emph{$LayerPrecip         }  \tab   [list] list of time series of daily precipitation (layer average) [mm], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr
+#'          \emph{$LayerTempMean       }  \tab   [list] list of time series of daily mean air temperature (layer average) [degC], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr
+#'          \emph{$LayerFracSolidPrecip}  \tab   [list] list of time series of daily solid precip. fract. (layer average) [-], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr
+#'          }
+#**************************************************************************************************
+CreateInputsModel <- function(FUN_MOD,DatesR,Precip,PotEvap=NULL,TempMean=NULL,TempMin=NULL,TempMax=NULL,ZInputs=NULL,HypsoData=NULL,NLayers=5,quiet=FALSE){
+
+  ObjectClass <- NULL;
+
+  ##check_FUN_MOD
+    BOOL <- FALSE;
+    if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_GR6J)){
+      ObjectClass <- c(ObjectClass,"daily","GR"); 
+      TimeStep <- as.integer(24*60*60);
+      BOOL <- TRUE; 
+    }
+    if(identical(FUN_MOD,RunModel_CemaNeige)){
+      ObjectClass <- c(ObjectClass,"daily","CemaNeige");
+      TimeStep <- as.integer(24*60*60);
+      BOOL <- TRUE; 
+    }
+    if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){
+      ObjectClass <- c(ObjectClass,"daily","GR","CemaNeige");
+      TimeStep <- as.integer(24*60*60);
+      BOOL <- TRUE; 
+    }
+    if(!BOOL){ stop("incorrect FUN_MOD for use in CreateInputsModel \n"); return(NULL); } 
+
+  ##check_arguments
+    if("GR" %in% ObjectClass | "CemaNeige" %in% ObjectClass){
+      if(is.null(DatesR)){ stop("DatesR is missing \n"); return(NULL); } 
+      if("POSIXlt" %in% class(DatesR) == FALSE & "POSIXct" %in% class(DatesR) == FALSE){ stop("DatesR must be defined as POSIXlt or POSIXct \n"); return(NULL); }
+      if("POSIXlt" %in% class(DatesR) == FALSE){ DatesR <- as.POSIXlt(DatesR); }
+      if(difftime(tail(DatesR,1),tail(DatesR,2),units="secs")[[1]]!=TimeStep){ stop(paste("the time step of the model inputs must be ",TimeStep," seconds \n",sep="")); return(NULL); }    
+      LLL <- length(DatesR);
+    }
+    if("GR" %in% ObjectClass){
+      if(is.null(Precip  )){ stop("Precip is missing \n"  ); return(NULL); } 
+      if(is.null(PotEvap )){ stop("PotEvap is missing \n" ); return(NULL); } 
+      if(!is.vector( Precip) | !is.vector( PotEvap)){ stop("Precip and PotEvap must be vectors of numeric values \n"); return(NULL); } 
+      if(!is.numeric(Precip) | !is.numeric(PotEvap)){ stop("Precip and PotEvap must be vectors of numeric values \n"); return(NULL); } 
+      if(length(Precip)!=LLL | length(PotEvap)!=LLL){ stop("Precip, PotEvap and DatesR must have the same length \n"); return(NULL); } 
+    }
+    if("CemaNeige" %in% ObjectClass){
+      if(is.null(Precip  )){ stop("Precip is missing \n"  ); return(NULL); } 
+      if(is.null(TempMean)){ stop("TempMean is missing \n"); return(NULL); } 
+      if(!is.vector( Precip) | !is.vector( TempMean)){ stop("Precip and TempMean must be vectors of numeric values \n"); return(NULL); } 
+      if(!is.numeric(Precip) | !is.numeric(TempMean)){ stop("Precip and TempMean must be vectors of numeric values \n"); return(NULL); } 
+      if(length(Precip)!=LLL | length(TempMean)!=LLL){ stop("Precip, TempMean and DatesR must have the same length \n"); return(NULL); } 
+      if(is.null(TempMin)!=is.null(TempMax)){ stop("TempMin and TempMax must be both defined if not null \n"); return(NULL); }
+      if(!is.null(TempMin) & !is.null(TempMax)){ 
+        if(!is.vector( TempMin) | !is.vector( TempMax)){ stop("TempMin and TempMax must be vectors of numeric values \n"); return(NULL); } 
+        if(!is.numeric(TempMin) | !is.numeric(TempMax)){ stop("TempMin and TempMax must be vectors of numeric values \n"); return(NULL); } 
+        if(length(TempMin)!=LLL | length(TempMax)!=LLL){ stop("TempMin, TempMax and DatesR must have the same length \n"); return(NULL); }
+      }
+      if(!is.null(HypsoData)){ 
+        if(!is.vector( HypsoData)){ stop("HypsoData must be a vector of numeric values  if not null \n"); return(NULL); } 
+        if(!is.numeric(HypsoData)){ stop("HypsoData must be a vector of numeric values  if not null \n"); return(NULL); } 
+        if(length(HypsoData)!=101){ stop("HypsoData must be of length 101 if not null \n"); return(NULL); } 
+        if(sum(is.na(HypsoData))!=0 & sum(is.na(HypsoData))!=101){ stop("HypsoData must not contain any NA if not null \n"); return(NULL); } 
+      }
+      if(!is.null(ZInputs)){
+        if(length(ZInputs)!=1                   ){ stop("\t ZInputs must be a single numeric value if not null \n"); return(NULL); } 
+        if(is.na(ZInputs) | !is.numeric(ZInputs)){ stop("\t ZInputs must be a single numeric value if not null \n"); return(NULL); } 
+      }
+      if(is.null(HypsoData)){ 
+        if(!quiet){ warning("\t HypsoData is missing => a single layer is used and no extrapolation is made \n"); }
+        HypsoData <- as.numeric(rep(NA,101)); ZInputs <- as.numeric(NA); NLayers <- as.integer(1);
+      }
+      if(is.null(ZInputs)){ 
+        if(!quiet & !identical(HypsoData,as.numeric(rep(NA,101)))){ warning("\t ZInputs is missing => HypsoData[51] is used \n"); }
+        ZInputs <- HypsoData[51];
+      }
+    }
+
+
+  ##check_NA_values
+    BOOL_NA <- rep(FALSE,length(DatesR));
+    if("GR" %in% ObjectClass){
+      BOOL_NA_TMP <- (Precip  < 0) | is.na(Precip );  if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < 0 or NA values detected in Precip series  \n"); } } 
+      BOOL_NA_TMP <- (PotEvap < 0) | is.na(PotEvap);  if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < 0 or NA values detected in PotEvap series \n"); } } 
+    }
+    if("CemaNeige" %in% ObjectClass){
+      BOOL_NA_TMP <- (Precip  < 0    ) | is.na(Precip  );  if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < 0 or NA values detected in Precip series       \n"); } } 
+      BOOL_NA_TMP <- (TempMean<(-150)) | is.na(TempMean);  if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < -150) or NA values detected in TempMean series \n"); } }
+      if(!is.null(TempMin) & !is.null(TempMax)){
+      BOOL_NA_TMP <- (TempMin<(-150)) | is.na(TempMin);  if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < -150) or NA values detected in TempMin series \n"); } }
+      BOOL_NA_TMP <- (TempMax<(-150)) | is.na(TempMax);  if(sum(BOOL_NA_TMP)!=0){ BOOL_NA <- BOOL_NA | BOOL_NA_TMP; if(!quiet){ warning("\t Values < -150) or NA values detected in TempMax series \n"); } } }
+    }
+    if(sum(BOOL_NA)!=0){
+      WTxt <- NULL;
+      WTxt <- paste(WTxt,"\t Missing values are not allowed in InputsModel \n",sep="");
+      Select <- (max(which(BOOL_NA))+1):length(BOOL_NA);
+      if(Select[1]>Select[2]){ stop(paste("time series could not be trunced since missing values were detected at the list time-step  \n",sep="")); return(NULL); }
+      if("GR" %in% ObjectClass){
+        Precip <- Precip[Select];  PotEvap <- PotEvap[Select]; }
+      if("CemaNeige" %in% ObjectClass){
+        Precip <- Precip[Select];  TempMean <- TempMean[Select]; if(!is.null(TempMin) & !is.null(TempMax)){ TempMin <- TempMin[Select]; TempMax <- TempMax[Select]; } }
+      WTxt <- paste(WTxt,"\t -> data were trunced to keep the most recent available time-steps \n",sep="");
+      WTxt <- paste(WTxt,"\t -> ",length(Select)," time-steps were kept \n",sep="");
+      if(!is.null(WTxt) & !quiet){ warning(WTxt); }
+    }
+
+
+  ##DataAltiExtrapolation_HBAN
+    if("CemaNeige" %in% ObjectClass){
+      RESULT <- DataAltiExtrapolation_HBAN(DatesR=DatesR,Precip=Precip,TempMean=TempMean,TempMin=TempMin,TempMax=TempMax,ZInputs=ZInputs,HypsoData=HypsoData,NLayers=NLayers,quiet=quiet);
+      if(!quiet){ if(NLayers==1){ cat(paste("\t Input series were successfully created on 1 elevation layer for use by CemaNeige \n",sep=""));
+                         } else { cat(paste("\t Input series were successfully created on ",NLayers," elevation layers for use by CemaNeige \n",sep="")); } }
+    }
+
+
+  ##Create_InputsModel
+    InputsModel <- list(DatesR=DatesR);
+    if("GR" %in% ObjectClass){
+      InputsModel <- c(InputsModel,list(Precip=as.double(Precip),PotEvap=as.double(PotEvap)));    }
+    if("CemaNeige" %in% ObjectClass){
+      InputsModel <- c(InputsModel,list(LayerPrecip=RESULT$LayerPrecip,LayerTempMean=RESULT$LayerTempMean,
+                                        LayerFracSolidPrecip=RESULT$LayerFracSolidPrecip,ZLayers=RESULT$ZLayers));    }
+
+    class(InputsModel) <- c("InputsModel",ObjectClass);
+    return(InputsModel);
+
+
+}
+
diff --git a/R/CreateRunOptions.R b/R/CreateRunOptions.R
new file mode 100644
index 00000000..f5c778d8
--- /dev/null
+++ b/R/CreateRunOptions.R
@@ -0,0 +1,260 @@
+#*************************************************************************************************
+#' Creation of the RunOptions object required to the RunModel functions.
+#'
+#' Users wanting to use FUN_MOD functions that are not included in 
+#' the package must create their own RunOptions object accordingly.
+#' 
+#' ##### Initialisation options #####
+#' 
+#' The model initialisation options can either be set to a default configuration or be defined by the user.
+#' 
+#' This is done via three vectors: \cr \emph{IndPeriod_WarmUp}, \emph{IniStates}, \emph{IniResLevels}. \cr
+#' A default configuration is used for initialisation if these vectors are not defined.
+#' 
+#' (1) Default initialisation options:
+#' 
+#' \itemize{
+#' \item \emph{IndPeriod_WarmUp} default setting ensures a one-year warm-up using the time-steps preceding the \emph{IndPeriod_Run}. 
+#' The actual length of this warm-up might be shorter depending on data availability (no missing value being allowed on model input series).
+#' 
+#' \item \emph{IniStates} and \emph{IniResLevels} are automatically set to initialise all the model states at 0, except for the production and routing stores which are initialised at 50\% of their capacity. This initialisation is made at the very beginning of the model call (i.e. at the beginning of \emph{IndPeriod_WarmUp} or at the beginning of IndPeriod_Run if the warm-up period is disabled).
+#' }
+#' 
+#' (2) Customisation of initialisation options:
+#' 
+#' \itemize{
+#' \item \emph{IndPeriod_WarmUp} can be used to specify the indices of the warm-up period (within the time-series prepared in InputsModel). \cr
+#' - remark 1:	for most common cases, indices corresponding to one or several years preceding \emph{IndPeriod_Run} are used (e.g. \emph{IndPeriod_WarmUp <- 1000:1365} and \emph{IndPeriod_Run <- 1366:5000)}. \cr
+#' However, it is also possible to perform a long-term initialisation if other indices than the warm-up ones are set in \emph{IndPeriod_WarmUp} (e.g. \emph{IndPeriod_WarmUp <- c( 1:5000 , 1:5000 , 1:5000 ,1000:1365 )}). \cr
+#' - remark 2:	it is also possible to completely disable the warm-up period when using \emph{IndPeriod_WarmUp <- 0}.
+#' 
+#' \item \emph{IniStates} and \emph{IniResLevels} can be used to specify the initial model states. \cr
+#' - remark 1:	if \emph{IniStates} is used, all model states must be provided (e.g. 60 floats [mm] are required for GR4J, GR5J and GR6J; 60+2*NLayers floats [mm] are required for CemaNeigeGR4J, CemaNeigeGR5J and CemaNeigeGR6J; see fortran source code for details). \cr
+#' - remark 2:	in addition to \emph{IniStates}, \emph{IniResLevels} allows to set the filling rate of the production and routing stores for the GR models. For instance for GR4J, GR5J and GR6J: \emph{IniResLevels <- c(0.3,0.5)} should be used to obtain initial fillings of 30\% and 50\% for the production and routing stores, respectively.  \emph{IniResLevels} is optional and can only be used if \emph{IniStates} is also defined (the state values corresponding to these two stores in \emph{IniStates} are not used in such case). \cr \cr
+#' }
+#*************************************************************************************************
+#' @title  Creation of the RunOptions object required to the RunModel functions
+#' @author Laurent Coron (June 2014)
+#' @seealso \code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}
+#' @example tests/example_RunModel.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________
+#' @param  FUN_MOD             [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  IndPeriod_WarmUp    (optional) [numeric] index of period to be used for the model warm-up [-]
+#' @param  IndPeriod_Run       [numeric] index of period to be used for the model run [-]
+#' @param  IniStates           (optional) [numeric] vector of initial model states [mm]
+#' @param  IniResLevels        (optional) [numeric] vector of initial filling rates for production and routing stores (2 values between 0 and 1) [-]
+#' @param  Outputs_Cal         (optional) [character] vector giving the outputs needed for the calibration \cr (e.g. c("Qsim")), the least outputs the fastest the calibration
+#' @param  Outputs_Sim         (optional) [character] vector giving the requested outputs \cr (e.g. c("DatesR","Qsim","SnowPack")), default="all"
+#' @param  RunSnowModule       (optional) [boolean] option indicating whether CemaNeige should be activated, default=TRUE
+#' @param  MeanAnSolidPrecip   (optional) [numeric] vector giving the annual mean of average solid precipitation for each layer (computed from InputsModel if not defined) [mm/y]
+#' @param  quiet               (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________
+#' @return  [list] object of class \emph{RunOptions} containing the data required to evaluate the model outputs; it can include the following:
+#'          \tabular{ll}{
+#'          \emph{IndPeriod_WarmUp }  \tab  [numeric] index of period to be used for the model warm-up [-] \cr
+#'          \emph{IndPeriod_Run    }  \tab  [numeric] index of period to be used for the model run [-] \cr
+#'          \emph{IniStates        }  \tab  [numeric] vector of initial model states [mm] \cr
+#'          \emph{IniResLevels     }  \tab  [numeric] vector of initial filling rates for production and routing stores [-] \cr
+#'          \emph{Outputs_Cal      }  \tab  [character] character vector giving only the outputs needed for the calibration \cr
+#'          \emph{Outputs_Sim      }  \tab  [character] character vector giving the requested outputs \cr
+#'          \emph{RunSnowModule    }  \tab  [boolean] option indicating whether CemaNeige should be activated \cr
+#'          \emph{MeanAnSolidPrecip}  \tab  [numeric] vector giving the annual mean of average solid precipitation for each layer [mm/y] \cr
+#'          }
+#**************************************************************************************************'
+CreateRunOptions <- function(FUN_MOD,InputsModel,IndPeriod_WarmUp=NULL,IndPeriod_Run,IniStates=NULL,IniResLevels=NULL,
+                             Outputs_Cal=NULL,Outputs_Sim="all",RunSnowModule=TRUE,MeanAnSolidPrecip=NULL,quiet=FALSE){
+
+
+  ObjectClass <- NULL;
+
+
+  ##check_FUN_MOD
+    BOOL <- FALSE;
+    if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_GR6J)){
+      ObjectClass <- c(ObjectClass,"GR","daily"); 
+      BOOL <- TRUE; 
+    }
+    if(identical(FUN_MOD,RunModel_CemaNeige)){
+      ObjectClass <- c(ObjectClass,"CemaNeige","daily");
+      BOOL <- TRUE; 
+    }
+    if(identical(FUN_MOD,RunModel_CemaNeigeGR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){
+      ObjectClass <- c(ObjectClass,"GR","CemaNeige","daily");
+      BOOL <- TRUE; 
+    }
+    if(!BOOL){ stop("incorrect FUN_MOD for use in CreateRunOptions \n"); return(NULL); } 
+
+
+  ##check_InputsModel
+    if(!inherits(InputsModel,"InputsModel")){
+      stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } 
+    if("daily" %in% ObjectClass & !inherits(InputsModel,"daily")){
+      stop("InputsModel must be of class 'daily' \n"); return(NULL); } 
+
+
+  ##check_IndPeriod_Run
+    if(!is.vector( IndPeriod_Run)){ stop("IndPeriod_Run must be a vector of numeric values \n"); return(NULL); } 
+    if(!is.numeric(IndPeriod_Run)){ stop("IndPeriod_Run must be a vector of numeric values \n"); return(NULL); } 
+    if(identical(as.integer(IndPeriod_Run),as.integer(seq(from=IndPeriod_Run[1],to=tail(IndPeriod_Run,1),by=1)))==FALSE){
+      stop("IndPeriod_Run must be a continuous sequence of integers \n"); return(NULL); } 
+    if(storage.mode(IndPeriod_Run)!="integer"){ stop("IndPeriod_Run should be of type integer \n"); return(NULL); } 
+
+
+  ##check_IndPeriod_WarmUp
+    WTxt <- NULL;
+    if(is.null(IndPeriod_WarmUp)){
+      WTxt <- paste(WTxt,"\t Model warm-up period not defined -> default configuration used \n",sep="");
+      ##If_the_run_period_starts_at_the_very_beginning_of_the_time_series
+      if(IndPeriod_Run[1]==as.integer(1)){
+        IndPeriod_WarmUp <- as.integer(0);
+        WTxt <- paste(WTxt,"\t    No data were found for model warm-up! \n",sep="");
+      ##We_look_for_the_longest_period_preceeding_the_run_period_with_a_maximum_of_one_year
+      } else {
+        TmpDateR <- InputsModel$DatesR[IndPeriod_Run[1]] - 365*24*60*60; ### minimal date to start the warmup        
+        IndPeriod_WarmUp <- which(InputsModel$DatesR==max(InputsModel$DatesR[1],TmpDateR)) : (IndPeriod_Run[1]-1); 
+        if("daily"   %in% ObjectClass){ TimeStep <- as.integer(       24*60*60); }
+        if(length(IndPeriod_WarmUp)*TimeStep/(365*24*60*60)>=1){ 
+        WTxt <- paste(WTxt,"\t    The year preceding the run period is used \n",sep="");
+        } else {
+        WTxt <- paste(WTxt,"\t    Less than a year (without missing values) was found for model warm-up: \n",sep="");
+        WTxt <- paste(WTxt,"\t    Only ",length(IndPeriod_WarmUp)," time-steps are used!                 \n",sep=""); 
+        }
+      }
+    }
+    if(!is.null(IndPeriod_WarmUp)){
+      if(!is.vector( IndPeriod_WarmUp)){ stop("IndPeriod_Run must be a vector of numeric values \n"); return(NULL); } 
+      if(!is.numeric(IndPeriod_WarmUp)){ stop("IndPeriod_Run must be a vector of numeric values \n"); return(NULL); } 
+      if(storage.mode(IndPeriod_WarmUp)!="integer"){ stop("IndPeriod_Run should be of type integer \n"); return(NULL); } 
+      if(identical(IndPeriod_WarmUp,as.integer(0))){
+        WTxt <- paste(WTxt,"\t No warm-up period is used! \n",sep=""); }
+      if((IndPeriod_Run[1]-1)!=tail(IndPeriod_WarmUp,1)){ 
+        WTxt <- paste(WTxt,"\t Model warm-up period is not directly before the model run period \n",sep=""); }
+    }
+    if(!is.null(WTxt) & !quiet){ warning(WTxt); }
+
+
+  ##check_IniStates_and_IniResLevels
+    if(is.null(IniStates) & is.null(IniResLevels) & !quiet){ 
+      warning("\t Model states initialisation not defined -> default configuration used \n"); }
+    if("GR" %in% ObjectClass){ 
+      if("daily"   %in% ObjectClass){ NH <-    20; }
+    } else {
+      NH <- 0;
+    }
+    if("CemaNeige" %in% ObjectClass){ NLayers <- length(InputsModel$LayerPrecip); } else { NLayers <- 0; }
+    NState <- 3*NH + 2*NLayers;
+    if(!is.null(IniStates)){
+      if(!is.vector( IniStates)   ){ stop("IniStates must be a vector of numeric values \n"); return(NULL);  }
+      if(!is.numeric(IniStates)   ){ stop("IniStates must be a vector of numeric values \n"); return(NULL);  }
+      if(length(IniStates)!=NState){ stop(paste("the length of IniStates must be ",NState," for the chosen FUN_MOD \n",sep="")); return(NULL);  }
+    } else {
+      IniStates <- as.double(rep(0.0,NState));
+    }
+    if(!is.null(IniResLevels)){
+      if(!is.vector(IniResLevels) ){ stop("IniResLevels must be a vector of numeric values \n"); return(NULL);  }
+      if(!is.numeric(IniResLevels)){ stop("IniResLevels must be a vector of numeric values \n"); return(NULL);  }
+      if(length(IniResLevels)!=2 ) { stop("the length of IniStates must be 2 for the chosen FUN_MOD \n"); return(NULL);  }
+    } else {
+      if("GR" %in% ObjectClass){ IniResLevels <- as.double(c(0.3,0.5)); }
+    }
+
+
+  ##check_Outputs_Cal_and_Sim
+
+    ##Outputs_all
+      Outputs_all <- NULL;
+      if(identical(FUN_MOD,RunModel_GR4J) | identical(FUN_MOD,RunModel_CemaNeigeGR4J)){
+        Outputs_all <- c(Outputs_all,"PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); }
+      if(identical(FUN_MOD,RunModel_GR5J) | identical(FUN_MOD,RunModel_CemaNeigeGR5J)){
+        Outputs_all <- c(Outputs_all,"PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim"); }
+      if(identical(FUN_MOD,RunModel_GR6J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)){
+        Outputs_all <- c(Outputs_all,"PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QR1","Exp","QD","Qsim"); }
+      if("CemaNeige" %in% ObjectClass){
+        Outputs_all <- c(Outputs_all,"Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt"); }
+
+    ##check_Outputs_Sim
+      if(!is.vector(   Outputs_Sim)){ stop("Outputs_Sim must be a vector of characters \n"); return(NULL);  }
+      if(!is.character(Outputs_Sim)){ stop("Outputs_Sim must be a vector of characters \n"); return(NULL);  }
+      if(sum(is.na(Outputs_Sim))!=0){ stop("Outputs_Sim must not contain NA \n"); return(NULL);  }
+      if("all" %in% Outputs_Sim){ Outputs_Sim <- c("DatesR",Outputs_all,"StateEnd");  }
+      Test <- which(Outputs_Sim %in% c("DatesR",Outputs_all,"StateEnd") == FALSE); if(length(Test)!=0){ 
+        stop(paste("Outputs_Sim is incorrectly defined: ",paste(Outputs_Sim[Test],collapse=", ")," not found \n",sep="")); return(NULL); } 
+      Outputs_Sim <- Outputs_Sim[!duplicated(Outputs_Sim)];
+
+    ##check_Outputs_Cal
+      if(is.null(Outputs_Cal)){
+        if("GR" %in% ObjectClass                               ){ Outputs_Cal <- c("Qsim"); }
+        if("CemaNeige" %in% ObjectClass                        ){ Outputs_Cal <- c("all"); }
+        if("GR" %in% ObjectClass & "CemaNeige" %in% ObjectClass){ Outputs_Cal <- c("PliqAndMelt","Qsim"); }
+      } else {
+        if(!is.vector(   Outputs_Cal)){ stop("Outputs_Cal must be a vector of characters \n"); return(NULL);  }
+        if(!is.character(Outputs_Cal)){ stop("Outputs_Cal must be a vector of characters \n"); return(NULL);  }
+        if(sum(is.na(Outputs_Cal))!=0){ stop("Outputs_Cal must not contain NA \n"); return(NULL);  }
+      }
+      if("all" %in% Outputs_Cal){ Outputs_Cal <- c("DatesR",Outputs_all,"StateEnd");  }
+      Test <- which(Outputs_Cal %in% c("DatesR",Outputs_all,"StateEnd") == FALSE); if(length(Test)!=0){ 
+        stop(paste("Outputs_Cal is incorrectly defined: ",paste(Outputs_Cal[Test],collapse=", ")," not found \n",sep="")); return(NULL); } 
+      Outputs_Cal <- Outputs_Cal[!duplicated(Outputs_Cal)];
+
+
+  ##check_RunSnowModule
+    if("CemaNeige" %in% ObjectClass){
+      if(!is.vector( RunSnowModule)){ stop("RunSnowModule must be a single boolean \n"); return(NULL);  }
+      if(!is.logical(RunSnowModule)){ stop("RunSnowModule must be either TRUE or FALSE \n"); return(NULL);  }
+      if(length(RunSnowModule)!=1  ){ stop("RunSnowModule must be either TRUE or FALSE \n"); return(NULL);  }
+    }
+
+
+  ##check_MeanAnSolidPrecip
+    if("CemaNeige" %in% ObjectClass & is.null(MeanAnSolidPrecip)){
+      NLayers <- length(InputsModel$LayerPrecip);
+      SolidPrecip <- NULL; for(iLayer in 1:NLayers){
+        if(iLayer==1){ SolidPrecip <- InputsModel$LayerFracSolidPrecip[[1]]*InputsModel$LayerPrecip[[iLayer]]/NLayers;
+              } else { SolidPrecip <- SolidPrecip + InputsModel$LayerFracSolidPrecip[[iLayer]]*InputsModel$LayerPrecip[[iLayer]]/NLayers; } }
+      Factor <- NULL;
+      if(inherits(InputsModel,"hourly" )){ Factor <- 365.25*24; }
+      if(inherits(InputsModel,"daily"  )){ Factor <-    365.25; }
+      if(inherits(InputsModel,"monthly")){ Factor <-        12; }
+      if(inherits(InputsModel,"yearly" )){ Factor <-         1; }
+      if(is.null(Factor)){ stop("InputsModel must be of class 'hourly', 'daily', 'monthly' or 'yearly' \n"); return(NULL);  }
+      MeanAnSolidPrecip <- rep(mean(SolidPrecip)*Factor,NLayers); ### default value: same Gseuil for all layers
+      if(!quiet){ warning("\t MeanAnSolidPrecip not defined -> it was automatically set to c(",paste(round(MeanAnSolidPrecip),collapse=","),") \n"); }
+    }
+    if("CemaNeige" %in% ObjectClass & !is.null(MeanAnSolidPrecip)){
+      if(!is.vector( MeanAnSolidPrecip)    ){ stop(paste("MeanAnSolidPrecip must be a vector of numeric values \n",sep="")); return(NULL);  }
+      if(!is.numeric(MeanAnSolidPrecip)    ){ stop(paste("MeanAnSolidPrecip must be a vector of numeric values \n",sep="")); return(NULL);  }
+      if(length(MeanAnSolidPrecip)!=NLayers){ stop(paste("MeanAnSolidPrecip must be a numeric vector of length ",NLayers," \n",sep="")); return(NULL);  }
+    }
+
+
+  ##check_PliqAndMelt
+    if(RunSnowModule & "GR" %in% ObjectClass & "CemaNeige" %in% ObjectClass){
+      if("PliqAndMelt" %in% Outputs_Cal == FALSE & "all" %in% Outputs_Cal == FALSE){
+        WTxt <- NULL;
+        WTxt <- paste(WTxt,"\t PliqAndMelt was not defined in Outputs_Cal but is needed to feed the hydrological model with the snow module outputs \n",sep="");
+        WTxt <- paste(WTxt,"\t -> it was automatically added \n",sep="");
+        if(!is.null(WTxt) & !quiet){ warning(WTxt); }
+        Outputs_Cal <- c(Outputs_Cal,"PliqAndMelt"); }
+      if("PliqAndMelt" %in% Outputs_Sim == FALSE & "all" %in% Outputs_Sim == FALSE){
+        WTxt <- NULL;
+        WTxt <- paste(WTxt,"\t PliqAndMelt was not defined in Outputs_Sim but is needed to feed the hydrological model with the snow module outputs \n",sep="");
+        WTxt <- paste(WTxt,"\t -> it was automatically added \n",sep="");
+        if(!is.null(WTxt) & !quiet){ warning(WTxt); }
+        Outputs_Sim <- c(Outputs_Sim,"PliqAndMelt"); }
+    }
+
+
+  ##Create_RunOptions
+    RunOptions <- list(IndPeriod_WarmUp=IndPeriod_WarmUp,IndPeriod_Run=IndPeriod_Run,IniStates=IniStates,IniResLevels=IniResLevels,
+                       Outputs_Cal=Outputs_Cal,Outputs_Sim=Outputs_Sim);
+    if("CemaNeige" %in% ObjectClass){
+        RunOptions <- c(RunOptions,list(RunSnowModule=RunSnowModule,MeanAnSolidPrecip=MeanAnSolidPrecip));    }
+    class(RunOptions) <- c("RunOptions",ObjectClass);
+    return(RunOptions);
+
+
+}
+
diff --git a/R/DataAltiExtrapolation_HBAN.R b/R/DataAltiExtrapolation_HBAN.R
new file mode 100644
index 00000000..7a5354b6
--- /dev/null
+++ b/R/DataAltiExtrapolation_HBAN.R
@@ -0,0 +1,540 @@
+#*****************************************************************************************************************
+#' Function which extrapolates the precipitation and air temperature series for different elevation layers (method from Valery, 2010).
+#'
+#' Elevation layers of equal surface are created the 101 elevation quantiles (\emph{HypsoData}) 
+#' and the number requested elevation layers (\emph{NLayers}). \cr
+#' Forcing data (precipitation and air temperature) are extrapolated using gradients from Valery (2010).
+#' (e.g. gradP=0.0004 [m-1] for France and gradT=0.434 [degreC/100m] for January, 1st). \cr
+#' This function is used by the \emph{CreateInputsModel} function. \cr
+#*****************************************************************************************************************
+#' @title   Altitudinal extrapolation of precipitation and temperature series
+#' @author  Laurent Coron, Pierre Brigode (June 2014)
+#' @references
+#'   Turcotte, R., L.-G. Fortin, V. Fortin, J.-P. Fortin and J.-P. Villeneuve (2007), 
+#'       Operational analysis of the spatial distribution and the temporal evolution of the snowpack water equivalent 
+#'       in southern Quebec, Canada, Nordic Hydrology, 38(3), 211, doi:10.2166/nh.2007.009. \cr
+#'   Valéry, A. (2010), Modélisation précipitations-débit sous influence nivale ? : Elaboration d'un module neige 
+#'       et évaluation sur 380 bassins versants, PhD thesis (in french), AgroParisTech, Paris, France. \cr
+#'   USACE (1956), Snow Hydrology, pp. 437, U.S. Army Coprs of Engineers (USACE) North Pacific Division, Portland, Oregon, USA.
+#' @seealso \code{\link{CreateInputsModel}}, \code{\link{RunModel_CemaNeigeGR4J}}
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  DatesR      [POSIXlt] vector of dates
+#' @param  Precip      [numeric] time series of daily total precipitation (catchment average) [mm]
+#' @param  TempMean    [numeric] time series of daily mean air temperature [degC]
+#' @param  TempMin     (optional) [numeric] time series of daily min air temperature [degC]
+#' @param  TempMax     (optional) [numeric] time series of daily max air temperature [degC]
+#' @param  ZInputs     [numeric] real giving the mean elevation of the Precip and Temp series (before extrapolation) [m]
+#' @param  HypsoData   [numeric] vector of 101 reals: min, q01 to q99 and max of catchment elevation distribution [m]
+#' @param  NLayers     [numeric] integer giving the number of elevation layers requested [-]
+#' @param  quiet       (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  list containing the extrapolated series of precip. and air temp. on each elevation layer
+#'          \tabular{ll}{                                                                                                      
+#'            \emph{$LayerPrecip         }  \tab  [list] list of time series of daily precipitation (layer average) [mm]           \cr
+#'            \emph{$LayerTempMean       }  \tab  [list] list of time series of daily mean air temperature (layer average) [degC]  \cr
+#'            \emph{$LayerTempMin        }  \tab  [list] list of time series of daily min air temperature (layer average) [degC]   \cr
+#'            \emph{$LayerTempMax        }  \tab  [list] list of time series of daily max air temperature (layer average) [degC]   \cr
+#'            \emph{$LayerFracSolidPrecip}  \tab  [list] list of time series of daily solid precip. fract. (layer average) [-]     \cr
+#'            \emph{$ZLayers             }  \tab  [numeric] vector of median elevation for each layer                              \cr
+#'          }                                                                                                                  
+#*****************************************************************************************************************
+DataAltiExtrapolation_HBAN <- function(DatesR,Precip,TempMean,TempMin=NULL,TempMax=NULL,ZInputs,HypsoData,NLayers,quiet=FALSE){
+
+
+    ##Altitudinal_gradient_functions_______________________________________________________________
+      ##unique_gradient_for_precipitation
+      GradP_Valery2010 <- function(){ 
+        return(0.00041); ### value from Val? PhD thesis page 126
+      }
+      ##daily_gradients_for_mean_min_and_max_air_temperature
+      GradT_Valery2010 <- function(){ 
+        RESULT <- matrix(c(
+               1,  1, 0.434, 0.366, 0.498,
+               2,  1, 0.434, 0.366, 0.500,
+               3,  1, 0.435, 0.367, 0.501,
+               4,  1, 0.436, 0.367, 0.503,
+               5,  1, 0.437, 0.367, 0.504,
+               6,  1, 0.439, 0.367, 0.506,
+               7,  1, 0.440, 0.367, 0.508,
+               8,  1, 0.441, 0.368, 0.510,
+               9,  1, 0.442, 0.368, 0.512,
+              10,  1, 0.444, 0.368, 0.514,
+              11,  1, 0.445, 0.368, 0.517,
+              12,  1, 0.446, 0.368, 0.519,
+              13,  1, 0.448, 0.369, 0.522,
+              14,  1, 0.450, 0.369, 0.525,
+              15,  1, 0.451, 0.369, 0.527,
+              16,  1, 0.453, 0.370, 0.530,
+              17,  1, 0.455, 0.370, 0.533,
+              18,  1, 0.456, 0.370, 0.537,
+              19,  1, 0.458, 0.371, 0.540,
+              20,  1, 0.460, 0.371, 0.543,
+              21,  1, 0.462, 0.371, 0.547,
+              22,  1, 0.464, 0.372, 0.550,
+              23,  1, 0.466, 0.372, 0.554,
+              24,  1, 0.468, 0.373, 0.558,
+              25,  1, 0.470, 0.373, 0.561,
+              26,  1, 0.472, 0.374, 0.565,
+              27,  1, 0.474, 0.374, 0.569,
+              28,  1, 0.476, 0.375, 0.573,
+              29,  1, 0.478, 0.375, 0.577,
+              30,  1, 0.480, 0.376, 0.582,
+              31,  1, 0.483, 0.376, 0.586,
+               1,  2, 0.485, 0.377, 0.590,
+               2,  2, 0.487, 0.377, 0.594,
+               3,  2, 0.489, 0.378, 0.599,
+               4,  2, 0.492, 0.379, 0.603,
+               5,  2, 0.494, 0.379, 0.607,
+               6,  2, 0.496, 0.380, 0.612,
+               7,  2, 0.498, 0.381, 0.616,
+               8,  2, 0.501, 0.381, 0.621,
+               9,  2, 0.503, 0.382, 0.625,
+              10,  2, 0.505, 0.383, 0.630,
+              11,  2, 0.508, 0.384, 0.634,
+              12,  2, 0.510, 0.384, 0.639,
+              13,  2, 0.512, 0.385, 0.643,
+              14,  2, 0.515, 0.386, 0.648,
+              15,  2, 0.517, 0.387, 0.652,
+              16,  2, 0.519, 0.387, 0.657,
+              17,  2, 0.522, 0.388, 0.661,
+              18,  2, 0.524, 0.389, 0.666,
+              19,  2, 0.526, 0.390, 0.670,
+              20,  2, 0.528, 0.391, 0.674,
+              21,  2, 0.530, 0.392, 0.679,
+              22,  2, 0.533, 0.393, 0.683,
+              23,  2, 0.535, 0.393, 0.687,
+              24,  2, 0.537, 0.394, 0.691,
+              25,  2, 0.539, 0.395, 0.695,
+              26,  2, 0.541, 0.396, 0.699,
+              27,  2, 0.543, 0.397, 0.703,
+              28,  2, 0.545, 0.398, 0.707,
+              29,  2, 0.546, 0.399, 0.709,
+               1,  3, 0.547, 0.399, 0.711,
+               2,  3, 0.549, 0.400, 0.715,
+               3,  3, 0.551, 0.401, 0.718,
+               4,  3, 0.553, 0.402, 0.722,
+               5,  3, 0.555, 0.403, 0.726,
+               6,  3, 0.557, 0.404, 0.729,
+               7,  3, 0.559, 0.405, 0.732,
+               8,  3, 0.560, 0.406, 0.736,
+               9,  3, 0.562, 0.406, 0.739,
+              10,  3, 0.564, 0.407, 0.742,
+              11,  3, 0.566, 0.408, 0.745,
+              12,  3, 0.567, 0.409, 0.748,
+              13,  3, 0.569, 0.410, 0.750,
+              14,  3, 0.570, 0.411, 0.753,
+              15,  3, 0.572, 0.412, 0.756,
+              16,  3, 0.573, 0.413, 0.758,
+              17,  3, 0.575, 0.414, 0.761,
+              18,  3, 0.576, 0.415, 0.763,
+              19,  3, 0.577, 0.416, 0.765,
+              20,  3, 0.579, 0.417, 0.767,
+              21,  3, 0.580, 0.417, 0.769,
+              22,  3, 0.581, 0.418, 0.771,
+              23,  3, 0.582, 0.419, 0.773,
+              24,  3, 0.583, 0.420, 0.774,
+              25,  3, 0.584, 0.421, 0.776,
+              26,  3, 0.585, 0.422, 0.777,
+              27,  3, 0.586, 0.422, 0.779,
+              28,  3, 0.587, 0.423, 0.780,
+              29,  3, 0.588, 0.424, 0.781,
+              30,  3, 0.589, 0.425, 0.782,
+              31,  3, 0.590, 0.425, 0.783,
+               1,  4, 0.591, 0.426, 0.784,
+               2,  4, 0.591, 0.427, 0.785,
+               3,  4, 0.592, 0.427, 0.785,
+               4,  4, 0.593, 0.428, 0.786,
+               5,  4, 0.593, 0.429, 0.787,
+               6,  4, 0.594, 0.429, 0.787,
+               7,  4, 0.595, 0.430, 0.787,
+               8,  4, 0.595, 0.431, 0.788,
+               9,  4, 0.596, 0.431, 0.788,
+              10,  4, 0.596, 0.432, 0.788,
+              11,  4, 0.597, 0.432, 0.788,
+              12,  4, 0.597, 0.433, 0.788,
+              13,  4, 0.597, 0.433, 0.788,
+              14,  4, 0.598, 0.434, 0.788,
+              15,  4, 0.598, 0.434, 0.788,
+              16,  4, 0.598, 0.435, 0.787,
+              17,  4, 0.599, 0.435, 0.787,
+              18,  4, 0.599, 0.436, 0.787,
+              19,  4, 0.599, 0.436, 0.786,
+              20,  4, 0.599, 0.436, 0.786,
+              21,  4, 0.600, 0.437, 0.785,
+              22,  4, 0.600, 0.437, 0.785,
+              23,  4, 0.600, 0.437, 0.784,
+              24,  4, 0.600, 0.438, 0.784,
+              25,  4, 0.600, 0.438, 0.783,
+              26,  4, 0.601, 0.438, 0.783,
+              27,  4, 0.601, 0.438, 0.782,
+              28,  4, 0.601, 0.439, 0.781,
+              29,  4, 0.601, 0.439, 0.781,
+              30,  4, 0.601, 0.439, 0.780,
+               1,  5, 0.601, 0.439, 0.779,
+               2,  5, 0.601, 0.439, 0.778,
+               3,  5, 0.601, 0.439, 0.778,
+               4,  5, 0.601, 0.440, 0.777,
+               5,  5, 0.601, 0.440, 0.776,
+               6,  5, 0.601, 0.440, 0.775,
+               7,  5, 0.601, 0.440, 0.775,
+               8,  5, 0.601, 0.440, 0.774,
+               9,  5, 0.601, 0.440, 0.773,
+              10,  5, 0.602, 0.440, 0.772,
+              11,  5, 0.602, 0.440, 0.772,
+              12,  5, 0.602, 0.440, 0.771,
+              13,  5, 0.602, 0.440, 0.770,
+              14,  5, 0.602, 0.440, 0.770,
+              15,  5, 0.602, 0.440, 0.769,
+              16,  5, 0.602, 0.440, 0.768,
+              17,  5, 0.602, 0.440, 0.768,
+              18,  5, 0.602, 0.440, 0.767,
+              19,  5, 0.602, 0.440, 0.767,
+              20,  5, 0.602, 0.440, 0.766,
+              21,  5, 0.602, 0.440, 0.766,
+              22,  5, 0.602, 0.440, 0.765,
+              23,  5, 0.602, 0.440, 0.765,
+              24,  5, 0.602, 0.440, 0.764,
+              25,  5, 0.602, 0.440, 0.764,
+              26,  5, 0.602, 0.440, 0.764,
+              27,  5, 0.602, 0.439, 0.763,
+              28,  5, 0.602, 0.439, 0.763,
+              29,  5, 0.602, 0.439, 0.763,
+              30,  5, 0.602, 0.439, 0.762,
+              31,  5, 0.602, 0.439, 0.762,
+               1,  6, 0.602, 0.439, 0.762,
+               2,  6, 0.602, 0.439, 0.762,
+               3,  6, 0.602, 0.439, 0.762,
+               4,  6, 0.602, 0.439, 0.762,
+               5,  6, 0.602, 0.439, 0.762,
+               6,  6, 0.602, 0.438, 0.761,
+               7,  6, 0.602, 0.438, 0.761,
+               8,  6, 0.602, 0.438, 0.761,
+               9,  6, 0.602, 0.438, 0.761,
+              10,  6, 0.602, 0.438, 0.761,
+              11,  6, 0.602, 0.438, 0.762,
+              12,  6, 0.602, 0.438, 0.762,
+              13,  6, 0.602, 0.438, 0.762,
+              14,  6, 0.602, 0.438, 0.762,
+              15,  6, 0.602, 0.437, 0.762,
+              16,  6, 0.602, 0.437, 0.762,
+              17,  6, 0.602, 0.437, 0.762,
+              18,  6, 0.602, 0.437, 0.762,
+              19,  6, 0.602, 0.437, 0.763,
+              20,  6, 0.602, 0.437, 0.763,
+              21,  6, 0.602, 0.437, 0.763,
+              22,  6, 0.602, 0.436, 0.763,
+              23,  6, 0.602, 0.436, 0.763,
+              24,  6, 0.602, 0.436, 0.764,
+              25,  6, 0.602, 0.436, 0.764,
+              26,  6, 0.601, 0.436, 0.764,
+              27,  6, 0.601, 0.436, 0.764,
+              28,  6, 0.601, 0.436, 0.764,
+              29,  6, 0.601, 0.435, 0.765,
+              30,  6, 0.601, 0.435, 0.765,
+               1,  7, 0.601, 0.435, 0.765,
+               2,  7, 0.600, 0.435, 0.765,
+               3,  7, 0.600, 0.435, 0.765,
+               4,  7, 0.600, 0.434, 0.766,
+               5,  7, 0.600, 0.434, 0.766,
+               6,  7, 0.599, 0.434, 0.766,
+               7,  7, 0.599, 0.434, 0.766,
+               8,  7, 0.599, 0.434, 0.766,
+               9,  7, 0.598, 0.433, 0.766,
+              10,  7, 0.598, 0.433, 0.766,
+              11,  7, 0.598, 0.433, 0.766,
+              12,  7, 0.597, 0.433, 0.766,
+              13,  7, 0.597, 0.432, 0.767,
+              14,  7, 0.597, 0.432, 0.767,
+              15,  7, 0.596, 0.432, 0.767,
+              16,  7, 0.596, 0.432, 0.766,
+              17,  7, 0.595, 0.431, 0.766,
+              18,  7, 0.595, 0.431, 0.766,
+              19,  7, 0.594, 0.431, 0.766,
+              20,  7, 0.594, 0.430, 0.766,
+              21,  7, 0.593, 0.430, 0.766,
+              22,  7, 0.593, 0.430, 0.766,
+              23,  7, 0.592, 0.429, 0.765,
+              24,  7, 0.592, 0.429, 0.765,
+              25,  7, 0.591, 0.428, 0.765,
+              26,  7, 0.590, 0.428, 0.765,
+              27,  7, 0.590, 0.428, 0.764,
+              28,  7, 0.589, 0.427, 0.764,
+              29,  7, 0.588, 0.427, 0.764,
+              30,  7, 0.588, 0.426, 0.763,
+              31,  7, 0.587, 0.426, 0.763,
+               1,  8, 0.586, 0.425, 0.762,
+               2,  8, 0.586, 0.425, 0.762,
+               3,  8, 0.585, 0.424, 0.761,
+               4,  8, 0.584, 0.424, 0.761,
+               5,  8, 0.583, 0.423, 0.760,
+               6,  8, 0.583, 0.423, 0.760,
+               7,  8, 0.582, 0.422, 0.759,
+               8,  8, 0.581, 0.421, 0.758,
+               9,  8, 0.580, 0.421, 0.758,
+              10,  8, 0.579, 0.420, 0.757,
+              11,  8, 0.578, 0.420, 0.756,
+              12,  8, 0.578, 0.419, 0.755,
+              13,  8, 0.577, 0.418, 0.754,
+              14,  8, 0.576, 0.418, 0.754,
+              15,  8, 0.575, 0.417, 0.753,
+              16,  8, 0.574, 0.416, 0.752,
+              17,  8, 0.573, 0.415, 0.751,
+              18,  8, 0.572, 0.415, 0.750,
+              19,  8, 0.571, 0.414, 0.749,
+              20,  8, 0.570, 0.413, 0.748,
+              21,  8, 0.569, 0.413, 0.747,
+              22,  8, 0.569, 0.412, 0.746,
+              23,  8, 0.568, 0.411, 0.745,
+              24,  8, 0.567, 0.410, 0.744,
+              25,  8, 0.566, 0.409, 0.743,
+              26,  8, 0.565, 0.409, 0.742,
+              27,  8, 0.564, 0.408, 0.741,
+              28,  8, 0.563, 0.407, 0.740,
+              29,  8, 0.562, 0.406, 0.738,
+              30,  8, 0.561, 0.405, 0.737,
+              31,  8, 0.560, 0.405, 0.736,
+               1,  9, 0.558, 0.404, 0.735,
+               2,  9, 0.557, 0.403, 0.734,
+               3,  9, 0.556, 0.402, 0.732,
+               4,  9, 0.555, 0.401, 0.731,
+               5,  9, 0.554, 0.401, 0.730,
+               6,  9, 0.553, 0.400, 0.728,
+               7,  9, 0.552, 0.399, 0.727,
+               8,  9, 0.551, 0.398, 0.725,
+               9,  9, 0.550, 0.397, 0.724,
+              10,  9, 0.549, 0.396, 0.723,
+              11,  9, 0.548, 0.396, 0.721,
+              12,  9, 0.546, 0.395, 0.720,
+              13,  9, 0.545, 0.394, 0.718,
+              14,  9, 0.544, 0.393, 0.717,
+              15,  9, 0.543, 0.392, 0.715,
+              16,  9, 0.542, 0.391, 0.713,
+              17,  9, 0.541, 0.391, 0.712,
+              18,  9, 0.540, 0.390, 0.710,
+              19,  9, 0.538, 0.389, 0.709,
+              20,  9, 0.537, 0.388, 0.707,
+              21,  9, 0.536, 0.388, 0.705,
+              22,  9, 0.535, 0.387, 0.703,
+              23,  9, 0.533, 0.386, 0.702,
+              24,  9, 0.532, 0.385, 0.700,
+              25,  9, 0.531, 0.385, 0.698,
+              26,  9, 0.530, 0.384, 0.696,
+              27,  9, 0.528, 0.383, 0.694,
+              28,  9, 0.527, 0.383, 0.692,
+              29,  9, 0.526, 0.382, 0.690,
+              30,  9, 0.525, 0.381, 0.688,
+               1, 10, 0.523, 0.381, 0.686,
+               2, 10, 0.522, 0.380, 0.684,
+               3, 10, 0.521, 0.379, 0.682,
+               4, 10, 0.519, 0.379, 0.680,
+               5, 10, 0.518, 0.378, 0.678,
+               6, 10, 0.517, 0.377, 0.676,
+               7, 10, 0.515, 0.377, 0.674,
+               8, 10, 0.514, 0.376, 0.671,
+               9, 10, 0.512, 0.376, 0.669,
+              10, 10, 0.511, 0.375, 0.667,
+              11, 10, 0.510, 0.375, 0.664,
+              12, 10, 0.508, 0.374, 0.662,
+              13, 10, 0.507, 0.374, 0.659,
+              14, 10, 0.505, 0.373, 0.657,
+              15, 10, 0.504, 0.373, 0.654,
+              16, 10, 0.502, 0.372, 0.652,
+              17, 10, 0.501, 0.372, 0.649,
+              18, 10, 0.499, 0.372, 0.647,
+              19, 10, 0.498, 0.371, 0.644,
+              20, 10, 0.496, 0.371, 0.641,
+              21, 10, 0.495, 0.371, 0.639,
+              22, 10, 0.493, 0.370, 0.636,
+              23, 10, 0.492, 0.370, 0.633,
+              24, 10, 0.490, 0.370, 0.630,
+              25, 10, 0.489, 0.369, 0.628,
+              26, 10, 0.487, 0.369, 0.625,
+              27, 10, 0.485, 0.369, 0.622,
+              28, 10, 0.484, 0.368, 0.619,
+              29, 10, 0.482, 0.368, 0.616,
+              30, 10, 0.481, 0.368, 0.613,
+              31, 10, 0.479, 0.368, 0.610,
+               1, 11, 0.478, 0.368, 0.607,
+               2, 11, 0.476, 0.367, 0.604,
+               3, 11, 0.475, 0.367, 0.601,
+               4, 11, 0.473, 0.367, 0.598,
+               5, 11, 0.471, 0.367, 0.595,
+               6, 11, 0.470, 0.367, 0.592,
+               7, 11, 0.468, 0.367, 0.589,
+               8, 11, 0.467, 0.366, 0.586,
+               9, 11, 0.465, 0.366, 0.583,
+              10, 11, 0.464, 0.366, 0.580,
+              11, 11, 0.462, 0.366, 0.577,
+              12, 11, 0.461, 0.366, 0.574,
+              13, 11, 0.459, 0.366, 0.571,
+              14, 11, 0.458, 0.366, 0.568,
+              15, 11, 0.456, 0.366, 0.565,
+              16, 11, 0.455, 0.366, 0.562,
+              17, 11, 0.454, 0.366, 0.559,
+              18, 11, 0.452, 0.365, 0.556,
+              19, 11, 0.451, 0.365, 0.553,
+              20, 11, 0.450, 0.365, 0.550,
+              21, 11, 0.448, 0.365, 0.547,
+              22, 11, 0.447, 0.365, 0.544,
+              23, 11, 0.446, 0.365, 0.542,
+              24, 11, 0.445, 0.365, 0.539,
+              25, 11, 0.443, 0.365, 0.536,
+              26, 11, 0.442, 0.365, 0.533,
+              27, 11, 0.441, 0.365, 0.531,
+              28, 11, 0.440, 0.365, 0.528,
+              29, 11, 0.439, 0.365, 0.526,
+              30, 11, 0.438, 0.365, 0.523,
+               1, 12, 0.437, 0.365, 0.521,
+               2, 12, 0.436, 0.365, 0.519,
+               3, 12, 0.435, 0.365, 0.517,
+               4, 12, 0.434, 0.365, 0.515,
+               5, 12, 0.434, 0.365, 0.513,
+               6, 12, 0.433, 0.365, 0.511,
+               7, 12, 0.432, 0.365, 0.509,
+               8, 12, 0.431, 0.365, 0.507,
+               9, 12, 0.431, 0.365, 0.505,
+              10, 12, 0.430, 0.365, 0.504,
+              11, 12, 0.430, 0.365, 0.502,
+              12, 12, 0.429, 0.365, 0.501,
+              13, 12, 0.429, 0.365, 0.500,
+              14, 12, 0.429, 0.365, 0.498,
+              15, 12, 0.428, 0.365, 0.497,
+              16, 12, 0.428, 0.365, 0.496,
+              17, 12, 0.428, 0.365, 0.496,
+              18, 12, 0.428, 0.365, 0.495,
+              19, 12, 0.428, 0.365, 0.494,
+              20, 12, 0.428, 0.365, 0.494,
+              21, 12, 0.428, 0.365, 0.494,
+              22, 12, 0.428, 0.365, 0.493,
+              23, 12, 0.429, 0.365, 0.493,
+              24, 12, 0.429, 0.366, 0.493,
+              25, 12, 0.429, 0.366, 0.493,
+              26, 12, 0.430, 0.366, 0.494,
+              27, 12, 0.430, 0.366, 0.494,
+              28, 12, 0.431, 0.366, 0.495,
+              29, 12, 0.431, 0.366, 0.495,
+              30, 12, 0.432, 0.366, 0.496,
+              31, 12, 0.433, 0.366, 0.497),ncol=5,byrow=TRUE);
+        dimnames(RESULT) <- list(1:366,c("day","month","grad_Tmean","grad_Tmin","grad_Tmax"));
+        return(RESULT);
+      }
+
+
+
+    ##Format_______________________________________________________________________________________
+      HypsoData <- as.double(HypsoData);
+      ZInputs   <- as.double(ZInputs);
+
+
+    ##ElevationLayers_Creation_____________________________________________________________________
+      ZLayers   <-  as.double(rep(NA,NLayers));
+      if(!identical(HypsoData,as.double(rep(NA,101)))){
+        nmoy   <- 100 %/% NLayers;
+        nreste <- 100 %% NLayers;
+        ncont  <- 0;
+        for(iLayer in 1:NLayers){
+          if(nreste > 0){ nn <- nmoy+1; nreste <- nreste-1; } else { nn <- nmoy; }
+          if(nn==1){ ZLayers[iLayer] <- HypsoData[ncont+1]; }
+          if(nn==2){ ZLayers[iLayer] <- 0.5 * (HypsoData[ncont+1] + HypsoData[ncont+2]); }
+          if(nn>2 ){ ZLayers[iLayer] <- HypsoData[ncont+nn/2]; }
+          ncont <- ncont+nn;
+        }
+      }
+  
+
+    ##Precipitation_extrapolation__________________________________________________________________
+      ##Initialisation
+      LayerPrecip <- list();
+      if(identical(ZInputs,HypsoData[51]) & NLayers==1){
+        LayerPrecip[[1]] <- as.double(Precip);
+      } else {
+      ##Elevation_gradients_for_daily_mean_precipitation
+        GradP    <- GradP_Valery2010(); ### single value
+        TabGradP <- rep(GradP,length(Precip));
+      ##Extrapolation
+        ##Thresold_of_inputs_median_elevation
+        Zthreshold <- 4000;
+        ##_On_each_elevation_layer...
+        for(iLayer in 1:NLayers){
+          ##If_layer_elevation_smaller_than_Zthreshold
+          if(ZLayers[iLayer] <= Zthreshold){ 
+            LayerPrecip[[iLayer]] <- as.double(Precip*exp(TabGradP*(ZLayers[iLayer]-ZInputs))); 
+          ##If_layer_elevation_greater_than_Zthreshold
+          } else {
+            ##If_inputs_median_elevation_smaller_than_Zthreshold
+            if(ZInputs <= Zthreshold){ LayerPrecip[[iLayer]] <- as.double(Precip*exp(TabGradP*(Zthreshold-ZInputs)));
+            ##If_inputs_median_elevation_greater_then_Zthreshold
+            } else { LayerPrecip[[iLayer]] <- as.double(Precip); }
+          }
+        }
+      }
+
+
+
+    ##Temperature_extrapolation____________________________________________________________________
+      ##Initialisation
+      LayerTempMean <- list(); LayerTempMin <- list(); LayerTempMax <- list();
+      if(identical(ZInputs,HypsoData[51]) & NLayers==1){
+        LayerTempMean[[1]] <- as.double(TempMean);
+        if(!is.null(TempMin) & !is.null(TempMax)){ LayerTempMin[[1]] <- as.double(TempMin); LayerTempMax[[1]] <- as.double(TempMax); }
+      } else {
+      ##Elevation_gradients_for_daily_mean_min_and_max_temperature
+        GradT    <- GradT_Valery2010(); ### Day, Month, GradTmean, GradTmin and GradTmax for iCol=1,2,3,4,5, respectively
+        TabGradT <- matrix(NA,nrow=length(Precip),ncol=3);
+        for(iday in 1:366){
+          ind <- which(as.numeric(format(DatesR,format="%d"))==GradT[iday,1] & as.numeric(format(DatesR,format="%m"))==GradT[iday,2]);
+          TabGradT[ind,1:3] <- GradT[iday,3:5];
+        }
+      ##Extrapolation
+        ##On_each_elevation_layer...
+        for(iLayer in 1:NLayers){
+          LayerTempMean[[iLayer]] <- as.double(TempMean + (ZInputs-ZLayers[iLayer])*abs(TabGradT[,1])/100);
+          if(!is.null(TempMin) & !is.null(TempMax)){
+          LayerTempMin[[iLayer]]  <- as.double(TempMin  + (ZInputs-ZLayers[iLayer])*abs(TabGradT[,2])/100);
+          LayerTempMax[[iLayer]]  <- as.double(TempMax  + (ZInputs-ZLayers[iLayer])*abs(TabGradT[,3])/100);
+          }
+        }
+      }
+
+
+ 
+    ##Solid_Fraction_for_each_elevation_layer______________________________________________________
+      LayerFracSolidPrecip <- list();
+      ##Thresold_of_inputs_median_elevation
+      Zthreshold <- 1500;
+      ##On_each_elevation_layer...
+      for(iLayer in 1:NLayers){
+        Option <- "USACE";
+        if(!is.na(ZInputs)){ if(ZInputs < Zthreshold & !is.null(TempMin) & !is.null(TempMax)){ Option <- "Hydrotel"; } }
+        ##Turcotte_formula_from_Hydrotel
+        if(Option=="Hydrotel"){
+          TempMin <- LayerTempMin[[iLayer]];
+          TempMax <- LayerTempMax[[iLayer]];
+          SolidFraction <- 1 - TempMax/(TempMax - TempMin);
+          SolidFraction[TempMin >= 0] <- 0;
+          SolidFraction[TempMax <= 0] <- 1;
+        }
+        ##USACE_formula
+        if(Option=="USACE"){
+          USACE_Tmin <- -1.0;
+          USACE_Tmax <-  3.0;
+          TempMean <- LayerTempMean[[iLayer]];
+          SolidFraction <- 1- (TempMean - USACE_Tmin)/(USACE_Tmax - USACE_Tmin);
+          SolidFraction[TempMean > USACE_Tmax] <- 0;
+          SolidFraction[TempMean < USACE_Tmin] <- 1;
+        }
+        LayerFracSolidPrecip[[iLayer]] <- as.double(SolidFraction);
+      }
+
+
+
+
+    ##END__________________________________________________________________________________________
+    return(list(LayerPrecip=LayerPrecip,LayerTempMean=LayerTempMean,LayerTempMin=LayerTempMin,LayerTempMax=LayerTempMax,
+                LayerFracSolidPrecip=LayerFracSolidPrecip,ZLayers=ZLayers));
+
+}
+
+
diff --git a/R/ErrorCrit.R b/R/ErrorCrit.R
new file mode 100644
index 00000000..fe874c83
--- /dev/null
+++ b/R/ErrorCrit.R
@@ -0,0 +1,22 @@
+#*****************************************************************************************************************
+#' Function which computes an error criterion with the provided function.
+#*****************************************************************************************************************
+#' @title  Error criterion using the provided function
+#' @author Laurent Coron (June 2014)
+#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}}
+#' @example tests/example_ErrorCrit.R
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsCrit      [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details
+#' @param  OutputsModel    [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details
+#' @param  FUN_CRIT        [function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)
+#' @param  quiet           (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs, see \code{\link{ErrorCrit_RMSE}} or \code{\link{ErrorCrit_NSE}} for details
+#*****************************************************************************************************************'
+ErrorCrit <- function(InputsCrit,OutputsModel,FUN_CRIT,quiet=FALSE){
+    return( FUN_CRIT(InputsCrit,OutputsModel,quiet=quiet) )
+}
+
diff --git a/R/ErrorCrit_KGE.R b/R/ErrorCrit_KGE.R
new file mode 100644
index 00000000..96406587
--- /dev/null
+++ b/R/ErrorCrit_KGE.R
@@ -0,0 +1,122 @@
+#*****************************************************************************************************************
+#' Function which computes an error criterion based on the KGE formula proposed by Gupta et al. (2009).
+#'
+#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows 
+#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised 
+#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE).
+#*****************************************************************************************************************
+#' @title  Error criterion based on the KGE formula
+#' @author Laurent Coron (June 2014)
+#' @references
+#'   Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), 
+#'       Decomposition of the mean squared error and NSE performance criteria: Implications
+#'       for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr
+#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE2}}
+#' @examples ## see example of the ErrorCrit function
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsCrit      [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details
+#' @param  OutputsModel    [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details
+#' @param  quiet           (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:
+#'          \tabular{ll}{
+#'          \emph{$CritValue      }   \tab   [numeric] value of the criterion \cr
+#'          \emph{$CritName       }   \tab   [character] name of the criterion \cr
+#'          \emph{$SubCritValues  }   \tab   [numeric] values of the sub-criteria \cr
+#'          \emph{$SubCritNames   }   \tab   [character] names of the sub-criteria \cr
+#'          \emph{$CritBestValue  }   \tab   [numeric] theoretical best criterion value \cr
+#'          \emph{$Multiplier     }   \tab   [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr
+#'          \emph{$Ind_notcomputed}   \tab   [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr
+#'          }
+#*****************************************************************************************************************
+ErrorCrit_KGE <- function(InputsCrit,OutputsModel,quiet=FALSE){
+
+
+##Arguments_check________________________________
+  if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); }  
+  if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); }  
+
+
+##Initialisation_________________________________
+  CritName <- NA;
+  if(InputsCrit$transfo==""    ){ CritName <- "KGE[Q]"      ; }
+  if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE[sqrt(Q)]"; }
+  if(InputsCrit$transfo=="log" ){ CritName <- "KGE[log(Q)]" ; }
+  if(InputsCrit$transfo=="inv" ){ CritName <- "KGE[1/Q]"    ; }
+  if(InputsCrit$transfo=="sort"){ CritName <- "KGE[sort(Q)]"; }
+  CritValue       <- NA;
+  CritBestValue   <- +1;
+  Multiplier      <- -1; ### must be equal to -1 or +1 only
+
+
+##Data_preparation_______________________________
+  VarObs <- InputsCrit$Qobs  ; VarObs[!InputsCrit$BoolCrit] <- NA; 
+  VarSim <- OutputsModel$Qsim; VarSim[!InputsCrit$BoolCrit] <- NA;  
+  ##Data_transformation
+  if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){
+    VarObs <- VarObs + InputsCrit$epsilon;
+    VarSim <- VarSim + InputsCrit$epsilon;
+  } }
+  if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); }
+  if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; VarSim[VarSim      < -1E100] <- NA; }
+  if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs    ; VarSim <- 1/VarSim    ; VarSim[abs(VarSim) > 1E+100] <- NA; }
+  if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); }
+  ##TS_ignore
+  TS_ignore <- !is.finite(VarObs) | !is.finite(VarSim) | !InputsCrit$BoolCrit ;
+  if(sum(!TS_ignore)==0){ OutputsCrit <- list(NA); names(OutputsCrit) <- c("CritValue"); return(OutputsCrit); }
+  if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); }  
+  ##Other_variables_preparation
+  meanVarObs <- mean(VarObs[!TS_ignore]);
+  meanVarSim <- mean(VarSim[!TS_ignore]);
+  iCrit           <- 0;
+  SubCritNames    <- NULL;
+  SubCritValues   <- NULL;
+
+
+
+##SubErrorCrit_____KGE_rPearson__________________
+  iCrit <- iCrit+1;
+  SubCritNames[iCrit]  <- paste(CritName," rPEARSON(sim vs. obs)",sep="");
+  SubCritValues[iCrit] <- NA;
+  Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) );
+  Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) );
+  Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) );
+  if(Numer==0){ if(Deno1==0 & Deno2==0){ Crit <- 1; } else { Crit <- 0; } 
+  } else { Crit  <- Numer/(Deno1*Deno2); }
+  if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
+
+
+##SubErrorCrit_____KGE_alpha_____________________
+  iCrit <- iCrit+1;
+  SubCritNames[iCrit]  <-  paste(CritName," STDEVsim/STDEVobs",sep="");
+  SubCritValues[iCrit] <- NA;
+  Numer <- sd(VarSim[!TS_ignore]); 
+  Denom <- sd(VarObs[!TS_ignore]); 
+  if(Numer==0 & Denom==0){ Crit <- 1; } else { Crit <- Numer/Denom ; }
+  if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
+
+
+##SubErrorCrit_____KGE_beta______________________  
+  iCrit <- iCrit+1;
+  SubCritNames[iCrit]  <-  paste(CritName," MEANsim/MEANobs",sep="");
+  SubCritValues[iCrit] <- NA;
+  if(meanVarSim==0 & meanVarObs==0){ Crit <- 1; } else { Crit <- meanVarSim/meanVarObs ; }
+  if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
+
+
+##ErrorCrit______________________________________
+  if(sum(is.na(SubCritValues))==0){
+  CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) );
+  }
+
+
+##Output_________________________________________
+  OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,which(TS_ignore));
+  names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed");
+  return(OutputsCrit);
+
+}
+
+
diff --git a/R/ErrorCrit_KGE2.R b/R/ErrorCrit_KGE2.R
new file mode 100644
index 00000000..d4424d72
--- /dev/null
+++ b/R/ErrorCrit_KGE2.R
@@ -0,0 +1,124 @@
+#*****************************************************************************************************************
+#' Function which computes an error criterion based on the KGE' formula proposed by Kling et al. (2012).
+#'
+#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows 
+#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised 
+#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE).
+#*****************************************************************************************************************
+#' @title  Error criterion based on the KGE' formula
+#' @author Laurent Coron (June 2014)
+#' @references
+#'   Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009), 
+#'       Decomposition of the mean squared error and NSE performance criteria: Implications
+#'       for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr
+#'   Kling, H., Fuchs, M. and Paulin, M. (2012), 
+#'       Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios,
+#'       Journal of Hydrology, 424-425, 264-277, doi:10.1016/j.jhydrol.2012.01.011.
+#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}}
+#' @examples ## see example of the ErrorCrit function
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsCrit      [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details
+#' @param  OutputsModel    [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details
+#' @param  quiet           (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:
+#'          \tabular{ll}{
+#'          \emph{$CritValue      }   \tab   [numeric] value of the criterion \cr
+#'          \emph{$CritName       }   \tab   [character] name of the criterion \cr
+#'          \emph{$SubCritValues  }   \tab   [numeric] values of the sub-criteria \cr
+#'          \emph{$SubCritNames   }   \tab   [character] names of the sub-criteria \cr
+#'          \emph{$CritBestValue  }   \tab   [numeric] theoretical best criterion value \cr
+#'          \emph{$Multiplier     }   \tab   [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr
+#'          \emph{$Ind_notcomputed}   \tab   [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr
+#'          }
+#*****************************************************************************************************************'
+ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel,quiet=FALSE){
+
+
+##Arguments_check________________________________
+  if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); }  
+  if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); }  
+
+
+##Initialisation_________________________________
+  CritName <- NA;
+  if(InputsCrit$transfo==""    ){ CritName <- "KGE'[Q]"      ; }
+  if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE'[sqrt(Q)]"; }
+  if(InputsCrit$transfo=="log" ){ CritName <- "KGE'[log(Q)]" ; }
+  if(InputsCrit$transfo=="inv" ){ CritName <- "KGE'[1/Q]"    ; }
+  if(InputsCrit$transfo=="sort"){ CritName <- "KGE'[sort(Q)]"; }
+  CritValue       <- NA;
+  CritBestValue   <- +1;
+  Multiplier      <- -1; ### must be equal to -1 or +1 only
+
+
+##Data_preparation_______________________________
+  VarObs <- InputsCrit$Qobs  ; VarObs[!InputsCrit$BoolCrit] <- NA; 
+  VarSim <- OutputsModel$Qsim; VarSim[!InputsCrit$BoolCrit] <- NA;  
+  ##Data_transformation
+  if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){
+    VarObs <- VarObs + InputsCrit$epsilon;
+    VarSim <- VarSim + InputsCrit$epsilon;
+  } }
+  if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); }
+  if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; VarSim[VarSim      < -1E100] <- NA; }
+  if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs    ; VarSim <- 1/VarSim    ; VarSim[abs(VarSim) > 1E+100] <- NA; }
+  if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); }
+  ##TS_ignore
+  TS_ignore <- !is.finite(VarObs) | !is.finite(VarSim) | !InputsCrit$BoolCrit ;
+  if(sum(!TS_ignore)==0){ OutputsCrit <- list(NA); names(OutputsCrit) <- c("CritValue"); return(OutputsCrit); }
+  if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); }  
+  ##Other_variables_preparation
+  meanVarObs <- mean(VarObs[!TS_ignore]);
+  meanVarSim <- mean(VarSim[!TS_ignore]);
+  iCrit           <- 0;
+  SubCritNames    <- NULL;
+  SubCritValues   <- NULL;
+
+
+##SubErrorCrit_____KGE_rPearson__________________
+  iCrit <- iCrit+1;
+  SubCritNames[iCrit]  <- paste(CritName," rPEARSON(sim vs. obs)",sep="");
+  SubCritValues[iCrit] <- NA;
+  Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) );
+  Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) );
+  Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) );
+  if(Numer==0){ if(Deno1==0 & Deno2==0){ Crit <- 1; } else { Crit <- 0; } 
+  } else { Crit  <- Numer/(Deno1*Deno2); }
+  if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
+
+
+##SubErrorCrit_____KGE_gama______________________
+  iCrit <- iCrit+1;
+  SubCritNames[iCrit]  <-  paste(CritName," CVsim/CVobs",sep="");
+  SubCritValues[iCrit] <- NA;
+  if(meanVarSim==0){ if(sd(VarSim[!TS_ignore])==0){ CVsim <- 1; } else { CVsim <- 99999; } } else { CVsim <- sd(VarSim[!TS_ignore])/meanVarSim; }
+  if(meanVarObs==0){ if(sd(VarObs[!TS_ignore])==0){ CVobs <- 1; } else { CVobs <- 99999; } } else { CVobs <- sd(VarObs[!TS_ignore])/meanVarObs; }
+  if(CVsim==0 & CVobs==0){ Crit <- 1; } else { Crit <- CVsim/CVobs ; }
+  if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
+
+
+##SubErrorCrit_____KGE_beta______________________
+  iCrit <- iCrit+1;
+  SubCritNames[iCrit]  <-  paste(CritName," MEANsim/MEANobs",sep="");
+  SubCritValues[iCrit] <- NA;
+  if(meanVarSim==0 & meanVarObs==0){ Crit <- 1; } else { Crit <- meanVarSim/meanVarObs ; }
+  if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
+
+
+##ErrorCrit______________________________________
+  if(sum(is.na(SubCritValues))==0){
+  CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) );
+  }
+
+
+##Output_________________________________________
+  OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,which(TS_ignore));
+  names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed");
+  return(OutputsCrit);
+
+}
+
+
diff --git a/R/ErrorCrit_NSE.R b/R/ErrorCrit_NSE.R
new file mode 100644
index 00000000..7fcbb3ab
--- /dev/null
+++ b/R/ErrorCrit_NSE.R
@@ -0,0 +1,87 @@
+#*****************************************************************************************************************
+#' Function which computes an error criterion based on the NSE formula proposed by Nash & Sutcliffe (1970).
+#'
+#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows 
+#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised 
+#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE).
+#*****************************************************************************************************************
+#' @title  Error criterion based on the NSE formula
+#' @author Laurent Coron (June 2014)
+#' @references
+#'   Nash, J.E. and Sutcliffe, J.V. (1970), 
+#'       River flow forecasting through conceptual models part 1.
+#'       A discussion of principles, Journal of Hydrology, 10(3), 282-290, doi:10.1016/0022-1694(70)90255-6. \cr
+#' @seealso \code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_KGE}}, \code{\link{ErrorCrit_KGE2}}
+#' @examples ## see example of the ErrorCrit function
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsCrit      [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details
+#' @param  OutputsModel    [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details
+#' @param  quiet           (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:
+#'          \tabular{ll}{
+#'          \emph{$CritValue      }   \tab   [numeric] value of the criterion \cr
+#'          \emph{$CritName       }   \tab   [character] name of the criterion \cr
+#'          \emph{$CritBestValue  }   \tab   [numeric] theoretical best criterion value \cr
+#'          \emph{$Multiplier     }   \tab   [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr
+#'          \emph{$Ind_notcomputed}   \tab   [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr
+#'          }
+#*****************************************************************************************************************
+ErrorCrit_NSE <- function(InputsCrit,OutputsModel,quiet=FALSE){
+
+
+##Arguments_check________________________________
+  if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); }  
+  if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); }  
+
+
+##Initialisation_________________________________
+  CritName <- NA;
+  if(InputsCrit$transfo==""    ){ CritName <- "NSE[Q]"      ; }
+  if(InputsCrit$transfo=="sqrt"){ CritName <- "NSE[sqrt(Q)]"; }
+  if(InputsCrit$transfo=="log" ){ CritName <- "NSE[log(Q)]" ; }
+  if(InputsCrit$transfo=="inv" ){ CritName <- "NSE[1/Q]"    ; }
+  if(InputsCrit$transfo=="sort"){ CritName <- "NSE[sort(Q)]"; }
+  CritValue       <- NA;
+  CritBestValue   <- +1;
+  Multiplier      <- -1; ### must be equal to -1 or +1 only
+
+
+##Data_preparation_______________________________
+  VarObs <- InputsCrit$Qobs  ; VarObs[!InputsCrit$BoolCrit] <- NA; 
+  VarSim <- OutputsModel$Qsim; VarSim[!InputsCrit$BoolCrit] <- NA;  
+  ##Data_transformation
+  if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){
+    VarObs <- VarObs + InputsCrit$epsilon;
+    VarSim <- VarSim + InputsCrit$epsilon;
+  } }
+  if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); }
+  if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; VarSim[VarSim      < -1E100] <- NA; }
+  if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs    ; VarSim <- 1/VarSim    ; VarSim[abs(VarSim) > 1E+100] <- NA; }
+  if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); }
+  ##TS_ignore
+  TS_ignore <- !is.finite(VarObs) | !is.finite(VarSim) | !InputsCrit$BoolCrit ;
+  if(sum(!TS_ignore)==0){ OutputsCrit <- list(NA); names(OutputsCrit) <- c("CritValue"); return(OutputsCrit); }
+  if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); }  
+  ##Other_variables_preparation
+  meanVarObs <- mean(VarObs[!TS_ignore]);
+  meanVarSim <- mean(VarSim[!TS_ignore]);
+
+
+##ErrorCrit______________________________________
+  Emod <- sum((VarSim[!TS_ignore]-VarObs[!TS_ignore])^2);
+  Eref <- sum((VarObs[!TS_ignore]-mean(VarObs[!TS_ignore]))^2);
+  if(Emod==0 & Eref==0){ Crit <- 0; } else { Crit <- (1-Emod/Eref); }
+  if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; }
+
+
+##Output_________________________________________
+  OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,which(TS_ignore));
+  names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed");
+  return(OutputsCrit);
+
+}
+
+
diff --git a/R/ErrorCrit_RMSE.R b/R/ErrorCrit_RMSE.R
new file mode 100644
index 00000000..a5da7a3e
--- /dev/null
+++ b/R/ErrorCrit_RMSE.R
@@ -0,0 +1,81 @@
+#*****************************************************************************************************************
+#' Function which computes an error criterion based on the root mean square error (RMSE).
+#'
+#' In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows 
+#' the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised 
+#' (e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE).
+#*****************************************************************************************************************
+#' @title  Error criterion based on the RMSE
+#' @author Laurent Coron (June 2014)
+#' @seealso \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}}, \code{\link{ErrorCrit_KGE2}}
+#' @examples ## see example of the ErrorCrit function
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsCrit      [object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details
+#' @param  OutputsModel    [object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details
+#' @param  quiet           (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:
+#'          \tabular{ll}{
+#'          \emph{$CritValue      }   \tab   [numeric] value of the criterion \cr
+#'          \emph{$CritName       }   \tab   [character] name of the criterion \cr
+#'          \emph{$CritBestValue  }   \tab   [numeric] theoretical best criterion value \cr
+#'          \emph{$Multiplier     }   \tab   [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr
+#'          \emph{$Ind_notcomputed}   \tab   [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr
+#'          }
+#*****************************************************************************************************************
+ErrorCrit_RMSE <- function(InputsCrit,OutputsModel,quiet=FALSE){
+
+
+##Arguments_check________________________________
+  if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); }  
+  if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); }  
+
+
+##Initialisation_________________________________
+  CritName <- NA;
+  if(InputsCrit$transfo==""    ){ CritName <- "RMSE[Q]"      ; }
+  if(InputsCrit$transfo=="sqrt"){ CritName <- "RMSE[sqrt(Q)]"; }
+  if(InputsCrit$transfo=="log" ){ CritName <- "RMSE[log(Q)]" ; }
+  if(InputsCrit$transfo=="inv" ){ CritName <- "RMSE[1/Q]"    ; }
+  if(InputsCrit$transfo=="sort"){ CritName <- "RMSE[sort(Q)]"; }
+
+  CritValue       <- NA;
+  CritBestValue   <- +1;
+  Multiplier      <- -1; ### must be equal to -1 or +1 only
+
+
+##Data_preparation_______________________________
+  VarObs <- InputsCrit$Qobs  ; VarObs[!InputsCrit$BoolCrit] <- NA; 
+  VarSim <- OutputsModel$Qsim; VarSim[!InputsCrit$BoolCrit] <- NA;  
+  ##Data_transformation
+  if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){
+    VarObs <- VarObs + InputsCrit$epsilon;
+    VarSim <- VarSim + InputsCrit$epsilon;
+  } }
+  if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); }
+  if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; VarSim[VarSim      < -1E100] <- NA; }
+  if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs    ; VarSim <- 1/VarSim    ; VarSim[abs(VarSim) > 1E+100] <- NA; }
+  if(InputsCrit$transfo=="sort"){ VarObs <- sort(VarObs); VarSim <- sort(VarSim); }
+  ##TS_ignore
+  TS_ignore <- !is.finite(VarObs) | !is.finite(VarSim) | !InputsCrit$BoolCrit ;
+  if(sum(!TS_ignore)==0){ OutputsCrit <- list(NA); names(OutputsCrit) <- c("CritValue"); return(OutputsCrit); }
+  if(sum(!TS_ignore)<365 & !quiet){ warning("\t criterion computed on less than 365 time-steps \n"); }  
+
+
+##ErrorCrit______________________________________
+  Numer <- sum((VarSim-VarObs)^2,na.rm=TRUE);
+  Denom <- sum(!is.na(VarObs));
+  if(Numer==0){ Crit <- 0; } else { Crit <- sqrt(Numer/Denom); }
+  if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; }
+
+
+##Output_________________________________________
+  OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,which(TS_ignore));
+  names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed");
+  return(OutputsCrit);
+
+}
+
+
diff --git a/R/PEdaily_Oudin.R b/R/PEdaily_Oudin.R
new file mode 100644
index 00000000..1f3b2c6d
--- /dev/null
+++ b/R/PEdaily_Oudin.R
@@ -0,0 +1,58 @@
+#*****************************************************************************************************************
+#' Function which computes daily PE using the formula from Oudin et al. (2005).
+#*****************************************************************************************************************
+#' @title   Computation of daily series of potential evapotranspiration with Oudin's formula
+#' @author  Laurent Coron (December 2013)
+#' @references
+#'   Oudin, L., F. Hervieu, C. Michel, C. Perrin, V. Andréassian, F. Anctil and C. Loumagne (2005),
+#'       Which potential evapotranspiration input for a lumped rainfall-runoff model?: Part 2-Towards a 
+#'       simple and efficient potential evapotranspiration model for rainfall-runoff modelling, Journal of Hydrology, 
+#'       303(1-4), 290-306, doi:10.1016/j.jhydrol.2004.08.026.
+#' @examples 
+#'    require(airGR)
+#'    data(L0123001)
+#'    PotEvap <- PEdaily_Oudin(JD=as.POSIXlt(BasinObs$DatesR)$yday,Temp=BasinObs$T,LatRad=0.8)
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param   JD       [numeric] time series of julian day [-]
+#' @param   Temp     [numeric] time series of daily mean air temperature [degC]
+#' @param   LatRad   [numeric] latitude of measurement for the temperature series [rad]
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [numeric] time series of daily potential evapotranspiration [mm/d]
+#*****************************************************************************************************************'
+PEdaily_Oudin <- function(JD,Temp,LatRad){
+
+    PE_Oudin_D <- rep(NA,length(Temp));
+    for(k in 1:length(Temp)){
+
+      FI <- LatRad  ### latitude in rad
+      ### FI <- LatDeg/(180/pi)  ### conversion from deg to rad
+      COSFI <- cos(FI)
+      AFI <- abs(LatRad/42.)
+     
+      TETA <- 0.4093*sin(JD[k]/58.1-1.405)
+      COSTETA <- cos(TETA)
+      COSGZ <- max(0.001,cos(FI-TETA))
+      GZ <- acos(COSGZ)
+      COSGZ2 <- COSGZ*COSGZ
+      if(COSGZ2 >= 1){ SINGZ <- 0. } else { SINGZ <- sqrt(1.-COSGZ2) }
+      COSOM <- 1.-COSGZ/COSFI/COSTETA
+      if(COSOM < -1.){ COSOM <- -1. }
+      if(COSOM >  1.){ COSOM <-  1. }
+      COSOM2 <- COSOM*COSOM
+      if(COSOM2 >= 1.){ SINOM <- 0. } else { SINOM <- sqrt(1.-COSOM2) }
+      OM <- acos(COSOM)
+      COSPZ <- COSGZ+COSFI*COSTETA*(SINOM/OM-1.)
+      if(COSPZ < 0.001){ COSPZ <- 0.001 }
+      ETA <- 1.+cos(JD[k]/58.1)/30.
+      GE <- 446.*OM*COSPZ*ETA
+      
+      if(Temp[k] >= -5.0) { PE_Oudin_D[k] <- GE*(Temp[k]+5.)/100./28.5 } else { PE_Oudin_D[k] <- 0 }
+
+    }
+
+    return(PE_Oudin_D);
+
+}
+
diff --git a/R/RunModel.R b/R/RunModel.R
new file mode 100644
index 00000000..4acfd1e2
--- /dev/null
+++ b/R/RunModel.R
@@ -0,0 +1,22 @@
+#*****************************************************************************************************************
+#' Function which performs a single model run with the provided function.
+#*****************************************************************************************************************
+#' @title  Run with the provided hydrological model function
+#' @author Laurent Coron (June 2014)
+#' @seealso \code{\link{RunModel_GR4J}}, \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+#' @example tests/example_RunModel.R
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Param               [numeric] vector of model parameters
+#' @param  FUN_MOD             [function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details
+#*****************************************************************************************************************'
+RunModel <- function(InputsModel,RunOptions,Param,FUN_MOD){
+    return( FUN_MOD(InputsModel,RunOptions,Param) )
+}
+
diff --git a/R/RunModel_CemaNeige.R b/R/RunModel_CemaNeige.R
new file mode 100644
index 00000000..8122b4b5
--- /dev/null
+++ b/R/RunModel_CemaNeige.R
@@ -0,0 +1,131 @@
+#*****************************************************************************************************************
+#' Function which performs a single model run for RunModel_CemaNeige.
+#'
+#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+#*****************************************************************************************************************
+#' @title Run with the CemaNeige snow module
+#' @author Laurent Coron (January 2014)
+#' @references
+#'   Valéry, A., V. Andréassian and C. Perrin (2014), 
+#'       "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? 
+#'       Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr
+#'   Valéry, A., V. Andréassian and C. Perrin (2014), 
+#'       "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? 
+#'       Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058.
+#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+#' @example tests/example_RunModel_CemaNeige.R
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Param               [numeric] vector of 2 parameters                                                             
+#'                             \tabular{ll}{                                                                      
+#'                             CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-]         \cr
+#'                             CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d]                       \cr
+#'                             }                                                                                  
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:                                         
+#'          \tabular{ll}{                                                                                         
+#'          \emph{$DatesR  }                                  \tab [POSIXlt] series of dates                                    \cr
+#'          \emph{$CemaNeigeLayers}                           \tab [list] list of CemaNeige outputs (1 list per layer)          \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Pliq         }   \tab [numeric] series of liquid precip. [mm/d]                    \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Psol         }   \tab [numeric] series of solid precip. [mm/d]                     \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$SnowPack     }   \tab [numeric] series of snow pack [mm]                           \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$ThermalState }   \tab [numeric] series of snow pack thermal state [degC]           \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Gratio       }   \tab [numeric] series of Gratio [0-1]                             \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$PotMelt      }   \tab [numeric] series of potential snow melt [mm]                 \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Melt         }   \tab [numeric] series of actual snow melt [mm]                    \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt  }   \tab [numeric] series of liquid precip. + actual snow melt [mm]   \cr
+#'          \emph{$StateEnd}                                  \tab [numeric] states at the end of the run: CemaNeige states [mm & degC] \cr
+#'          }                                                                                                     
+#'          (refer to the provided references or to the package source code for further details on these model outputs)
+#*****************************************************************************************************************'
+RunModel_CemaNeige <- function(InputsModel,RunOptions,Param){
+
+    NParam <- 2;
+    FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt");
+
+    ##Arguments_check
+      if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+      if(inherits(InputsModel,"daily"      )==FALSE){ stop("InputsModel must be of class 'daily'       \n"); return(NULL); }  
+      if(inherits(InputsModel,"CemaNeige"  )==FALSE){ stop("InputsModel must be of class 'CemaNeige'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"RunOptions"  )==FALSE){ stop("RunOptions must be of class 'RunOptions'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"CemaNeige"   )==FALSE){ stop("RunOptions must be of class 'CemaNeige'    \n"); return(NULL); }  
+      if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); }
+      if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); }
+      Param <- as.double(Param);
+
+    ##Input_data_preparation
+      if(identical(RunOptions$IndPeriod_WarmUp,0)){ RunOptions$IndPeriod_WarmUp <- NULL; }
+      IndPeriod1    <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run);
+      IndPeriod2    <- (length(RunOptions$IndPeriod_WarmUp)+1):length(IndPeriod1);
+      ExportDatesR    <- "DatesR"   %in% RunOptions$Outputs_Sim;
+      ExportStateEnd  <- "StateEnd" %in% RunOptions$Outputs_Sim;
+
+
+
+    ##SNOW_MODULE________________________________________________________________________________##
+      ParamCemaNeige  <- Param;
+      NLayers         <- length(InputsModel$LayerPrecip);
+      if(sum(is.na(ParamCemaNeige))!=0){ stop("Param contains missing values \n"); return(NULL); }
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); 
+      } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim);  }
+      CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers";
+
+    ##Call_DLL_CemaNeige_________________________
+      for(iLayer in 1:NLayers){
+        StateStartCemaNeige <- RunOptions$IniStates[ (2*(iLayer-1)+1):(2*(iLayer-1)+2) ];
+        RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",
+                        ##inputs
+                            LInputs=as.integer(length(IndPeriod1)),                                        ### length of input and output series
+                            InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1],                    ### input series of total precipitation [mm/d]
+                            InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1],  ### input series of fraction of solid precipitation [0-1]
+                            InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1],                        ### input series of air mean temperature [degC]
+                            MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer],                        ### value of annual mean solid precip [mm/y]
+                            NParam=as.integer(2),                                                          ### number of model parameter = 2
+                            Param=ParamCemaNeige,                                                          ### parameter set
+                            NStates=as.integer(2),                                                         ### number of state variables used for model initialising = 2
+                            StateStart=StateStartCemaNeige,                                                ### state variables used when the model run starts
+                            NOutputs=as.integer(length(IndOutputsCemaNeige)),                              ### number of output series
+                            IndOutputs=IndOutputsCemaNeige,                                                ### indices of output series
+                        ##outputs                                                               
+                            Outputs=matrix(as.double(-999.999),nrow=length(IndPeriod1),ncol=length(IndOutputsCemaNeige)),  ### output series [mm]
+                            StateEnd=rep(as.double(-999.999),as.integer(2))                                                ### state variables at the end of the model run (reservoir levels [mm] and HU)
+                         )
+        RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+        RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+
+        ##Data_storage
+        CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]);
+        names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige];
+        if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); }
+        rm(RESULTS); 
+      } ###ENDFOR_iLayer
+      names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep="");
+
+      ##Output_data_preparation
+      if(ExportDatesR==FALSE & ExportStateEnd==FALSE){
+        OutputsModel <- list(CemaNeigeLayers);
+        names(OutputsModel) <- NameCemaNeigeLayers;   }
+      if(ExportDatesR==TRUE & ExportStateEnd==FALSE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           list(CemaNeigeLayers) );
+        names(OutputsModel) <- c("DatesR",NameCemaNeigeLayers);   }
+      if(ExportDatesR==FALSE & ExportStateEnd==TRUE){
+        OutputsModel <- c( list(CemaNeigeLayers),
+                           CemaNeigeStateEnd );
+        names(OutputsModel) <- c(NameCemaNeigeLayers,"StateEnd");   }
+      if(ExportDatesR==TRUE & ExportStateEnd==TRUE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           list(CemaNeigeLayers),
+                           CemaNeigeStateEnd );
+        names(OutputsModel) <- c("DatesR",NameCemaNeigeLayers,"StateEnd");   }
+
+    ##End
+      class(OutputsModel) <- c("OutputsModel","daily","CemaNeige");
+      return(OutputsModel);
+
+}
+  
diff --git a/R/RunModel_CemaNeigeGR4J.R b/R/RunModel_CemaNeigeGR4J.R
new file mode 100644
index 00000000..70e81522
--- /dev/null
+++ b/R/RunModel_CemaNeigeGR4J.R
@@ -0,0 +1,208 @@
+#*****************************************************************************************************************
+#' Function which performs a single model run for RunModel_CemaNeigeGR4J.
+#'
+#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+#*****************************************************************************************************************
+#' @title Run with the CemaNeigeGR4J hydrological model
+#' @author Laurent Coron (December 2013)
+#' @references
+#'   Perrin, C., C. Michel and V. Andréassian (2003), 
+#'       Improvement of a parsimonious model for streamflow simulation, 
+#'       Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7.
+#'   Valéry, A., V. Andréassian and C. Perrin (2014), 
+#'       "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? 
+#'       Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr
+#'   Valéry, A., V. Andréassian and C. Perrin (2014), 
+#'       "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? 
+#'       Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058.
+#' @seealso \code{\link{RunModel_CemaNeigeGR5J}}, \code{\link{RunModel_CemaNeigeGR6J}}, \code{\link{RunModel_GR4J}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+#' @example tests/example_RunModel_CemaNeigeGR4J.R
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Param               [numeric] vector of 6 parameters                                                             
+#'                             \tabular{ll}{                                                                      
+#'                             GR4J X1      \tab production store capacity [mm]                                \cr
+#'                             GR4J X2      \tab intercatchment exchange coefficient [mm/d]                    \cr
+#'                             GR4J X3      \tab routing store capacity [mm]                                   \cr
+#'                             GR4J X4      \tab unit hydrograph time constant [d]                             \cr
+#'                             CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-]         \cr
+#'                             CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d]                       \cr
+#'                             }                                                                                  
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:                                         
+#'          \tabular{ll}{                                                                                         
+#'          \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+#'          \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+#'          \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+#'          \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+#'          \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+#'          \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+#'          \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+#'          \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+#'          \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+#'          \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+#'          \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+#'          \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+#'          \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+#'          \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+#'          \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+#'          \emph{$CemaNeigeLayers}   \tab [list] list of CemaNeige outputs (1 list per layer)                          \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Pliq         }   \tab [numeric] series of liquid precip. [mm/d]                          \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Psol         }   \tab [numeric] series of solid precip. [mm/d]                           \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$SnowPack     }   \tab [numeric] series of snow pack [mm]                                 \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$ThermalState }   \tab [numeric] series of snow pack thermal state [degC]                 \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Gratio       }   \tab [numeric] series of Gratio [0-1]                                   \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$PotMelt      }   \tab [numeric] series of potential snow melt [mm/d]                     \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Melt         }   \tab [numeric] series of actual snow melt [mm/d]                        \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt  }   \tab [numeric] series of liquid precip. + actual snow melt [mm/d]       \cr
+#'          \emph{$StateEnd}                                  \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr
+#'          }                                                                                                     
+#'          (refer to the provided references or to the package source code for further details on these model outputs)
+#*****************************************************************************************************************'
+RunModel_CemaNeigeGR4J <- function(InputsModel,RunOptions,Param){
+
+    NParam <- 6;
+    FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt");
+    FortranOutputsMod       <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim");
+
+    ##Arguments_check
+      if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+      if(inherits(InputsModel,"daily"      )==FALSE){ stop("InputsModel must be of class 'daily'       \n"); return(NULL); }  
+      if(inherits(InputsModel,"GR"         )==FALSE){ stop("InputsModel must be of class 'GR'          \n"); return(NULL); }  
+      if(inherits(InputsModel,"CemaNeige"  )==FALSE){ stop("InputsModel must be of class 'CemaNeige'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"RunOptions"  )==FALSE){ stop("RunOptions must be of class 'RunOptions'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"GR"          )==FALSE){ stop("RunOptions must be of class 'GR'           \n"); return(NULL); }  
+      if(inherits(RunOptions,"CemaNeige"   )==FALSE){ stop("RunOptions must be of class 'CemaNeige'    \n"); return(NULL); }  
+      if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); }
+      if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); }
+      Param <- as.double(Param);
+
+    ##Input_data_preparation
+      if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; }
+      IndPeriod1     <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run);
+      LInputSeries   <- as.integer(length(IndPeriod1))
+      IndPeriod2     <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries;
+      ParamCemaNeige <- Param[(length(Param)-1):length(Param)];
+      NParamMod      <- as.integer(length(Param)-2);
+      ParamMod       <- Param[1:NParamMod];
+      NLayers        <- length(InputsModel$LayerPrecip);
+      NStatesMod     <- as.integer(length(RunOptions$IniStates)-2*NLayers);
+      ExportDatesR   <- "DatesR"   %in% RunOptions$Outputs_Sim;
+      ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim;
+
+
+
+    ##SNOW_MODULE________________________________________________________________________________##
+    if(RunOptions$RunSnowModule==TRUE){
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); 
+      } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim);  }
+      CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers";
+
+    ##Call_DLL_CemaNeige_________________________
+      for(iLayer in 1:NLayers){
+        StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ];
+        RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",
+                        ##inputs
+                            LInputs=LInputSeries,                                                          ### length of input and output series
+                            InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1],                    ### input series of total precipitation [mm/d]
+                            InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1],  ### input series of fraction of solid precipitation [0-1]
+                            InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1],                        ### input series of air mean temperature [degC]
+                            MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer],                        ### value of annual mean solid precip [mm/y]
+                            NParam=as.integer(2),                                                          ### number of model parameter = 2
+                            Param=ParamCemaNeige,                                                          ### parameter set
+                            NStates=as.integer(2),                                                         ### number of state variables used for model initialising = 2
+                            StateStart=StateStartCemaNeige,                                                ### state variables used when the model run starts
+                            NOutputs=as.integer(length(IndOutputsCemaNeige)),                              ### number of output series
+                            IndOutputs=IndOutputsCemaNeige,                                                ### indices of output series
+                        ##outputs                                                               
+                            Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)),  ### output series [mm]
+                            StateEnd=rep(as.double(-999.999),as.integer(2))                                          ### state variables at the end of the model run (reservoir levels [mm] and HU)
+                         )
+        RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+        RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+
+        ##Data_storage
+        CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]);
+        names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige];
+        IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt");
+        if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; }
+        if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; }
+        if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); }
+        rm(RESULTS); 
+      } ###ENDFOR_iLayer
+      names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep="");
+    } ###ENDIF_RunSnowModule
+    if(RunOptions$RunSnowModule==FALSE){
+      CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL;
+      CatchMeltAndPliq  <- InputsModel$Precip[IndPeriod1]; }
+
+
+
+    ##MODEL______________________________________________________________________________________##
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); 
+      } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim);  }
+
+    ##Use_of_IniResLevels
+      if("IniResLevels" %in% RunOptions){
+        RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3];  ### routing store level (mm)
+        RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1];  ### production store level (mm)
+      }
+
+    ##Call_fortan
+      RESULTS <- .Fortran("frun_gr4j",PACKAGE="airgr",
+                 ##inputs
+                     LInputs=LInputSeries,                         ### length of input and output series
+                     InputsPrecip=CatchMeltAndPliq,                ### input series of total precipitation [mm/d]
+                     InputsPE=InputsModel$PotEvap[IndPeriod1],     ### input series potential evapotranspiration [mm/d]
+                     NParam=NParamMod,                             ### number of model parameter
+                     Param=ParamMod,                               ### parameter set
+                     NStates=NStatesMod,                           ### number of state variables used for model initialising
+                     StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts
+                     NOutputs=as.integer(length(IndOutputsMod)),   ### number of output series
+                     IndOutputs=IndOutputsMod,                     ### indices of output series
+                 ##outputs                                        
+                     Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)),  ### output series [mm]
+                     StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates))                     ### state variables at the end of the model run
+                     )
+      RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+      RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+      if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; }
+
+    ##Output_data_preparation
+      ##OutputsModel_only
+      if(ExportDatesR==FALSE & ExportStateEnd==FALSE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers) );
+        names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); }
+      ##DatesR_and_OutputsModel_only
+      if(ExportDatesR==TRUE & ExportStateEnd==FALSE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers) );
+        names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers);      }
+      ##OutputsModel_and_SateEnd_only
+      if(ExportDatesR==FALSE & ExportStateEnd==TRUE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers),
+                           list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) );
+        names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd");      }
+      ##DatesR_and_OutputsModel_and_SateEnd
+      if(ExportDatesR==TRUE & ExportStateEnd==TRUE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers),
+                           list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) );
+        names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd");      }
+
+    ##End
+      rm(RESULTS); 
+      class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige");
+      return(OutputsModel);
+
+}
+
diff --git a/R/RunModel_CemaNeigeGR5J.R b/R/RunModel_CemaNeigeGR5J.R
new file mode 100644
index 00000000..e65f5dc0
--- /dev/null
+++ b/R/RunModel_CemaNeigeGR5J.R
@@ -0,0 +1,210 @@
+#*****************************************************************************************************************
+#' Function which performs a single model run for RunModel_CemaNeigeGR5J.
+#'
+#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+#*****************************************************************************************************************
+#' @title Run with the CemaNeigeGR5J hydrological model
+#' @author Laurent Coron (December 2013)
+#' @references
+#'   Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances 
+#'       et du réalisme des modèles pluie-débit ?, PhD thesis (french), UPMC, Paris, France. \cr
+#'   Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), 
+#'       A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, 
+#'       Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+#'   Valéry, A., V. Andréassian and C. Perrin (2014), 
+#'       "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? 
+#'       Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr
+#'   Valéry, A., V. Andréassian and C. Perrin (2014), 
+#'       "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? 
+#'       Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058.
+#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{RunModel_CemaNeigeGR6J}}, \code{\link{RunModel_GR5J}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+#' @example tests/example_RunModel_CemaNeigeGR5J.R
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Param               [numeric] vector of 7 parameters                                                             
+#'                             \tabular{ll}{                                                                      
+#'                             GR5J X1      \tab production store capacity [mm]                                \cr
+#'                             GR5J X2      \tab intercatchment exchange coefficient 1 [mm/d]                  \cr
+#'                             GR5J X3      \tab routing store capacity [mm]                                   \cr
+#'                             GR5J X4      \tab unit hydrograph time constant [d]                             \cr
+#'                             GR5J X5      \tab intercatchment exchange coefficient 2 [-]                     \cr
+#'                             CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-]         \cr
+#'                             CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d]                       \cr
+#'                             }                                                                                  
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:                                         
+#'          \tabular{ll}{                                                                                         
+#'          \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+#'          \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+#'          \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+#'          \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+#'          \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+#'          \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+#'          \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+#'          \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+#'          \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+#'          \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+#'          \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+#'          \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+#'          \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+#'          \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+#'          \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+#'          \emph{$CemaNeigeLayers}   \tab [list] list of CemaNeige outputs (1 list per layer)                          \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Pliq         }   \tab [numeric] series of liquid precip. [mm/d]                          \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Psol         }   \tab [numeric] series of solid precip. [mm/d]                           \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$SnowPack     }   \tab [numeric] series of snow pack [mm]                                 \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$ThermalState }   \tab [numeric] series of snow pack thermal state [degC]                 \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Gratio       }   \tab [numeric] series of Gratio [0-1]                                   \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$PotMelt      }   \tab [numeric] series of potential snow melt [mm/d]                     \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Melt         }   \tab [numeric] series of actual snow melt [mm/d]                        \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt  }   \tab [numeric] series of liquid precip. + actual snow melt [mm/d]       \cr
+#'          \emph{$StateEnd}                                  \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr
+#'          }                                                                                                     
+#'          (refer to the provided references or to the package source code for further details on these model outputs)
+#*****************************************************************************************************************'
+RunModel_CemaNeigeGR5J <- function(InputsModel,RunOptions,Param){
+
+    NParam <- 7;
+    FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt");
+    FortranOutputsMod       <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim");
+
+    ##Arguments_check
+      if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+      if(inherits(InputsModel,"daily"      )==FALSE){ stop("InputsModel must be of class 'daily'       \n"); return(NULL); }  
+      if(inherits(InputsModel,"GR"         )==FALSE){ stop("InputsModel must be of class 'GR'          \n"); return(NULL); }  
+      if(inherits(InputsModel,"CemaNeige"  )==FALSE){ stop("InputsModel must be of class 'CemaNeige'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"RunOptions"  )==FALSE){ stop("RunOptions must be of class 'RunOptions'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"GR"          )==FALSE){ stop("RunOptions must be of class 'GR'           \n"); return(NULL); }  
+      if(inherits(RunOptions,"CemaNeige"   )==FALSE){ stop("RunOptions must be of class 'CemaNeige'    \n"); return(NULL); }  
+      if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); }
+      if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); }
+      Param <- as.double(Param);
+
+    ##Input_data_preparation
+      if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; }
+      IndPeriod1     <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run);
+      LInputSeries   <- as.integer(length(IndPeriod1))
+      IndPeriod2     <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries;
+      ParamCemaNeige <- Param[(length(Param)-1):length(Param)];
+      NParamMod      <- as.integer(length(Param)-2);
+      ParamMod       <- Param[1:NParamMod];
+      NLayers        <- length(InputsModel$LayerPrecip);
+      NStatesMod     <- as.integer(length(RunOptions$IniStates)-2*NLayers);
+      ExportDatesR   <- "DatesR"   %in% RunOptions$Outputs_Sim;
+      ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim;
+
+
+    ##SNOW_MODULE________________________________________________________________________________##
+    if(RunOptions$RunSnowModule==TRUE){
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); 
+      } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim);  }
+      CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers";
+
+    ##Call_DLL_CemaNeige_________________________
+      for(iLayer in 1:NLayers){
+        StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ];
+        RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",
+                        ##inputs
+                            LInputs=LInputSeries,                                                          ### length of input and output series
+                            InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1],                    ### input series of total precipitation [mm/d]
+                            InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1],  ### input series of fraction of solid precipitation [0-1]
+                            InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1],                        ### input series of air mean temperature [degC]
+                            MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer],                        ### value of annual mean solid precip [mm/y]
+                            NParam=as.integer(2),                                                          ### number of model parameter = 2
+                            Param=ParamCemaNeige,                                                          ### parameter set
+                            NStates=as.integer(2),                                                         ### number of state variables used for model initialising = 2
+                            StateStart=StateStartCemaNeige,                                                ### state variables used when the model run starts
+                            NOutputs=as.integer(length(IndOutputsCemaNeige)),                              ### number of output series
+                            IndOutputs=IndOutputsCemaNeige,                                                ### indices of output series
+                        ##outputs                                                               
+                            Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)),  ### output series [mm]
+                            StateEnd=rep(as.double(-999.999),as.integer(2))                                          ### state variables at the end of the model run (reservoir levels [mm] and HU)
+                         )
+        RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+        RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+
+        ##Data_storage
+        CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]);
+        names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige];
+        IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt");
+        if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; }
+        if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; }
+        if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); }
+        rm(RESULTS); 
+      } ###ENDFOR_iLayer
+      names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep="");
+    } ###ENDIF_RunSnowModule
+    if(RunOptions$RunSnowModule==FALSE){
+      CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL;
+      CatchMeltAndPliq  <- InputsModel$Precip[IndPeriod1]; }
+
+
+
+    ##MODEL______________________________________________________________________________________##
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); 
+      } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim);  }
+
+    ##Use_of_IniResLevels
+      if("IniResLevels" %in% RunOptions){
+        RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3];  ### routing store level (mm)
+        RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1];  ### production store level (mm)
+      }
+
+    ##Call_fortan
+      RESULTS <- .Fortran("frun_gr5j",PACKAGE="airgr",
+                 ##inputs
+                     LInputs=LInputSeries,                         ### length of input and output series
+                     InputsPrecip=CatchMeltAndPliq,                ### input series of total precipitation [mm/d]
+                     InputsPE=InputsModel$PotEvap[IndPeriod1],     ### input series potential evapotranspiration [mm/d]
+                     NParam=NParamMod,                             ### number of model parameter
+                     Param=ParamMod,                               ### parameter set
+                     NStates=NStatesMod,                           ### number of state variables used for model initialising
+                     StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts
+                     NOutputs=as.integer(length(IndOutputsMod)),   ### number of output series
+                     IndOutputs=IndOutputsMod,                     ### indices of output series
+                 ##outputs                                        
+                     Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)),  ### output series [mm]
+                     StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates))                     ### state variables at the end of the model run
+                     )
+      RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+      RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+      if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; }
+
+    ##Output_data_preparation
+      ##OutputsModel_only
+      if(ExportDatesR==FALSE & ExportStateEnd==FALSE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers) );
+        names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); }
+      ##DatesR_and_OutputsModel_only
+      if(ExportDatesR==TRUE & ExportStateEnd==FALSE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers) );
+        names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers);      }
+      ##OutputsModel_and_SateEnd_only
+      if(ExportDatesR==FALSE & ExportStateEnd==TRUE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers),
+                           list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) );
+        names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd");      }
+      ##DatesR_and_OutputsModel_and_SateEnd
+      if(ExportDatesR==TRUE & ExportStateEnd==TRUE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers),
+                           list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) );
+        names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd");      }
+
+    ##End
+      rm(RESULTS); 
+      class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige");
+      return(OutputsModel);
+
+}
+
diff --git a/R/RunModel_CemaNeigeGR6J.R b/R/RunModel_CemaNeigeGR6J.R
new file mode 100644
index 00000000..32604bd1
--- /dev/null
+++ b/R/RunModel_CemaNeigeGR6J.R
@@ -0,0 +1,211 @@
+#*****************************************************************************************************************
+#' Function which performs a single model run for RunModel_CemaNeigeGR6J.
+#'
+#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+#*****************************************************************************************************************
+#' @title Run with the CemaNeigeGR6J hydrological model
+#' @author Laurent Coron (December 2013)
+#' @references
+#'   Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), 
+#'       A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, 
+#'       Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+#'   Valéry, A., V. Andréassian and C. Perrin (2014), 
+#'       "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine? 
+#'       Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr
+#'   Valéry, A., V. Andréassian and C. Perrin (2014), 
+#'       "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? 
+#'       Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058.
+#' @seealso \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{RunModel_CemaNeigeGR5J}}, \code{\link{RunModel_GR6J}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Param               [numeric] vector of 8 parameters                                                             
+#'                             \tabular{ll}{                                                                      
+#'                             GR6J X1      \tab production store capacity [mm]                                \cr
+#'                             GR6J X2      \tab intercatchment exchange coefficient 1 [mm/d]                  \cr
+#'                             GR6J X3      \tab routing store capacity [mm]                                   \cr
+#'                             GR6J X4      \tab unit hydrograph time constant [d]                             \cr
+#'                             GR6J X5      \tab intercatchment exchange coefficient 2 [-]                     \cr
+#'                             GR6J X6      \tab coefficient for emptying exponential store [-]                \cr
+#'                             CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-]         \cr
+#'                             CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d]                       \cr
+#'                             }                                                                                  
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:                                         
+#'          \tabular{ll}{                                                                                         
+#'          \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+#'          \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+#'          \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+#'          \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+#'          \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+#'          \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+#'          \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+#'          \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+#'          \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+#'          \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+#'          \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+#'          \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+#'          \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+#'          \emph{$QR1     }          \tab [numeric] series of exponential store outflow (QR1) [mm/d]                    \cr
+#'          \emph{$Exp     }          \tab [numeric] series of exponential store level (X(6)) (negative) [mm]            \cr
+#'          \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+#'          \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+#'          \emph{$CemaNeigeLayers}   \tab [list] list of CemaNeige outputs (1 list per layer)                          \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Pliq         }   \tab [numeric] series of liquid precip. [mm/d]                          \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Psol         }   \tab [numeric] series of solid precip. [mm/d]                           \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$SnowPack     }   \tab [numeric] series of snow pack [mm]                                 \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$ThermalState }   \tab [numeric] series of snow pack thermal state [degC]                 \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Gratio       }   \tab [numeric] series of Gratio [0-1]                                   \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$PotMelt      }   \tab [numeric] series of potential snow melt [mm/d]                     \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$Melt         }   \tab [numeric] series of actual snow melt [mm/d]                        \cr
+#'          \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt  }   \tab [numeric] series of liquid precip. + actual snow melt [mm/d]       \cr
+#'          \emph{$StateEnd}                                  \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr
+#'          }                                                                                                     
+#'          (refer to the provided references or to the package source code for further details on these model outputs)
+#*****************************************************************************************************************
+RunModel_CemaNeigeGR6J <- function(InputsModel,RunOptions,Param){
+
+    NParam <- 8;
+    FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt");
+    FortranOutputsMod       <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QR1","Exp","QD","Qsim");
+
+    ##Arguments_check
+      if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+      if(inherits(InputsModel,"daily"      )==FALSE){ stop("InputsModel must be of class 'daily'       \n"); return(NULL); }  
+      if(inherits(InputsModel,"GR"         )==FALSE){ stop("InputsModel must be of class 'GR'          \n"); return(NULL); }  
+      if(inherits(InputsModel,"CemaNeige"  )==FALSE){ stop("InputsModel must be of class 'CemaNeige'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"RunOptions"  )==FALSE){ stop("RunOptions must be of class 'RunOptions'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"GR"          )==FALSE){ stop("RunOptions must be of class 'GR'           \n"); return(NULL); }  
+      if(inherits(RunOptions,"CemaNeige"   )==FALSE){ stop("RunOptions must be of class 'CemaNeige'    \n"); return(NULL); }  
+      if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); }
+      if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); }
+      Param <- as.double(Param);
+
+    ##Input_data_preparation
+      if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; }
+      IndPeriod1     <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run);
+      LInputSeries   <- as.integer(length(IndPeriod1))
+      IndPeriod2     <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries;
+      ParamCemaNeige <- Param[(length(Param)-1):length(Param)];
+      NParamMod      <- as.integer(length(Param)-2);
+      ParamMod       <- Param[1:NParamMod];
+      NLayers        <- length(InputsModel$LayerPrecip);
+      NStatesMod     <- as.integer(length(RunOptions$IniStates)-2*NLayers);
+      ExportDatesR   <- "DatesR"   %in% RunOptions$Outputs_Sim;
+      ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim;
+
+
+
+    ##SNOW_MODULE________________________________________________________________________________##
+    if(RunOptions$RunSnowModule==TRUE){
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); 
+      } else { IndOutputsCemaNeige <- which(FortranOutputsCemaNeige %in% RunOptions$Outputs_Sim);  }
+      CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- "CemaNeigeLayers";
+
+    ##Call_DLL_CemaNeige_________________________
+      for(iLayer in 1:NLayers){
+        StateStartCemaNeige <- RunOptions$IniStates[ (NStatesMod+2*(iLayer-1)+1):(NStatesMod+2*(iLayer-1)+2) ];
+        RESULTS <- .Fortran("frun_cemaneige",PACKAGE="airgr",
+                        ##inputs
+                            LInputs=LInputSeries,                                                          ### length of input and output series
+                            InputsPrecip=InputsModel$LayerPrecip[[iLayer]][IndPeriod1],                    ### input series of total precipitation [mm/d]
+                            InputsFracSolidPrecip=InputsModel$LayerFracSolidPrecip[[iLayer]][IndPeriod1],  ### input series of fraction of solid precipitation [0-1]
+                            InputsTemp=InputsModel$LayerTemp[[iLayer]][IndPeriod1],                        ### input series of air mean temperature [degC]
+                            MeanAnSolidPrecip=RunOptions$MeanAnSolidPrecip[iLayer],                        ### value of annual mean solid precip [mm/y]
+                            NParam=as.integer(2),                                                          ### number of model parameter = 2
+                            Param=ParamCemaNeige,                                                          ### parameter set
+                            NStates=as.integer(2),                                                         ### number of state variables used for model initialising = 2
+                            StateStart=StateStartCemaNeige,                                                ### state variables used when the model run starts
+                            NOutputs=as.integer(length(IndOutputsCemaNeige)),                              ### number of output series
+                            IndOutputs=IndOutputsCemaNeige,                                                ### indices of output series
+                        ##outputs                                                               
+                            Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsCemaNeige)),  ### output series [mm]
+                            StateEnd=rep(as.double(-999.999),as.integer(2))                                          ### state variables at the end of the model run (reservoir levels [mm] and HU)
+                         )
+        RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+        RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+
+        ##Data_storage
+        CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]);
+        names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige];
+        IndPliqAndMelt <- which(names(CemaNeigeLayers[[iLayer]]) == "PliqAndMelt");
+        if(iLayer==1){ CatchMeltAndPliq <- RESULTS$Outputs[,IndPliqAndMelt]/NLayers; }
+        if(iLayer >1){ CatchMeltAndPliq <- CatchMeltAndPliq + RESULTS$Outputs[,IndPliqAndMelt]/NLayers; }
+        if(ExportStateEnd){ CemaNeigeStateEnd <- c(CemaNeigeStateEnd,RESULTS$StateEnd); }
+        rm(RESULTS); 
+      } ###ENDFOR_iLayer
+      names(CemaNeigeLayers) <- paste("Layer",formatC(1:NLayers,width=2,flag="0"),sep="");
+    } ###ENDIF_RunSnowModule
+    if(RunOptions$RunSnowModule==FALSE){
+      CemaNeigeLayers <- list(); CemaNeigeStateEnd <- NULL; NameCemaNeigeLayers <- NULL;
+      CatchMeltAndPliq  <- InputsModel$Precip[IndPeriod1]; }
+
+
+
+    ##MODEL______________________________________________________________________________________##
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputsMod <- as.integer(1:length(FortranOutputsMod)); 
+      } else { IndOutputsMod <- which(FortranOutputsMod %in% RunOptions$Outputs_Sim);  }
+
+    ##Use_of_IniResLevels
+      if("IniResLevels" %in% RunOptions){
+        RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*ParamMod[3];  ### routing store level (mm)
+        RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*ParamMod[1];  ### production store level (mm)
+      }
+
+    ##Call_fortan
+      RESULTS <- .Fortran("frun_gr6j",PACKAGE="airgr",
+                 ##inputs
+                     LInputs=LInputSeries,                         ### length of input and output series
+                     InputsPrecip=CatchMeltAndPliq,                ### input series of total precipitation [mm/d]
+                     InputsPE=InputsModel$PotEvap[IndPeriod1],     ### input series potential evapotranspiration [mm/d]
+                     NParam=NParamMod,                             ### number of model parameter
+                     Param=ParamMod,                               ### parameter set
+                     NStates=NStatesMod,                           ### number of state variables used for model initialising
+                     StateStart=RunOptions$IniStates[1:NStatesMod], ### state variables used when the model run starts
+                     NOutputs=as.integer(length(IndOutputsMod)),   ### number of output series
+                     IndOutputs=IndOutputsMod,                     ### indices of output series
+                 ##outputs                                        
+                     Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputsMod)),  ### output series [mm]
+                     StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates))                     ### state variables at the end of the model run
+                     )
+      RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+      RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+      if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; }
+
+    ##Output_data_preparation
+      ##OutputsModel_only
+      if(ExportDatesR==FALSE & ExportStateEnd==FALSE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers) );
+        names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers); }
+      ##DatesR_and_OutputsModel_only
+      if(ExportDatesR==TRUE & ExportStateEnd==FALSE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers) );
+        names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers);      }
+      ##OutputsModel_and_SateEnd_only
+      if(ExportDatesR==FALSE & ExportStateEnd==TRUE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers),
+                           list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) );
+        names(OutputsModel) <- c(FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd");      }
+      ##DatesR_and_OutputsModel_and_SateEnd
+      if(ExportDatesR==TRUE & ExportStateEnd==TRUE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(CemaNeigeLayers),
+                           list(c(RESULTS$StateEnd,CemaNeigeStateEnd)) );
+        names(OutputsModel) <- c("DatesR",FortranOutputsMod[IndOutputsMod],NameCemaNeigeLayers,"StateEnd");      }
+
+    ##End
+      rm(RESULTS); 
+      class(OutputsModel) <- c("OutputsModel","daily","GR","CemaNeige");
+      return(OutputsModel);
+
+}
+
diff --git a/R/RunModel_GR4J.R b/R/RunModel_GR4J.R
new file mode 100644
index 00000000..b4325023
--- /dev/null
+++ b/R/RunModel_GR4J.R
@@ -0,0 +1,128 @@
+#*****************************************************************************************************************
+#' Function which performs a single model run for GR4J.
+#'
+#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+#*****************************************************************************************************************
+#' @title Run with the GR4J hydrological model
+#' @author Laurent Coron (December 2013)
+#' @references
+#'   Perrin, C., C. Michel and V. Andréassian (2003), 
+#'       Improvement of a parsimonious model for streamflow simulation, 
+#'       Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7.
+#' @seealso \code{\link{RunModel_GR5J}}, \code{\link{RunModel_GR6J}}, \code{\link{RunModel_CemaNeigeGR4J}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+#' @example tests/example_RunModel_GR4J.R
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Param               [numeric] vector of 4 parameters                                                             
+#'                             \tabular{ll}{                                                                      
+#'                             GR4J X1      \tab production store capacity [mm]                                \cr
+#'                             GR4J X2      \tab intercatchment exchange coefficient [mm/d]                    \cr
+#'                             GR4J X3      \tab routing store capacity [mm]                                   \cr
+#'                             GR4J X4      \tab unit hydrograph time constant [d]                             \cr
+#'                             }                                                                                  
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:                                         
+#'          \tabular{ll}{                                                                                         
+#'          \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+#'          \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+#'          \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+#'          \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+#'          \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+#'          \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+#'          \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+#'          \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+#'          \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+#'          \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+#'          \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+#'          \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+#'          \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+#'          \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+#'          \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+#'          \emph{$StateEnd}          \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr
+#'          }                                                                                                     
+#'          (refer to the provided references or to the package source code for further details on these model outputs)
+#*****************************************************************************************************************
+RunModel_GR4J <- function(InputsModel,RunOptions,Param){
+
+    NParam <- 4;
+    FortranOutputs <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim");
+
+    ##Arguments_check
+      if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+      if(inherits(InputsModel,"daily"      )==FALSE){ stop("InputsModel must be of class 'daily'       \n"); return(NULL); }  
+      if(inherits(InputsModel,"GR"         )==FALSE){ stop("InputsModel must be of class 'GR'          \n"); return(NULL); }  
+      if(inherits(RunOptions,"RunOptions"  )==FALSE){ stop("RunOptions must be of class 'RunOptions'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"GR"          )==FALSE){ stop("RunOptions must be of class 'GR'           \n"); return(NULL); }  
+      if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); }
+      if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); }
+      Param <- as.double(Param);
+
+    ##Input_data_preparation
+      if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; }
+      IndPeriod1   <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run);
+      LInputSeries <- as.integer(length(IndPeriod1))
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); 
+      } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim);  }
+
+    ##Use_of_IniResLevels
+      if("IniResLevels" %in% RunOptions){
+        RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*Param[3];  ### routing store level (mm)
+        RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*Param[1];  ### production store level (mm)
+      }
+
+    ##Call_fortan
+      RESULTS <- .Fortran("frun_gr4j",PACKAGE="airgr",
+                 ##inputs
+                     LInputs=LInputSeries,                             ### length of input and output series
+                     InputsPrecip=InputsModel$Precip[IndPeriod1],      ### input series of total precipitation [mm/d]
+                     InputsPE=InputsModel$PotEvap[IndPeriod1],         ### input series potential evapotranspiration [mm/d]
+                     NParam=as.integer(length(Param)),                 ### number of model parameter
+                     Param=Param,                                      ### parameter set
+                     NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising
+                     StateStart=RunOptions$IniStates,                  ### state variables used when the model run starts
+                     NOutputs=as.integer(length(IndOutputs)),          ### number of output series
+                     IndOutputs=IndOutputs,                            ### indices of output series
+                 ##outputs
+                     Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)),  ### output series [mm]
+                     StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates))                  ### state variables at the end of the model run
+                     )
+      RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+      RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+
+    ##Output_data_preparation
+      IndPeriod2     <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries;
+      ExportDatesR   <- "DatesR"   %in% RunOptions$Outputs_Sim;
+      ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim;
+      ##OutputsModel_only
+      if(ExportDatesR==FALSE & ExportStateEnd==FALSE){
+        OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]);
+        names(OutputsModel) <- FortranOutputs[IndOutputs];      }
+      ##DatesR_and_OutputsModel_only
+      if(ExportDatesR==TRUE & ExportStateEnd==FALSE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]) );
+        names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs]);      }
+      ##OutputsModel_and_SateEnd_only
+      if(ExportDatesR==FALSE & ExportStateEnd==TRUE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(RESULTS$StateEnd) );
+        names(OutputsModel) <- c(FortranOutputs[IndOutputs],"StateEnd");      }
+      ##DatesR_and_OutputsModel_and_SateEnd
+      if((ExportDatesR==TRUE & ExportStateEnd==TRUE) | "all" %in% RunOptions$Outputs_Sim){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(RESULTS$StateEnd) );
+        names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs],"StateEnd");      }
+
+    ##End
+      rm(RESULTS); 
+      class(OutputsModel) <- c("OutputsModel","daily","GR");
+      return(OutputsModel);
+
+}
+
diff --git a/R/RunModel_GR5J.R b/R/RunModel_GR5J.R
new file mode 100644
index 00000000..eb82813b
--- /dev/null
+++ b/R/RunModel_GR5J.R
@@ -0,0 +1,131 @@
+#*****************************************************************************************************************
+#' Function which performs a single model run for GR5J.
+#'
+#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+#*****************************************************************************************************************
+#' @title Run with the GR5J hydrological model
+#' @author Laurent Coron (December 2013)
+#' @references
+#'   Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances
+#'       et du réalisme des modèles pluie-débit ?, PhD thesis (french), UPMC, Paris, France. \cr
+#'   Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet, and V. Andréassian (2011), 
+#'       A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, 
+#'       Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+#' @seealso \code{\link{RunModel_GR4J}}, \code{\link{RunModel_GR6J}}, \code{\link{RunModel_CemaNeigeGR5J}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+#' @example tests/example_RunModel_GR5J.R
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Param               [numeric] vector of 5 parameters                                                             
+#'                             \tabular{ll}{                                                                      
+#'                             GR5J X1      \tab production store capacity [mm]                                \cr
+#'                             GR5J X2      \tab intercatchment exchange coefficient 1 [mm/d]                  \cr
+#'                             GR5J X3      \tab routing store capacity [mm]                                   \cr
+#'                             GR5J X4      \tab unit hydrograph time constant [d]                             \cr
+#'                             GR5J X5      \tab intercatchment exchange coefficient 2 [-]                     \cr
+#'                             }                                                                                  
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:                                         
+#'          \tabular{ll}{                                                                                         
+#'          \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+#'          \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+#'          \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+#'          \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+#'          \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+#'          \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+#'          \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+#'          \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+#'          \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+#'          \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+#'          \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+#'          \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+#'          \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+#'          \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+#'          \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+#'          \emph{$StateEnd}          \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr
+#'          }                                                                                                     
+#'          (refer to the provided references or to the package source code for further details on these model outputs)
+#*****************************************************************************************************************'
+RunModel_GR5J <- function(InputsModel,RunOptions,Param){
+
+    NParam <- 5;
+    FortranOutputs <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QD","Qsim");
+
+    ##Arguments_check
+      if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+      if(inherits(InputsModel,"daily"      )==FALSE){ stop("InputsModel must be of class 'daily'       \n"); return(NULL); }  
+      if(inherits(InputsModel,"GR"         )==FALSE){ stop("InputsModel must be of class 'GR'          \n"); return(NULL); }  
+      if(inherits(RunOptions,"RunOptions"  )==FALSE){ stop("RunOptions must be of class 'RunOptions'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"GR"          )==FALSE){ stop("RunOptions must be of class 'GR'           \n"); return(NULL); }  
+      if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); }
+      if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); }
+      Param <- as.double(Param);
+
+    ##Input_data_preparation
+      if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; }
+      IndPeriod1   <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run);
+      LInputSeries <- as.integer(length(IndPeriod1))
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); 
+      } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim);  }
+
+    ##Use_of_IniResLevels
+      if("IniResLevels" %in% RunOptions){
+        RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*Param[3];  ### routing store level (mm)
+        RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*Param[1];  ### production store level (mm)
+      }
+
+    ##Call_fortan
+      RESULTS <- .Fortran("frun_gr5j",PACKAGE="airgr",
+                 ##inputs
+                     LInputs=LInputSeries,                             ### length of input and output series
+                     InputsPrecip=InputsModel$Precip[IndPeriod1],      ### input series of total precipitation [mm/d]
+                     InputsPE=InputsModel$PotEvap[IndPeriod1],         ### input series potential evapotranspiration [mm/d]
+                     NParam=as.integer(length(Param)),                 ### number of model parameter
+                     Param=Param,                                      ### parameter set
+                     NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising
+                     StateStart=RunOptions$IniStates,                  ### state variables used when the model run starts
+                     NOutputs=as.integer(length(IndOutputs)),          ### number of output series
+                     IndOutputs=IndOutputs,                            ### indices of output series
+                 ##outputs
+                     Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)),  ### output series [mm]
+                     StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates))                  ### state variables at the end of the model run
+                     )
+      RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+      RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+
+    ##Output_data_preparation
+      IndPeriod2     <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries;
+      ExportDatesR   <- "DatesR"   %in% RunOptions$Outputs_Sim;
+      ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim;
+      ##OutputsModel_only
+      if(ExportDatesR==FALSE & ExportStateEnd==FALSE){
+        OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]);
+        names(OutputsModel) <- FortranOutputs[IndOutputs];      }
+      ##DatesR_and_OutputsModel_only
+      if(ExportDatesR==TRUE & ExportStateEnd==FALSE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]) );
+        names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs]);      }
+      ##OutputsModel_and_SateEnd_only
+      if(ExportDatesR==FALSE & ExportStateEnd==TRUE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(RESULTS$StateEnd) );
+        names(OutputsModel) <- c(FortranOutputs[IndOutputs],"StateEnd");      }
+      ##DatesR_and_OutputsModel_and_SateEnd
+      if((ExportDatesR==TRUE & ExportStateEnd==TRUE) | "all" %in% RunOptions$Outputs_Sim){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(RESULTS$StateEnd) );
+        names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs],"StateEnd");      }
+
+    ##End
+      rm(RESULTS); 
+      class(OutputsModel) <- c("OutputsModel","daily","GR");
+      return(OutputsModel);
+
+}
+
diff --git a/R/RunModel_GR6J.R b/R/RunModel_GR6J.R
new file mode 100644
index 00000000..7a022c8b
--- /dev/null
+++ b/R/RunModel_GR6J.R
@@ -0,0 +1,132 @@
+#*****************************************************************************************************************
+#' Function which performs a single model run for GR6J.
+#'
+#' For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+#*****************************************************************************************************************
+#' @title Run with the GR6J hydrological model
+#' @author Laurent Coron (December 2013)
+#' @references
+#'   Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), 
+#'       A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, 
+#'       Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+#' @seealso \code{\link{RunModel_GR4J}}, \code{\link{RunModel_GR5J}}, \code{\link{RunModel_CemaNeigeGR6J}},
+#'          \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+#' @example tests/example_RunModel_GR6J.R
+#' @useDynLib airgr
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  InputsModel         [object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details
+#' @param  RunOptions          [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details
+#' @param  Param               [numeric] vector of 6 parameters                                                             
+#'                             \tabular{ll}{                                                                      
+#'                             GR6J X1      \tab production store capacity [mm]                                \cr
+#'                             GR6J X2      \tab intercatchment exchange coefficient 1 [mm/d]                  \cr
+#'                             GR6J X3      \tab routing store capacity [mm]                                   \cr
+#'                             GR6J X4      \tab unit hydrograph time constant [d]                             \cr
+#'                             GR6J X5      \tab intercatchment exchange coefficient 2 [-]                     \cr
+#'                             GR6J X6      \tab coefficient for emptying exponential store [-]                \cr
+#'                             }                                                                                  
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  [list] list containing the function outputs organised as follows:                                         
+#'          \tabular{ll}{                                                                                         
+#'          \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+#'          \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+#'          \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+#'          \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+#'          \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+#'          \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+#'          \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+#'          \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+#'          \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+#'          \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+#'          \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+#'          \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+#'          \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+#'          \emph{$QR1     }          \tab [numeric] series of exponential store outflow (QR1) [mm/d]                    \cr
+#'          \emph{$Exp     }          \tab [numeric] series of exponential store level (X(6)) (negative) [mm]            \cr
+#'          \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+#'          \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+#'          \emph{$StateEnd}          \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr
+#'          }                                                                                                     
+#'          (refer to the provided references or to the package source code for further details on these model outputs)
+#*****************************************************************************************************************
+RunModel_GR6J <- function(InputsModel,RunOptions,Param){
+
+    NParam <- 6;
+    FortranOutputs <- c("PotEvap","Precip","Prod","AE","Perc","PR","Q9","Q1","Rout","Exch","AExch","QR","QR1","Exp","QD","Qsim");
+
+    ##Arguments_check
+      if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); }  
+      if(inherits(InputsModel,"daily"      )==FALSE){ stop("InputsModel must be of class 'daily'       \n"); return(NULL); }  
+      if(inherits(InputsModel,"GR"         )==FALSE){ stop("InputsModel must be of class 'GR'          \n"); return(NULL); }  
+      if(inherits(RunOptions,"RunOptions"  )==FALSE){ stop("RunOptions must be of class 'RunOptions'   \n"); return(NULL); }  
+      if(inherits(RunOptions,"GR"          )==FALSE){ stop("RunOptions must be of class 'GR'           \n"); return(NULL); }  
+      if(!is.vector(Param)){ stop("Param must be a vector \n"); return(NULL); }
+      if(sum(!is.na(Param))!=NParam){ stop(paste("Param must be a vector of length ",NParam," and contain no NA \n",sep="")); return(NULL); }
+      Param <- as.double(Param);
+
+    ##Input_data_preparation
+      if(identical(RunOptions$IndPeriod_WarmUp,as.integer(0))){ RunOptions$IndPeriod_WarmUp <- NULL; }
+      IndPeriod1   <- c(RunOptions$IndPeriod_WarmUp,RunOptions$IndPeriod_Run);
+      LInputSeries <- as.integer(length(IndPeriod1))
+      if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); 
+      } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim);  }
+
+    ##Use_of_IniResLevels
+      if("IniResLevels" %in% RunOptions){
+        RunOptions$IniStates[1] <- RunOptions$IniResLevels[2]*Param[3];  ### routing store level (mm)
+        RunOptions$IniStates[2] <- RunOptions$IniResLevels[1]*Param[1];  ### production store level (mm)
+      }
+
+    ##Call_fortan
+      RESULTS <- .Fortran("frun_gr6j",PACKAGE="airgr",
+                 ##inputs
+                     LInputs=LInputSeries,                             ### length of input and output series
+                     InputsPrecip=InputsModel$Precip[IndPeriod1],      ### input series of total precipitation [mm/d]
+                     InputsPE=InputsModel$PotEvap[IndPeriod1],         ### input series potential evapotranspiration [mm/d]
+                     NParam=as.integer(length(Param)),                 ### number of model parameter
+                     Param=Param,                                      ### parameter set
+                     NStates=as.integer(length(RunOptions$IniStates)), ### number of state variables used for model initialising
+                     StateStart=RunOptions$IniStates,                  ### state variables used when the model run starts
+                     NOutputs=as.integer(length(IndOutputs)),          ### number of output series
+                     IndOutputs=IndOutputs,                            ### indices of output series
+                 ##outputs
+                     Outputs=matrix(as.double(-999.999),nrow=LInputSeries,ncol=length(IndOutputs)),  ### output series [mm]
+                     StateEnd=rep(as.double(-999.999),length(RunOptions$IniStates))                  ### state variables at the end of the model run
+                     )
+      RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA;
+      RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA;
+
+    ##Output_data_preparation
+      IndPeriod2     <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries;
+      ExportDatesR   <- "DatesR"   %in% RunOptions$Outputs_Sim;
+      ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim;
+      ##OutputsModel_only
+      if(ExportDatesR==FALSE & ExportStateEnd==FALSE){
+        OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]);
+        names(OutputsModel) <- FortranOutputs[IndOutputs];      }
+      ##DatesR_and_OutputsModel_only
+      if(ExportDatesR==TRUE & ExportStateEnd==FALSE){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]) );
+        names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs]);      }
+      ##OutputsModel_and_SateEnd_only
+      if(ExportDatesR==FALSE & ExportStateEnd==TRUE){
+        OutputsModel <- c( lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(RESULTS$StateEnd) );
+        names(OutputsModel) <- c(FortranOutputs[IndOutputs],"StateEnd");      }
+      ##DatesR_and_OutputsModel_and_SateEnd
+      if((ExportDatesR==TRUE & ExportStateEnd==TRUE) | "all" %in% RunOptions$Outputs_Sim){
+        OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]),
+                           lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]),
+                           list(RESULTS$StateEnd) );
+        names(OutputsModel) <- c("DatesR",FortranOutputs[IndOutputs],"StateEnd");      }
+
+    ##End
+      rm(RESULTS); 
+      class(OutputsModel) <- c("OutputsModel","daily","GR");
+      return(OutputsModel);
+
+}
+  
diff --git a/R/TransfoParam.R b/R/TransfoParam.R
new file mode 100644
index 00000000..ae0da09c
--- /dev/null
+++ b/R/TransfoParam.R
@@ -0,0 +1,19 @@
+#**************************************************************************************************
+#' Function which transforms model parameters (from real to transformed parameters and vice versa) using the provided function.
+#**************************************************************************************************
+#' @title   Transformation of the parameters using the provided function
+#' @author  Laurent Coron (June 2014)
+#' @seealso \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}}
+#' @example tests/example_TransfoParam.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputsOutputs____________________________________________________________________________
+#' @param   ParamIn      [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#' @param   Direction    [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real
+#' @param   FUN_TRANSFO  [function] model parameters transformation function (e.g. TransfoParam_GR4J, TransfoParam_CemaNeigeGR4J)
+#' @return  \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#**************************************************************************************************'
+TransfoParam <- function(ParamIn,Direction,FUN_TRANSFO){
+    return( FUN_TRANSFO(ParamIn,Direction) )
+}
+
diff --git a/R/TransfoParam_CemaNeige.R b/R/TransfoParam_CemaNeige.R
new file mode 100644
index 00000000..73ba2134
--- /dev/null
+++ b/R/TransfoParam_CemaNeige.R
@@ -0,0 +1,37 @@
+#**************************************************************************************************
+#' Function which transforms model parameters (from real to transformed parameters and vice versa).
+#**************************************************************************************************
+#' @title   Transformation of the parameters from the CemaNeige module
+#' @author  Laurent Coron (December 2013)
+#' @seealso \code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}}
+#' @example tests/example_TransfoParam_CemaNeige.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputsOutputs____________________________________________________________________________
+#' @param   ParamIn   [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#' @param   Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real
+#' @return  \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#**************************************************************************************************
+TransfoParam_CemaNeige <- function(ParamIn,Direction){
+
+  NParam <- 2;
+  Bool <- is.matrix(ParamIn);
+  if(Bool==FALSE){ ParamIn <- rbind(ParamIn); }
+  if(ncol(ParamIn)!=NParam){ stop(paste("the CemaNeige module requires ",NParam," parameters \n",sep="")); return(NULL); }  
+
+  if(Direction=="TR"){
+    ParamOut     <-  ParamIn;
+    ParamOut[,1] <- (ParamIn[,1]+9.99)/19.98;            ### CemaNeige X1 (weighting coefficient for snow pack thermal state) 
+    ParamOut[,2] <- exp(ParamIn[,2]);                    ### CemaNeige X2 (degree-day melt coefficient)     
+  }	
+  if(Direction=="RT"){
+    ParamOut     <-  ParamIn;
+    ParamOut[,1] <- ParamIn[,1]*19.98-9.99;              ### CemaNeige X1 (weighting coefficient for snow pack thermal state) 
+    ParamOut[,2] <- log(ParamIn[,2]);                    ### CemaNeige X2 (degree-day melt coefficient)                      
+  }	
+
+  if(Bool==FALSE){ ParamOut <- ParamOut[1,]; }
+  return(ParamOut);
+
+}
+
diff --git a/R/TransfoParam_GR4J.R b/R/TransfoParam_GR4J.R
new file mode 100644
index 00000000..2613179d
--- /dev/null
+++ b/R/TransfoParam_GR4J.R
@@ -0,0 +1,41 @@
+#**************************************************************************************************
+#' Function which transforms model parameters (from real to transformed parameters and vice versa).
+#**************************************************************************************************
+#' @title   Transformation of the parameters from the GR4J model
+#' @author  Laurent Coron (December 2013)
+#' @seealso \code{\link{TransfoParam}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}}
+#' @example tests/example_TransfoParam_GR4J.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputsOutputs____________________________________________________________________________
+#' @param   ParamIn   [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#' @param   Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real
+#' @return  \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#**************************************************************************************************
+TransfoParam_GR4J <- function(ParamIn,Direction){
+
+  NParam <- 4;
+  Bool <- is.matrix(ParamIn);
+  if(Bool==FALSE){ ParamIn <- rbind(ParamIn); }
+  if(ncol(ParamIn)!=NParam){ stop(paste("the GR4J model requires ",NParam," parameters \n",sep="")); return(NULL); }  
+
+  if(Direction=="TR"){
+    ParamOut     <-  ParamIn;
+    ParamOut[,1] <- exp(1.5*ParamIn[,1]);                ### GR4J X1 (production store capacity)    
+    ParamOut[,2] <- sinh(ParamIn[,2]);                   ### GR4J X2 (groundwater exchange coefficient)      
+    ParamOut[,3] <- exp(ParamIn[,3]);                    ### GR4J X3 (routing store capacity)       
+    ParamOut[,4] <- 20+19.5*(ParamIn[,4]-9.99)/19.98;    ### GR4J X4 (unit hydrograph time constant)
+  }	
+  if(Direction=="RT"){
+    ParamOut     <-  ParamIn;
+    ParamOut[,1] <- log(ParamIn[,1])/1.5;                ### GR4J X1 (production store capacity)    
+    ParamOut[,2] <- asinh(ParamIn[,2]);                  ### GR4J X2 (groundwater exchange coefficient)      
+    ParamOut[,3] <- log(ParamIn[,3]);                    ### GR4J X3 (routing store capacity)       
+    ParamOut[,4] <- 9.99+19.98*(ParamIn[,4]-20)/19.5;    ### GR4J X4 (unit hydrograph time constant)
+  }	
+
+  if(Bool==FALSE){ ParamOut <- ParamOut[1,]; }
+  return(ParamOut);
+
+}
+
diff --git a/R/TransfoParam_GR5J.R b/R/TransfoParam_GR5J.R
new file mode 100644
index 00000000..126d25ba
--- /dev/null
+++ b/R/TransfoParam_GR5J.R
@@ -0,0 +1,45 @@
+#**************************************************************************************************
+#' Function which transforms model parameters (from real to transformed parameters and vice versa).
+#**************************************************************************************************
+#' @title   Transformation of the parameters from the GR5J model
+#' @author  Laurent Coron (December 2013)
+#' @seealso \code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}}
+#' @example tests/example_TransfoParam_GR5J.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputsOutputs____________________________________________________________________________
+#' @param   ParamIn   [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#' @param   Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real
+#' @return  \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#**************************************************************************************************
+TransfoParam_GR5J <- function(ParamIn,Direction){
+
+  NParam <- 5;
+  Bool <- is.matrix(ParamIn);
+  if(Bool==FALSE){ ParamIn <- rbind(ParamIn); }
+  if(ncol(ParamIn)!=NParam){ stop(paste("the GR5J model requires ",NParam," parameters \n",sep="")); return(NULL); }  
+
+  if(Direction=="TR"){
+    ParamOut     <-  ParamIn;
+    ParamOut[,1] <- exp(1.5*ParamIn[,1]);                ### GR5J X1 (production store capacity)
+    ParamOut[,2] <- sinh(ParamIn[,2]);                   ### GR5J X2 (groundwater exchange coefficient 1)
+    ParamOut[,3] <- exp(ParamIn[,3]);                    ### GR5J X3 (routing store capacity)
+    ParamOut[,4] <- 20+19.5*(ParamIn[,4]-9.99)/19.98;    ### GR5J X4 (unit hydrograph time constant)
+    ### ParamOut[,5] <- sinh(ParamIn[,5]);                   ### GR5J X5 (groundwater exchange coefficient 2)
+    ParamOut[,5] <- ParamIn[,5]/5;                       ### GR5J X5 (groundwater exchange coefficient 2)
+  }	
+  if(Direction=="RT"){
+    ParamOut     <-  ParamIn;
+    ParamOut[,1] <- log(ParamIn[,1]) / 1.5;              ### GR5J X1 (production store capacity)
+    ParamOut[,2] <- asinh(ParamIn[,2]);                  ### GR5J X2 (groundwater exchange coefficient 1)
+    ParamOut[,3] <- log(ParamIn[,3]);                    ### GR5J X3 (routing store capacity)
+    ParamOut[,4] <- 9.99+19.98*(ParamIn[,4]-20)/19.5;    ### GR5J X4 (unit hydrograph time constant)
+    ### ParamOut[,5] <- asinh(ParamIn[,5]);                  ### GR5J X5 (groundwater exchange coefficient 2)
+    ParamOut[,5] <- ParamIn[,5]*5;                       ### GR5J X5 (groundwater exchange coefficient 2)
+  }	
+
+  if(Bool==FALSE){ ParamOut <- ParamOut[1,]; }
+  return(ParamOut);
+
+}
+
diff --git a/R/TransfoParam_GR6J.R b/R/TransfoParam_GR6J.R
new file mode 100644
index 00000000..9ae1ab65
--- /dev/null
+++ b/R/TransfoParam_GR6J.R
@@ -0,0 +1,47 @@
+#**************************************************************************************************
+#' Function which transforms model parameters (from real to transformed parameters and vice versa).
+#**************************************************************************************************
+#' @title   Transformation of the parameters from the GR6J model
+#' @author  Laurent Coron (December 2013)
+#' @seealso \code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_CemaNeige}}
+#' @example tests/example_TransfoParam_GR6J.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputsOutputs____________________________________________________________________________
+#' @param   ParamIn   [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#' @param   Direction [character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real
+#' @return  \emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+#**************************************************************************************************
+TransfoParam_GR6J <- function(ParamIn,Direction){
+
+  NParam <- 6;
+  Bool <- is.matrix(ParamIn);
+  if(Bool==FALSE){ ParamIn <- rbind(ParamIn); }
+  if(ncol(ParamIn)!=NParam){ stop(paste("the GR6J model requires ",NParam," parameters \n",sep="")); return(NULL); }  
+
+  if(Direction=="TR"){
+    ParamOut     <-  ParamIn;
+    ParamOut[,1] <- exp(1.5*ParamIn[,1]);                ### GR6J X1 (production store capacity)
+    ParamOut[,2] <- sinh(ParamIn[,2]);                   ### GR6J X2 (groundwater exchange coefficient 1)
+    ParamOut[,3] <- exp(ParamIn[,3]);                    ### GR6J X3 (routing store capacity)
+    ParamOut[,4] <- 20+19.5*(ParamIn[,4]-9.99)/19.98;    ### GR6J X4 (unit hydrograph time constant)
+    ### ParamOut[,5] <- sinh(Xtran[,5]);                   ### GR6J X5 (groundwater exchange coefficient 2)
+    ParamOut[,5] <- ParamIn[,5]/5;                       ### GR6J X5 (groundwater exchange coefficient 2)
+    ParamOut[,6] <- exp(ParamIn[,6]);                    ### GR6J X6 (coefficient for emptying exponential store)
+  }	
+  if(Direction=="RT"){
+    ParamOut     <-  ParamIn;
+    ParamOut[,1] <- log(ParamIn[,1]) / 1.5;              ### GR6J X1 (production store capacity)
+    ParamOut[,2] <- asinh(ParamIn[,2]);                  ### GR6J X2 (groundwater exchange coefficient 1)
+    ParamOut[,3] <- log(ParamIn[,3]);                    ### GR6J X3 (routing store capacity)
+    ParamOut[,4] <- 9.99+19.98*(ParamIn[,4]-20)/19.5;    ### GR6J X4 (unit hydrograph time constant)
+    ### ParamOut[,5] <- asinh(ParamIn[,5]);                  ### GR6J X5 (groundwater exchange coefficient 2)
+    ParamOut[,5] <- ParamIn[,5]*5;                       ### GR6J X5 (groundwater exchange coefficient 2)
+    ParamOut[,6] <- log(ParamIn[,6]);                    ### GR6J X6 (coefficient for emptying exponential store)
+  }	
+
+  if(Bool==FALSE){ ParamOut <- ParamOut[1,]; }
+  return(ParamOut);
+
+}
+
diff --git a/R/plot_OutputsModel.R b/R/plot_OutputsModel.R
new file mode 100644
index 00000000..1ef2b869
--- /dev/null
+++ b/R/plot_OutputsModel.R
@@ -0,0 +1,331 @@
+#*****************************************************************************************************************
+#' Function which creates a screen plot giving an overview of the model outputs
+#'
+#' Dashboard of results including various graphs (depending on the model):
+#' (1) time series of total precipitation and simulated flows (and observed flows if provided)
+#' (2) interannual median monthly simulated flow (and observed flows if provided)
+#' (3) correlation plot between simulated and observed flows (if observed flows provided)
+#' (4) cumulative frequency plot for simulated flows (and observed flows if provided)
+#*****************************************************************************************************************
+#' @title   Default preview of model outputs
+#' @author  Laurent Coron (June 2014)
+## @example tests/example_plot_OutputsModel.R
+#' @encoding UTF-8
+#' @export
+#_FunctionInputs__________________________________________________________________________________________________
+#' @param  OutputsModel      [object of class \emph{OutputsModel}] list of model outputs (which must at least include DatesR, Precip and Qsim) [POSIXlt, mm, mm]
+#' @param  Qobs              (optional) [numeric] time series of observed flow (for the same time-steps than simulated) [mm]
+#' @param  IndPeriod_Plot    (optional) [numeric] indices of the time-steps to be plotted (among the OutputsModel series)
+#' @param  BasinArea         (optional) [numeric] basin area [km2], used to plot flow axes in m3/s
+#' @param  quiet             (optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE
+#_FunctionOutputs_________________________________________________________________________________________________
+#' @return  screen plot window
+#*****************************************************************************************************************'
+plot_OutputsModel <- function(OutputsModel,Qobs=NULL,IndPeriod_Plot=NULL,BasinArea=NULL,quiet=FALSE){
+
+
+  if(!inherits(OutputsModel,"GR") & !inherits(OutputsModel,"CemaNeige")){ stop(paste("OutputsModel not in the correct format for default plotting \n",sep="")); return(NULL); }
+
+  BOOL_Dates <- FALSE; 
+      if("DatesR" %in% names(OutputsModel)){ BOOL_Dates <- TRUE; }
+  BOOL_Pobs <- FALSE; 
+      if("Precip" %in% names(OutputsModel)){ BOOL_Pobs <- TRUE; }
+  BOOL_Qsim <- FALSE; 
+      if("Qsim"   %in% names(OutputsModel)){ BOOL_Qsim <- TRUE; }
+  BOOL_Qobs <- FALSE;
+      if(BOOL_Qsim & length(Qobs)==length(OutputsModel$Qsim)){ if(sum(is.na(Qobs))!=length(Qobs)){ BOOL_Qobs <- TRUE; } }
+  BOOL_Snow <- FALSE;
+      if("CemaNeigeLayers" %in% names(OutputsModel)){ if("SnowPack" %in% names(OutputsModel$CemaNeigeLayers[[1]])){ BOOL_Snow <- TRUE; } }
+  BOOL_Psol <- FALSE;
+      if("CemaNeigeLayers" %in% names(OutputsModel)){ if("Psol"     %in% names(OutputsModel$CemaNeigeLayers[[1]])){ BOOL_Psol <- TRUE; } }
+
+  if(!BOOL_Dates){
+    stop(paste("OutputsModel must contain at least DatesR to allow plotting \n",sep="")); return(NULL); }
+  if(inherits(OutputsModel,"GR") & !BOOL_Qsim){
+    stop(paste("OutputsModel must contain at least Qsim to allow plotting \n",sep="")); return(NULL); }
+
+  if(BOOL_Dates){
+    MyRollMean1 <- function(x,n){
+      return(filter(x,rep(1/n,n),sides=2)); }
+    MyRollMean2 <- function(x,n){
+      return(filter(c(tail(x,n%/%2),x,x[1:(n%/%2)]),rep(1/n,n),sides=2)[(n%/%2+1):(length(x)+n%/%2)]); }
+    BOOL_TS  <- FALSE;
+    TimeStep <- difftime(tail(OutputsModel$DatesR,1),tail(OutputsModel$DatesR,2),units="secs")[[1]];
+    if(inherits(OutputsModel,"hourly" ) & TimeStep ==                     60*60){ BOOL_TS <- TRUE; plotunit <- "[mm/h]";     }
+    if(inherits(OutputsModel,"daily"  ) & TimeStep ==                  24*60*60){ BOOL_TS <- TRUE; plotunit <- "[mm/d]";     }
+    if(inherits(OutputsModel,"monthly") & TimeStep %in% c(28,29,30,31)*24*60*60){ BOOL_TS <- TRUE; plotunit <- "[mm/month]"; }
+    if(inherits(OutputsModel,"yearly" ) & TimeStep %in%     c(365,366)*24*60*60){ BOOL_TS <- TRUE; plotunit <- "[mm/y]";     }
+    if(!BOOL_TS){ stop(paste("the time step of the model inputs could not be found \n",sep="")); return(NULL); } 
+  }
+  if(length(IndPeriod_Plot)==0){ IndPeriod_Plot <- 1:length(OutputsModel$DatesR); }
+  if(inherits(OutputsModel,"CemaNeige")){ NLayers <- length(OutputsModel$CemaNeigeLayers); }
+  BOOL_QobsZero <- FALSE; if(BOOL_Qobs){ SelectQobsNotZero <- (round(Qobs[IndPeriod_Plot]             ,4)!=0); BOOL_QobsZero <- sum(!SelectQobsNotZero,na.rm=TRUE)>0; }
+  BOOL_QsimZero <- FALSE; if(BOOL_Qsim){ SelectQsimNotZero <- (round(OutputsModel$Qsim[IndPeriod_Plot],4)!=0); BOOL_QsimZero <- sum(!SelectQsimNotZero,na.rm=TRUE)>0; }
+  if(BOOL_QobsZero & !quiet){ warning("\t zeroes detected in Qobs -> some plots in the log space will not be created using all time-steps \n"); }
+  if(BOOL_QsimZero & !quiet){ warning("\t zeroes detected in Qsim -> some plots in the log space will not be created using all time-steps \n"); }
+  BOOL_FilterZero <- TRUE;
+
+  ##Options
+  BLOC <- TRUE; if(BLOC){
+    cexaxis <- 1.0; cexlab <- 0.9; cexleg=1.0; lwd=1.8; lineX=2.6; lineY=2.6; bgleg <- rgb(1,1,1,alpha=0.7); bgleg <- NA;
+
+    matlayout <- NULL; iPlot <- 0;
+    if(BOOL_Pobs){ 
+      matlayout <- rbind(matlayout,c(iPlot+1,iPlot+1,iPlot+1)); iPlot <- iPlot+1; }
+    if(BOOL_Snow){ 
+      matlayout <- rbind(matlayout,c(iPlot+1,iPlot+1,iPlot+1),c(iPlot+1,iPlot+1,iPlot+1)); iPlot <- iPlot+1; }
+    if(BOOL_Qsim | BOOL_Qobs){ 
+      matlayout <- rbind(matlayout,c(iPlot+1,iPlot+1,iPlot+1),c(iPlot+1,iPlot+1,iPlot+1)); iPlot <- iPlot+1; }
+    if(BOOL_TS & BOOL_Qsim){ 
+      matlayout <- rbind(matlayout,c(iPlot+1,iPlot+2,iPlot+3),c(iPlot+1,iPlot+2,iPlot+3)); iPlot <- iPlot+3; }
+    iPlotMax <- iPlot;
+
+    isRStudio <- Sys.getenv("RSTUDIO") == "1";
+    if(!isRStudio){ 
+      if(iPlotMax==1){ dev.new(width=10,height=02); }
+      if(iPlotMax==2){ dev.new(width=10,height=05); }
+      if(iPlotMax==3){ dev.new(width=10,height=05); }
+      if(iPlotMax==5){ dev.new(width=10,height=07); }
+      if(iPlotMax==6){ dev.new(width=10,height=10); }
+    }
+    layout(matlayout);
+
+    Xaxis <- 1:length(IndPeriod_Plot);
+    if(BOOL_Dates){
+      Seq1 <- which(OutputsModel$DatesR[IndPeriod_Plot]$mday==1 & OutputsModel$DatesR[IndPeriod_Plot]$mon %in% c(0,3,6,9));
+      Seq2 <- which(OutputsModel$DatesR[IndPeriod_Plot]$mday==1 & OutputsModel$DatesR[IndPeriod_Plot]$mon==0);
+    }
+
+    if(!is.null(BasinArea)){
+      Factor_MMH_M3S <- BasinArea/(             60*60/1000); 
+      Factor_MMD_M3S <- BasinArea/(          24*60*60/1000); 
+      Factor_MMM_M3S <- BasinArea/(365.25/12*24*60*60/1000); 
+      Factor_MMY_M3S <- BasinArea/(   365.25*24*60*60/1000); 
+      if(inherits(OutputsModel,"hourly" )){ Factor_UNIT_M3S <- Factor_MMH_M3S; }
+      if(inherits(OutputsModel,"daily"  )){ Factor_UNIT_M3S <- Factor_MMD_M3S; }
+      if(inherits(OutputsModel,"monthly")){ Factor_UNIT_M3S <- Factor_MMM_M3S; }
+      if(inherits(OutputsModel,"yearly" )){ Factor_UNIT_M3S <- Factor_MMY_M3S; }
+    }
+  }
+
+  kPlot <- 0;
+
+  ##Precip
+  if(BOOL_Pobs){
+    kPlot <- kPlot+1; mar <- c(3,5,1,5);
+    par(new=FALSE,mar=mar,las=0)
+    ylim1 <- range(OutputsModel$Precip[IndPeriod_Plot],na.rm=TRUE); ylim2 <- ylim1;  ylim2 <- rev(ylim2); 
+    plot(Xaxis,OutputsModel$Precip[IndPeriod_Plot],type="h",ylim=ylim2,col="royalblue",lwd=0.7,xaxt="n",yaxt="n",xlab="",ylab="",xaxs="i",yaxs="i");
+    axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis)
+    par(las=0); mtext(side=2,paste("precip.  ",plotunit,sep=""),line=lineY,cex=cexlab,adj=1); par(las=0); 
+    if(BOOL_Psol){
+      par(new=TRUE);
+      for(iLayer in 1:NLayers){
+        if(iLayer==1){ PsolLayerMean <- OutputsModel$CemaNeigeLayers[[iLayer]]$Psol/NLayers; 
+              } else { PsolLayerMean <- PsolLayerMean + OutputsModel$CemaNeigeLayers[[iLayer]]$Psol/NLayers; } }
+      plot(Xaxis,PsolLayerMean[IndPeriod_Plot],type="h",ylim=ylim2,col="lightblue",lwd=0.7,xaxt="n",yaxt="n",xlab="",ylab="",xaxs="i",yaxs="i");
+    }
+    if(BOOL_Dates){
+      axis(side=1,at=Seq1,labels=FALSE,cex.axis=cexaxis);
+      axis(side=1,at=Seq2,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq2],lwd.ticks=1.5,cex.axis=cexaxis);
+    } else { axis(side=1,at=pretty(Xaxis),labels=pretty(Xaxis),cex.axis=cexaxis); }
+  }
+
+
+  ##SnowPack
+  if(BOOL_Snow){
+    kPlot <- kPlot+1; mar <- c(3,5,1,5);
+    par(new=FALSE,mar=mar,las=0)
+    ylim1 <- c(+99999,-99999)
+    for(iLayer in 1:NLayers){
+      ylim1[1] <- min(ylim1[1],OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack);
+      ylim1[2] <- max(ylim1[2],OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack);
+      if(iLayer==1){ SnowPackLayerMean <- OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack/NLayers; 
+            } else { SnowPackLayerMean <- SnowPackLayerMean + OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack/NLayers; }
+    }
+    plot(SnowPackLayerMean[IndPeriod_Plot],type="l",ylim=ylim1,lwd=lwd*1.2,col="royalblue",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i")
+    for(iLayer in 1:NLayers){ lines(OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack[IndPeriod_Plot],lty=3,col="royalblue",lwd=lwd*0.8); }
+    axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis)
+    par(las=0); mtext(side=2,paste("snow pack  ","[mm]",sep=""),line=lineY,cex=cexlab); par(las=0);
+    legend("topright",c(paste("mean snow pack",sep=""),paste("snow pack for each layer",sep="")),col=c("royalblue","royalblue"),lty=c(1,3),lwd=c(lwd*1.2,lwd*0.8),bty="o",bg=bgleg,box.col=bgleg,cex=cexleg)
+    box()
+    if(BOOL_Dates){
+      axis(side=1,at=Seq1,labels=FALSE,cex.axis=cexaxis);
+      axis(side=1,at=Seq2,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq2],lwd.ticks=1.5,cex.axis=cexaxis);
+    } else { axis(side=1,at=pretty(Xaxis),labels=pretty(Xaxis),cex.axis=cexaxis); }
+  }
+
+
+  ##Flows
+  if(BOOL_Qsim){
+    kPlot <- kPlot+1; mar <- c(3,5,1,5);
+    par(new=FALSE,mar=mar,las=0)
+    ylim1 <- range(OutputsModel$Qsim[IndPeriod_Plot],na.rm=TRUE);
+    if(BOOL_Qobs){ ylim1 <- range(c(ylim1,Qobs[IndPeriod_Plot]),na.rm=TRUE); }
+    ylim2 <- c(ylim1[1],1.2*ylim1[2]);
+    plot(Xaxis,rep(NA,length(Xaxis)),type="n",ylim=ylim2,xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i");
+    txtleg <- NULL; colleg <- NULL;
+    if(BOOL_Qobs){ lines(Xaxis,Qobs[IndPeriod_Plot],lwd=lwd,lty=1,col="black"); txtleg <- c(txtleg,"observed"); colleg <- c(colleg,"black"); }
+    if(BOOL_Qsim){ lines(Xaxis,OutputsModel$Qsim[IndPeriod_Plot],lwd=lwd,lty=1,col="orangered"); txtleg <- c(txtleg,"simulated"); colleg <- c(colleg,"orangered"); }
+    axis(side=2,at=pretty(ylim1),labels=pretty(ylim1),cex.axis=cexaxis)
+    par(las=0); mtext(side=2,paste("flow  ",plotunit,sep=""),line=lineY,cex=cexlab); par(las=0);
+    if(!is.null(BasinArea)){
+      Factor <- Factor_UNIT_M3S;
+      axis(side=4,at=pretty(ylim1*Factor)/Factor,labels=pretty(ylim1*Factor),cex.axis=cexaxis);
+      par(las=0); mtext(side=4,paste("flow  ","m3/s",sep=""),line=lineY,cex=cexlab); par(las=0); }
+    if(BOOL_Dates){
+      axis(side=1,at=Seq1,labels=FALSE,cex.axis=cexaxis);
+      axis(side=1,at=Seq2,labels=format(OutputsModel$DatesR[IndPeriod_Plot],format="%m/%Y")[Seq2],lwd.ticks=1.5,cex.axis=cexaxis);
+    } else { axis(side=1,at=pretty(Xaxis),labels=pretty(Xaxis),cex.axis=cexaxis); }
+    legend("topright",txtleg,col=colleg,lty=1,lwd=lwd,bty="o",bg=bgleg,box.col=bgleg,cex=cexleg)
+    box()
+  }
+
+
+  ##Regime
+  if(BOOL_TS & BOOL_Qsim & (inherits(OutputsModel,"hourly") | inherits(OutputsModel,"daily"))){
+    kPlot <- kPlot+1; mar <- c(6,5,1,5); plotunitregime <- "[mm/month]";
+    par(new=FALSE,mar=mar,las=0)
+    ModelData <- as.data.frame(matrix(as.numeric(NA),nrow=length(IndPeriod_Plot),ncol=5));
+                   ModelData[,1] <- as.numeric(format(OutputsModel$DatesR[IndPeriod_Plot],format="%Y%m%d%H"));
+    if(BOOL_Pobs){ ModelData[,2] <- OutputsModel$Precip[IndPeriod_Plot]; }
+    if(BOOL_Psol){ ModelData[,3] <- PsolLayerMean[IndPeriod_Plot]; }
+    if(BOOL_Qobs){ ModelData[,4] <- Qobs[IndPeriod_Plot]; }
+    if(BOOL_Qsim){ ModelData[,5] <- OutputsModel$Qsim[IndPeriod_Plot]; }
+    colnames(ModelData) <- c("DatesModel","Precip","Psol","Qobs","Qsim");
+    TxtDatesModelData <- formatC(ModelData$DatesModel,format="d",width=8,flag="0");
+
+    if(inherits(OutputsModel,"hourly")){
+    DailyData <- as.data.frame(aggregate(ModelData[,2:5],by=list(as.numeric(substr(TxtDatesModelData,1,8))),FUN=sum,na.rm=T)); }
+    if(inherits(OutputsModel,"daily")){
+    DailyData <- ModelData; }
+    colnames(DailyData) <- c("DatesDaily","Precip","Psol","Qobs","Qsim");
+    TxtDatesDailyData <- formatC(DailyData$DatesDaily,format="d",width=8,flag="0");
+    MontlyData <- as.data.frame(aggregate(DailyData[,2:5],by=list(as.numeric(substr(TxtDatesDailyData,1,6))),FUN=sum,na.rm=T));
+    colnames(MontlyData) <- c("DatesMontly","Precip","Psol","Qobs","Qsim");
+    TxtDatesMontlyData <- formatC(MontlyData$DatesMontly,format="d",width=6,flag="0");
+
+    DailyDataAggregD <- as.data.frame(aggregate(DailyData[,2:5],by=list(as.numeric(substr(TxtDatesDailyData ,5,8))),FUN=mean,na.rm=T));
+    colnames(DailyDataAggregD) <- c("DatesDailyAggregD","Precip","Psol","Qobs","Qsim");
+    MonthlyDataAggregM <- as.data.frame(aggregate(MontlyData[,2:5],by=list(as.numeric(substr(TxtDatesMontlyData,5,6))),FUN=mean,na.rm=T));
+    colnames(MonthlyDataAggregM) <- c("DatesMonthlyAggregM","Precip","Psol","Qobs","Qsim");
+    Window <- 30; 
+    DailyDataAggregD2 <- DailyDataAggregD; MonthlyDataAggregM2 <- MonthlyDataAggregM;
+    if(plotunitregime=="[mm/month]"){ DailyDataAggregD2[  2:5] <- DailyDataAggregD2[  2:5]*Window; }
+    if(plotunitregime=="[mm/d]"    ){ MonthlyDataAggregM2[2:5] <- MonthlyDataAggregM2[2:5]/Window; }
+    DailyDataAggregD3 <- as.data.frame(cbind(DailyDataAggregD2$DatesDailyAggregD, 
+                                            MyRollMean2(DailyDataAggregD2$Precip,Window), MyRollMean2(DailyDataAggregD2$Psol,Window), 
+                                            MyRollMean2(DailyDataAggregD2$Qobs,Window)  , MyRollMean2(DailyDataAggregD2$Qsim,Window)));
+    colnames(DailyDataAggregD3) <- colnames(DailyDataAggregD2);
+    TxtDatesDailyAggregD3 <- formatC(DailyDataAggregD3$DatesDailyAggregD,format="d",width=4,flag="0");
+
+    xLabels  <- paste(substr(TxtDatesDailyAggregD3,3,4),"/",substr(TxtDatesDailyAggregD3,1,2),sep="")
+    Seq1 <- 1:nrow(DailyDataAggregD3);
+    SeqLab1 <- Seq1[substr(xLabels,1,2)=="01"];  SeqLab1 <- c(SeqLab1,length(xLabels)); xLabels1 <- xLabels[SeqLab1];
+    Seq2 <- Seq1[substr(xLabels,1,2)=="15"]; 
+    SeqLab2 <- Seq2;  xLabels2 <- c("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
+    ylimQ <- range(c(DailyDataAggregD3$Qobs[Seq1],DailyDataAggregD3$Qsim[Seq1]),na.rm=TRUE);
+    if(BOOL_Pobs){ ylimP <- c(max(MonthlyDataAggregM2$Precip,na.rm=TRUE),0);  }
+
+    txtleg <- NULL; colleg <- NULL; lwdleg <- NULL;
+    lwdP=10
+    if(BOOL_Pobs){
+    plot(Seq2,MonthlyDataAggregM2$Precip[1:12],type="h",xlim=range(Seq1),ylim=c(3*ylimP[1],ylimP[2]),lwd=lwdP,lend=1,lty=1,col="royalblue",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i",yaxs="i",bty="n")
+    txtleg <- c(txtleg,"Ptot" ); colleg <- c(colleg,"royalblue"); lwdleg <- c(lwdleg,lwdP/3); 
+    axis(side=2,at=pretty(0.8*ylimP,n=3),labels=pretty(0.8*ylimP,n=3),cex.axis=cexaxis,col.axis="royalblue",col.ticks="royalblue");
+    par(new=TRUE); }
+
+    if(BOOL_Psol){
+    plot(Seq2,MonthlyDataAggregM2$Psol[1:12],type="h",xlim=range(Seq1),ylim=c(3*ylimP[1],ylimP[2]),lwd=lwdP,lend=1,lty=1,col="lightblue",xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i",yaxs="i",bty="n");
+    txtleg <- c(txtleg,"Psol" ); colleg <- c(colleg,"lightblue"); lwdleg <- c(lwdleg,lwdP/3); 
+    par(new=TRUE); }
+
+    plot(0,0,type="n",xlim=range(Seq1),ylim=c(ylimQ[1],2*ylimQ[2]),xlab="",ylab="",xaxt="n",yaxt="n",xaxs="i")
+    if(BOOL_Qobs){ lines(Seq1,DailyDataAggregD3$Qobs[Seq1],lwd=lwd,lty=1,col="black"    ); txtleg <- c(txtleg,"Qobs" ); colleg <- c(colleg,"black"    ); lwdleg <- c(lwdleg,lwd); }
+    if(BOOL_Qsim){ lines(Seq1,DailyDataAggregD3$Qsim[Seq1],lwd=lwd,lty=1,col="orangered"); txtleg <- c(txtleg,"Qsim"); colleg <- c(colleg,"orangered"); lwdleg <- c(lwdleg,lwd); }
+
+    axis(side=1,at=SeqLab1,tick=TRUE ,labels=xLabels1,cex.axis=cexaxis)
+    ### axis(side=1,at=SeqLab2,tick=FALSE,labels=xLabels2,cex.axis=cexaxis)
+    axis(side=2,at=pretty(ylimQ),labels=pretty(ylimQ),cex.axis=cexaxis)
+    par(las=0); mtext(side=1,paste("30-days rolling mean",sep=""),line=lineX,cex=cexlab); par(las=0);
+    posleg <- "topright"; txtlab <- "flow regime";
+    if(BOOL_Pobs){ posleg <- "right"; txtlab <- "precip. & flow regime"; }
+    par(las=0); mtext(side=2,paste(txtlab,"  ",plotunitregime,sep=""),line=lineY,cex=cexlab); par(las=0);
+    if(!is.null(BasinArea)){
+      Factor <- Factor_MMM_M3S;
+      axis(side=4,at=pretty(ylimQ*Factor)/Factor,labels=pretty(ylimQ*Factor),cex.axis=cexaxis);
+      par(las=0); mtext(side=4,paste("flow  ","m3/s",sep=""),line=lineY,cex=cexlab); par(las=0); }
+    ### posleg <- "topright"; if(BOOL_Pobs){ posleg <- "right"; }
+    ### legend(posleg,txtleg,col=colleg,lty=1,lwd=lwdleg,bty="o",bg=bgleg,box.col=bgleg,cex=cexleg)
+    box()
+  }
+
+
+  ##Cumulative_frequency
+  if((BOOL_Qsim | BOOL_Qobs) & BOOL_FilterZero){
+    kPlot <- kPlot+1; mar <- c(6,5,1,5);
+    par(new=FALSE,mar=mar,las=0)
+    xlim <- c(0,1);
+    ylim <- range(log(c(Qobs[IndPeriod_Plot][SelectQobsNotZero & SelectQsimNotZero],OutputsModel$Qsim[IndPeriod_Plot][SelectQobsNotZero & SelectQsimNotZero])),na.rm=TRUE);
+    seqDATA1 <- log(c(0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500,1000,2000,5000,10000)); seqDATA2 <- exp(seqDATA1);
+    plot(0,0,type="n",xlim=xlim,ylim=ylim,xaxt="n",yaxt="n",xlab="",ylab="",main="");
+    ### abline(h=0,lty=2,col=grey(0.5));
+    ### abline(h=1,lty=2,col=grey(0.5));
+    axis(side=1,at=pretty(xlim),labels=pretty(xlim),cex.axis=cexaxis);
+    par(las=0); mtext(side=1,text="non-exceedance prob. [-]",line=lineY,cex=cexlab); par(las=0);
+    axis(side=2,at=seqDATA1,labels=seqDATA2,cex.axis=cexaxis); 
+    par(las=0); mtext(side=2,text=paste("flow  ",plotunit,"",sep=""),line=lineY,cex=cexlab); par(las=0);
+    txtleg <- NULL; colleg <- NULL;
+    if(BOOL_Qobs){
+      DATA2 <- log(Qobs[IndPeriod_Plot][SelectQobsNotZero & SelectQsimNotZero]);
+      SeqQuant <- seq(0,1,by=1/(length(DATA2))); Quant <- as.numeric(quantile(DATA2,SeqQuant,na.rm=TRUE));
+      Fn <- ecdf(DATA2);  YY <- DATA2; YY <- YY[order( Fn(DATA2) )]; XX <- Fn(DATA2); XX <- XX[order( Fn(DATA2) )];
+      lines(XX,YY,lwd=1,col="black");
+      txtleg <- c(txtleg,"observed"); colleg <- c(colleg,"black"); }
+    if(BOOL_Qsim){
+      DATA2 <- log(OutputsModel$Qsim[IndPeriod_Plot][SelectQobsNotZero & SelectQsimNotZero]);
+      SeqQuant <- seq(0,1,by=1/(length(DATA2))); Quant <- as.numeric(quantile(DATA2,SeqQuant,na.rm=TRUE));
+      Fn <- ecdf(DATA2);  YY <- DATA2; YY <- YY[order( Fn(DATA2) )]; XX <- Fn(DATA2); XX <- XX[order( Fn(DATA2) )];
+      lines(XX,YY,lwd=1,col="orangered");
+      txtleg <- c(txtleg,"simulated"); colleg <- c(colleg,"orangered"); }
+    if(!is.null(BasinArea)){
+      Factor <- Factor_UNIT_M3S;
+      axis(side=4,at=seqDATA1,labels=round(seqDATA2*Factor),cex.axis=cexaxis);
+      par(las=0); mtext(side=4,paste("flow  ","m3/s",sep=""),line=lineY,cex=cexlab); par(las=0); }
+    legend("topleft",title="log scale",txtleg,col=colleg,lty=1,lwd=lwd,bty="o",bg=bgleg,box.col=bgleg,cex=cexleg)
+    box()
+  }
+
+
+  ##Correlation_QQ
+  if(BOOL_Qsim & BOOL_Qobs & BOOL_FilterZero){
+    kPlot <- kPlot+1; mar <- c(6,5,1,5);
+    par(new=FALSE,mar=mar,las=0)
+    ylim <- log(range(c(Qobs[IndPeriod_Plot][SelectQobsNotZero & SelectQsimNotZero],OutputsModel$Qsim[IndPeriod_Plot][SelectQobsNotZero & SelectQsimNotZero]),na.rm=TRUE));
+    plot(log(Qobs[IndPeriod_Plot][SelectQobsNotZero & SelectQsimNotZero]),log(OutputsModel$Qsim[IndPeriod_Plot][SelectQobsNotZero & SelectQsimNotZero]),type="p",pch=1,cex=0.9,col="black",xlim=ylim,ylim=ylim,xaxt="n",yaxt="n",xlab="",ylab="")
+    abline(a=0,b=1,col="royalblue");
+    seqDATA1 <- log(c(0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500,1000,2000,5000,10000)); seqDATA2 <- exp(seqDATA1);
+    axis(side=1,at=seqDATA1,labels=seqDATA2,cex=cexaxis);
+    axis(side=2,at=seqDATA1,labels=seqDATA2,cex=cexaxis);
+    par(las=0); mtext(side=1,paste("observed flow  ",plotunit,"",sep=""),line=lineX,cex=cexlab); par(las=0);
+    par(las=0); mtext(side=2,paste("simulated flow  ",plotunit,"",sep=""),line=lineY,cex=cexlab); par(las=0);
+    if(!is.null(BasinArea)){
+      Factor <- Factor_UNIT_M3S;
+      axis(side=4,at=seqDATA1,labels=round(seqDATA2*Factor),cex.axis=cexaxis);
+      par(las=0); mtext(side=4,paste("flow  ","m3/s",sep=""),line=lineY,cex=cexlab); par(las=0); }
+    legend("bottomright","log scale",lty=1,col=NA,bty="o",bg=bgleg,box.col=bgleg,cex=cexleg)
+    box()
+  }
+
+  ##Empty_plots
+  while(kPlot < iPlotMax){
+    kPlot <- kPlot+1;
+    par(new=FALSE)
+    plot(0,0,type="n",xlab="",ylab="",axes=FALSE)
+  }
+
+  ##Restoring_layout_options
+  layout(1);
+  
+
+}
diff --git a/airGR.Rproj b/airGR.Rproj
new file mode 100644
index 00000000..21a4da08
--- /dev/null
+++ b/airGR.Rproj
@@ -0,0 +1,17 @@
+Version: 1.0
+
+RestoreWorkspace: Default
+SaveWorkspace: Default
+AlwaysSaveHistory: Default
+
+EnableCodeIndexing: Yes
+UseSpacesForTab: Yes
+NumSpacesForTab: 2
+Encoding: UTF-8
+
+RnwWeave: Sweave
+LaTeX: pdfLaTeX
+
+BuildType: Package
+PackageUseDevtools: Yes
+PackageInstallArgs: --no-multiarch --with-keep.source
diff --git a/data/L0123001.rda b/data/L0123001.rda
new file mode 100644
index 0000000000000000000000000000000000000000..ee66ca49217b0e709d4d76aba42589bb2d3dec1a
GIT binary patch
literal 83676
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

literal 0
HcmV?d00001

diff --git a/data/L0123002.rda b/data/L0123002.rda
new file mode 100644
index 0000000000000000000000000000000000000000..21bc6db0876a4880d231f648fff979e41dd227f5
GIT binary patch
literal 101200
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

literal 0
HcmV?d00001

diff --git a/data/L0123003.rda b/data/L0123003.rda
new file mode 100644
index 0000000000000000000000000000000000000000..ad7bec92da57e835fe23f8082034446c54bbb51a
GIT binary patch
literal 291924
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%0De?KwQ$?L83>IM{<
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

literal 0
HcmV?d00001

diff --git a/man/BasinInfo.Rd b/man/BasinInfo.Rd
new file mode 100644
index 00000000..918ae1dc
--- /dev/null
+++ b/man/BasinInfo.Rd
@@ -0,0 +1,21 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\docType{data}
+\encoding{UTF-8}
+\name{BasinInfo}
+\alias{BasinInfo}
+\title{Data sample: characteristics of a fictional catchment (L0123001, L0123002 or L0123003)}
+\format{List named 'BasinInfo' containing
+\itemize{
+\item two strings: catchment's code and station's name
+\item one float: catchment's area in km2
+\item one numeric vector: catchment's hypsometric curve (min, quantiles 01 to 99 and max) in metres
+}}
+\description{
+R-object containing the code, station's name, area and hypsometric curve of the catchment.
+}
+\examples{
+require(airGR)
+   data(L0123001)
+   str(BasinInfo)
+}
+
diff --git a/man/BasinObs.Rd b/man/BasinObs.Rd
new file mode 100644
index 00000000..57b3de56
--- /dev/null
+++ b/man/BasinObs.Rd
@@ -0,0 +1,22 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\docType{data}
+\encoding{UTF-8}
+\name{BasinObs}
+\alias{BasinObs}
+\title{Data sample: time series of observations of a fictional catchment (L0123001, L0123002 or L0123003)}
+\format{Data frame named 'BasinObs' containing
+\itemize{
+\item one POSIXlt vector: time series dates in the POSIXlt format
+\item five numeric vectors: time series of catchment average precipitation [mm], catchment average air temperature [degC], catchment average potential evapotranspiration [mm], outlet discharge [l/s], outlet discharge [mm]
+}}
+\description{
+R-object containing the times series of precipitation, temperature, potential evapotranspiration and discharges. \cr
+Times series for L0123001 or L0123002 are at the daily time-step for use with daily models such as GR4J, GR5J, GR6J, CemaNeigeGR4J, CemaNeigeGR5J and CemaNeigeGR6J.
+Times series for L0123003 are at the hourly time-step for use with hourly models such as GR4H.
+}
+\examples{
+require(airGR)
+   data(L0123001)
+   str(BasinObs)
+}
+
diff --git a/man/Calibration.Rd b/man/Calibration.Rd
new file mode 100644
index 00000000..2df07d6d
--- /dev/null
+++ b/man/Calibration.Rd
@@ -0,0 +1,94 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{Calibration}
+\alias{Calibration}
+\title{Calibration algorithm which minimises an error criterion on the model outputs using the provided functions}
+\usage{
+Calibration(InputsModel, RunOptions, InputsCrit, CalibOptions, FUN_MOD,
+  FUN_CRIT, FUN_CALIB = Calibration_HBAN, FUN_TRANSFO = NULL,
+  quiet = FALSE)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{InputsCrit}{[object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details}
+
+\item{CalibOptions}{[object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details}
+
+\item{FUN_MOD}{[function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)}
+
+\item{FUN_CRIT}{[function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)}
+
+\item{FUN_CALIB}{(optional) [function] calibration algorithm function (e.g. Calibration_HBAN, Calibration_optim), default=Calibration_HBAN}
+
+\item{FUN_TRANSFO}{(optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] see \code{\link{Calibration_HBAN}} or \code{\link{Calibration_optim}}
+}
+\description{
+Calibration algorithm which minimises the error criterion using the provided functions. \cr
+}
+\examples{
+## load of catchment data
+require(airGR)
+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="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of 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,Qobs=BasinObs$Qmm[Ind_Run])
+
+## preparation of CalibOptions object
+CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_HBAN)
+
+## calibration
+OutputsCalib <- Calibration(InputsModel=InputsModel,RunOptions=RunOptions,InputsCrit=InputsCrit,
+                            CalibOptions=CalibOptions,FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE,
+                            FUN_CALIB=Calibration_HBAN)
+
+## simulation
+Param <- OutputsCalib$ParamFinalR
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,FUN=RunModel_GR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{Calibration_HBAN}}, \code{\link{Calibration_optim}},
+         \code{\link{RunModel}}, \code{\link{ErrorCrit}}, \code{\link{TransfoParam}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}},
+         \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}.
+}
+
diff --git a/man/Calibration_HBAN.Rd b/man/Calibration_HBAN.Rd
new file mode 100644
index 00000000..de3650a0
--- /dev/null
+++ b/man/Calibration_HBAN.Rd
@@ -0,0 +1,127 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{Calibration_HBAN}
+\alias{Calibration_HBAN}
+\title{Calibration algorithm which minimises the error criterion using the Irstea-HBAN procedure}
+\usage{
+Calibration_HBAN(InputsModel, RunOptions, InputsCrit, CalibOptions, FUN_MOD,
+  FUN_CRIT, FUN_TRANSFO = NULL, quiet = FALSE)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{InputsCrit}{[object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details}
+
+\item{CalibOptions}{[object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details}
+
+\item{FUN_MOD}{[function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)}
+
+\item{FUN_CRIT}{[function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)}
+
+\item{FUN_TRANSFO}{(optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$ParamFinalR  }  \tab   [numeric] parameter set obtained at the end of the calibration \cr
+         \emph{$CritFinal    }  \tab   [numeric] error criterion obtained at the end of the calibration \cr
+         \emph{$NIter        }  \tab   [numeric] number of iterations during the calibration \cr
+         \emph{$NRuns        }  \tab   [numeric] number of model runs done during the calibration \cr
+         \emph{$HistParamR   }  \tab   [numeric] table showing the progression steps in the search for optimal set: parameter values \cr
+         \emph{$HistCrit     }  \tab   [numeric] table showing the progression steps in the search for optimal set: criterion values \cr
+         \emph{$MatBoolCrit  }  \tab   [boolean] table giving the requested and actual time steps when the model is calibrated \cr
+         \emph{$CritName     }  \tab   [character] name of the calibration criterion \cr
+         \emph{$CritBestValue}  \tab   [numeric] theoretical best criterion value \cr
+         }
+}
+\description{
+Calibration algorithm which minimises the error criterion. \cr
+\cr
+The algorithm is based on a local search procedure.
+First, a screening is performed using either a rough predefined grid or a list of parameter sets
+and then a simple steepest descent local search algorithm is performed.
+}
+\details{
+A screening is first performed either from a rough predefined grid (considering various initial
+values for each paramete) or from a list of initial parameter sets. \cr
+The best set identified in this screening is then used as a starting point for the steepest
+descent local search algorithm. \cr
+For this search, the parameters are used in a transformed version, to obtain uniform
+variation ranges (and thus a similar pace), while the true ranges might be quite different. \cr
+At each iteration, we start from a parameter set of NParam values (NParam being the number of
+free parameters of the chosen hydrological model) and we determine the 2*NParam-1 new candidates
+by changing one by one the different parameters (+/- pace). \cr
+All these candidates are tested and the best one kept to be the starting point for the next
+iteration. At the end of each iteration, the pace is either increased or decreased to adapt
+the progression speed. A diagonal progress can occasionally be done.                        \cr
+The calibration algorithm stops when the pace becomes too small.                            \cr
+
+To optimise the exploration of the parameter space, transformation functions are used to convert
+the model parameters. This is done using the TransfoParam functions.
+}
+\examples{
+## load of catchment data
+require(airGR)
+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="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of 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,Qobs=BasinObs$Qmm[Ind_Run])
+
+## preparation of CalibOptions object
+CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_HBAN)
+
+## calibration
+OutputsCalib <- Calibration_HBAN(InputsModel=InputsModel,RunOptions=RunOptions,
+                                 InputsCrit=InputsCrit,CalibOptions=CalibOptions,
+                                 FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE)
+
+## simulation
+Param <- OutputsCalib$ParamFinalR
+OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (August 2013)
+}
+\references{
+Michel, C. (1991),
+       Hydrologie appliquée aux petits bassins ruraux, Hydrology handout (in French), Cemagref, Antony, France.
+}
+\seealso{
+\code{\link{Calibration}}, \code{\link{Calibration_optim}},
+         \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorCrit_RMSE}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}},
+         \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}.
+}
+
diff --git a/man/Calibration_optim.Rd b/man/Calibration_optim.Rd
new file mode 100644
index 00000000..a32d0063
--- /dev/null
+++ b/man/Calibration_optim.Rd
@@ -0,0 +1,103 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{Calibration_optim}
+\alias{Calibration_optim}
+\title{Calibration algorithm which minimises the error criterion using the stats::optim function}
+\usage{
+Calibration_optim(InputsModel, RunOptions, InputsCrit, CalibOptions, FUN_MOD,
+  FUN_CRIT, FUN_TRANSFO = NULL, quiet = FALSE)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{InputsCrit}{[object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details}
+
+\item{CalibOptions}{[object of class \emph{CalibOptions}] see \code{\link{CreateCalibOptions}} for details}
+
+\item{FUN_MOD}{[function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)}
+
+\item{FUN_CRIT}{[function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)}
+
+\item{FUN_TRANSFO}{(optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$ParamFinalR  }  \tab   [numeric] parameter set obtained at the end of the calibration \cr
+         \emph{$CritFinal    }  \tab   [numeric] error criterion obtained at the end of the calibration \cr
+         \emph{$Nruns        }  \tab   [numeric] number of model runs done during the calibration \cr
+         \emph{$CritName     }  \tab   [character] name of the calibration criterion \cr
+         \emph{$CritBestValue}  \tab   [numeric] theoretical best criterion value \cr
+         }
+}
+\description{
+Calibration algorithm which minimises the error criterion. \cr
+\cr
+The algorithm is based on the "optim" function from the "stats" R-package
+(using method="L-BFGS-B", i.e. a local optimization quasi-Newton method).
+}
+\details{
+To optimise the exploration of the parameter space, transformation functions are used to convert
+the model parameters. This is done using the TransfoParam functions.
+}
+\examples{
+## load of catchment data
+require(airGR)
+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="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of 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,Qobs=BasinObs$Qmm[Ind_Run])
+
+## preparation of CalibOptions object
+CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_optim)
+
+## calibration
+OutputsCalib <- Calibration_optim(InputsModel=InputsModel,RunOptions=RunOptions,
+                                  InputsCrit=InputsCrit,CalibOptions=CalibOptions,
+                                  FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE)
+
+## simulation
+Param <- OutputsCalib$ParamFinalR
+OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+}
+\author{
+Laurent Coron (August 2013)
+}
+\seealso{
+\code{\link{Calibration}}, \code{\link{Calibration_HBAN}},
+         \code{\link{RunModel_GR4J}}, \code{\link{TransfoParam_GR4J}}, \code{\link{ErrorCrit_RMSE}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}},
+         \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}.
+}
+
diff --git a/man/CreateCalibOptions.Rd b/man/CreateCalibOptions.Rd
new file mode 100644
index 00000000..4efc8cb5
--- /dev/null
+++ b/man/CreateCalibOptions.Rd
@@ -0,0 +1,128 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{CreateCalibOptions}
+\alias{CreateCalibOptions}
+\title{Creation of the CalibOptions object required to the Calibration functions}
+\usage{
+CreateCalibOptions(FUN_MOD, FUN_CALIB = Calibration_HBAN,
+  FUN_TRANSFO = NULL, RunOptions = NULL, OptimParam = NULL,
+  FixedParam = NULL, SearchRanges = NULL, StartParam = NULL,
+  StartParamList = NULL, StartParamDistrib = NULL)
+}
+\arguments{
+\item{FUN_MOD}{[function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)}
+
+\item{FUN_CALIB}{(optional) [function] calibration algorithm function (e.g. Calibration_HBAN, Calibration_optim), default=Calibration_HBAN}
+
+\item{FUN_TRANSFO}{(optional) [function] model parameters transformation function, if the FUN_MOD used is native in the package FUN_TRANSFO is automatically defined}
+
+\item{RunOptions}{(optional) [object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{OptimParam}{(optional) [boolean] vector of booleans indicating which parameters must be optimised (NParam columns, 1 line)}
+
+\item{FixedParam}{(optional) [numeric] vector giving the values to allocate to non-optimised parameter values (NParam columns, 1 line)}
+
+\item{SearchRanges}{(optional) [numeric] matrix giving the ranges of real parameters (NParam columns, 2 lines)
+\tabular{llllll}{
+              \tab [X1]   \tab [X2]   \tab [X3]   \tab [...]   \tab [Xi] \cr
+     [1,]     \tab    0   \tab   -1   \tab    0   \tab  ...    \tab  0.0 \cr
+     [2,]     \tab 3000   \tab   +1   \tab  100   \tab  ...    \tab  3.0 \cr
+}}
+
+\item{StartParam}{(optional) [numeric] vector of parameter values used to start global search calibration procedure (e.g. Calibration_optim)
+\tabular{llllll}{
+              \tab [X1]   \tab [X2]   \tab [X3]   \tab [...]   \tab [Xi] \cr
+              \tab 1000   \tab -0.5   \tab   22   \tab  ...    \tab  1.1 \cr
+}}
+
+\item{StartParamList}{(optional) [numeric] matrix of parameter sets used for grid-screening calibration procedure (values in columns, sets in line)
+\tabular{llllll}{
+              \tab [X1]   \tab [X2]   \tab [X3]   \tab [...]   \tab [Xi] \cr
+     [set1]   \tab  800   \tab -0.7   \tab   25   \tab  ...    \tab  1.0 \cr
+     [set2]   \tab 1000   \tab -0.5   \tab   22   \tab  ...    \tab  1.1 \cr
+     [...]    \tab  ...   \tab  ...   \tab  ...   \tab  ...    \tab  ... \cr
+     [set n]  \tab  200   \tab -0.3   \tab   17   \tab  ...    \tab  1.0 \cr
+}}
+
+\item{StartParamDistrib}{(optional) [numeric] matrix of parameter values used for grid-screening calibration procedure (values in columns, percentiles in line) \cr
+\tabular{llllll}{
+              \tab [X1]   \tab [X2]   \tab [X3]   \tab [...]   \tab [Xi] \cr
+     [value1] \tab  800   \tab -0.7   \tab   25   \tab  ...    \tab  1.0 \cr
+     [value2] \tab 1000   \tab   NA   \tab   50   \tab  ...    \tab  1.2 \cr
+     [value3] \tab 1200   \tab   NA   \tab   NA   \tab  ...    \tab  1.6 \cr
+}}
+}
+\value{
+[list] object of class \emph{CalibOptions} containing the data required to evaluate the model outputs; it can include the following:
+         \tabular{ll}{
+         \emph{$OptimParam       }  \tab   [boolean] vector of booleans indicating which parameters must be optimised \cr
+         \emph{$FixedParam       }  \tab   [numeric] vector giving the values to allocate to non-optimised parameter values \cr
+         \emph{$SearchRanges     }  \tab   [numeric] matrix giving the ranges of real parameters \cr
+         \emph{$StartParam       }  \tab   [numeric] vector of parameter values used to start global search calibration procedure \cr
+         \emph{$StartParamList   }  \tab   [numeric] matrix of parameter sets used for grid-screening calibration procedure \cr
+         \emph{$StartParamDistrib}  \tab   [numeric] matrix of parameter values used for grid-screening calibration procedure \cr
+         }
+}
+\description{
+Creation of the CalibOptions object required to the Calibration functions.
+}
+\details{
+Users wanting to use FUN_MOD, FUN_CALIB or FUN_TRANSFO functions that are not included in
+the package must create their own CalibOptions object accordingly.
+}
+\examples{
+## load of catchment data
+require(airGR)
+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="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of 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,Qobs=BasinObs$Qmm[Ind_Run])
+
+## preparation of CalibOptions object
+CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_HBAN)
+
+## calibration
+OutputsCalib <- Calibration(InputsModel=InputsModel,RunOptions=RunOptions,InputsCrit=InputsCrit,
+                            CalibOptions=CalibOptions,FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE,
+                            FUN_CALIB=Calibration_HBAN)
+
+## simulation
+Param <- OutputsCalib$ParamFinalR
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,FUN=RunModel_GR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}
+}
+
diff --git a/man/CreateInputsCrit.Rd b/man/CreateInputsCrit.Rd
new file mode 100644
index 00000000..413c4455
--- /dev/null
+++ b/man/CreateInputsCrit.Rd
@@ -0,0 +1,112 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{CreateInputsCrit}
+\alias{CreateInputsCrit}
+\title{Creation of the InputsCrit object required to the ErrorCrit functions}
+\usage{
+CreateInputsCrit(FUN_CRIT, InputsModel, RunOptions, Qobs, BoolCrit = NULL,
+  transfo = "", Ind_zeroes = NULL, epsilon = NULL)
+}
+\arguments{
+\item{FUN_CRIT}{[function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)}
+
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Qobs}{[numeric] series of observed discharges [mm]}
+
+\item{BoolCrit}{(optional) [boolean] boolean giving the time steps to consider in the computation (all time steps are consider by default)}
+
+\item{transfo}{(optional) [character] name of the transformation (e.g. "", "sqrt", "log", "inv", "sort")}
+
+\item{Ind_zeroes}{(optional) [numeric] indices of the time-steps where zeroes are observed}
+
+\item{epsilon}{(optional) [numeric] epsilon to add to all Qobs and Qsim if \emph{$Ind_zeroes} is not empty}
+}
+\value{
+[list] object of class \emph{InputsCrit} containing the data required to evaluate the model outputs; it can include the following:
+         \tabular{ll}{
+         \emph{$BoolCrit  }  \tab   [boolean] boolean giving the time steps to consider in the computation \cr
+         \emph{$Qobs      }  \tab   [numeric] series of observed discharges [mm] \cr
+         \emph{$transfo   }  \tab   [character] name of the transformation (e.g. "", "sqrt", "log", "inv", "sort") \cr
+         \emph{$Ind_zeroes}  \tab   [numeric] indices of the time-steps where zeroes are observed \cr
+         \emph{$epsilon   }  \tab   [numeric] epsilon to add to all Qobs and Qsim if \emph{$Ind_zeroes} is not empty \cr
+         }
+}
+\description{
+Creation of the InputsCrit object required to the ErrorCrit functions.
+}
+\details{
+Users wanting to use FUN_CRIT functions that are not included in
+the package must create their own InputsCrit object accordingly.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,FUN=RunModel_GR4J)
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Nash-Sutcliffe Efficiency on log-transformed flows
+transfo <- "log"
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run],transfo=transfo)
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Nash-Sutcliffe Efficiency above a threshold (q75\%)
+BoolCrit <- rep(TRUE,length(BasinObs$Qmm[Ind_Run])); 
+BoolCrit[BasinObs$Qmm[Ind_Run]<quantile(BasinObs$Qmm[Ind_Run],0.75,na.rm=TRUE)] <- FALSE;
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run],BoolCrit=BoolCrit)
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+cat(paste("SubCrit  ",OutputsCrit$SubCritNames,"  ",round(OutputsCrit$SubCritValues,4),"\\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency below a threshold (q10\%) on log-trqansformed flows
+transfo  <- "log"
+BoolCrit <- rep(TRUE,length(BasinObs$Qmm[Ind_Run])); 
+BoolCrit[BasinObs$Qmm[Ind_Run]>quantile(BasinObs$Qmm[Ind_Run],0.10,na.rm=TRUE)] <- FALSE;
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,RunOptions=RunOptions,
+                               Qobs=BasinObs$Qmm[Ind_Run],BoolCrit=BoolCrit,transfo=transfo)
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+cat(paste("SubCrit  ",OutputsCrit$SubCritNames,"  ",round(OutputsCrit$SubCritValues,4),"\\n",sep=""))
+
+
+
+
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateCalibOptions}}
+}
+
diff --git a/man/CreateInputsModel.Rd b/man/CreateInputsModel.Rd
new file mode 100644
index 00000000..3a2695d8
--- /dev/null
+++ b/man/CreateInputsModel.Rd
@@ -0,0 +1,89 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{CreateInputsModel}
+\alias{CreateInputsModel}
+\title{Creation of the InputsModel object required to the RunModel functions}
+\usage{
+CreateInputsModel(FUN_MOD, DatesR, Precip, PotEvap = NULL, TempMean = NULL,
+  TempMin = NULL, TempMax = NULL, ZInputs = NULL, HypsoData = NULL,
+  NLayers = 5, quiet = FALSE)
+}
+\arguments{
+\item{FUN_MOD}{[function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)}
+
+\item{DatesR}{[POSIXlt] vector of dates required to create the GR model and CemaNeige module inputs}
+
+\item{Precip}{[numeric] time series of daily total precipitation (catchment average) [mm], required to create the GR model and CemaNeige module inputs}
+
+\item{PotEvap}{[numeric] time series of daily potential evapotranspiration (catchment average) [mm], required to create the GR model inputs}
+
+\item{TempMean}{[numeric] time series of daily mean air temperature [degC], required to create the CemaNeige module inputs}
+
+\item{TempMin}{(optional) [numeric] time series of daily min air temperature [degC], possibly used to create the CemaNeige module inputs}
+
+\item{TempMax}{(optional) [numeric] time series of daily max air temperature [degC], possibly used to create the CemaNeige module inputs}
+
+\item{ZInputs}{(optional) [numeric] real giving the mean elevation of the Precip and Temp series (before extrapolation) [m]}
+
+\item{HypsoData}{(optional) [numeric] vector of 101 reals: min, q01 to q99 and max of catchment elevation distribution [m], required to create the GR model inputs, if not defined a single elevation is used for CemaNeige}
+
+\item{NLayers}{(optional) [numeric] integer giving the number of elevation layers requested [-], required to create the GR model inputs, default=5}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] object of class \emph{InputsModel} containing the data required to evaluate the model outputs; it can include the following:
+         \tabular{ll}{
+         \emph{$DatesR              }  \tab   [POSIXlt] vector of dates \cr
+         \emph{$Precip              }  \tab   [numeric] time series of daily total precipitation (catchment average) [mm] \cr
+         \emph{$PotEvap             }  \tab   [numeric] time series of daily potential evapotranspiration (catchment average) [mm], \cr\tab defined if FUN_MOD includes GR4J, GR5J or GR6J \cr \cr
+         \emph{$LayerPrecip         }  \tab   [list] list of time series of daily precipitation (layer average) [mm], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr
+         \emph{$LayerTempMean       }  \tab   [list] list of time series of daily mean air temperature (layer average) [degC], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr
+         \emph{$LayerFracSolidPrecip}  \tab   [list] list of time series of daily solid precip. fract. (layer average) [-], \cr\tab defined if FUN_MOD includes CemaNeige \cr \cr
+         }
+}
+\description{
+Creation of the InputsModel object required to the RunModel functions.
+}
+\details{
+Users wanting to use FUN_MOD functions that are not included in
+the package must create their own InputsModel object accordingly.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,
+                         FUN_MOD=RunModel_GR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{RunModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}, \code{\link{DataAltiExtrapolation_HBAN}}
+}
+
diff --git a/man/CreateRunOptions.Rd b/man/CreateRunOptions.Rd
new file mode 100644
index 00000000..e4dd9216
--- /dev/null
+++ b/man/CreateRunOptions.Rd
@@ -0,0 +1,121 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{CreateRunOptions}
+\alias{CreateRunOptions}
+\title{Creation of the RunOptions object required to the RunModel functions}
+\usage{
+CreateRunOptions(FUN_MOD, InputsModel, IndPeriod_WarmUp = NULL, IndPeriod_Run,
+  IniStates = NULL, IniResLevels = NULL, Outputs_Cal = NULL,
+  Outputs_Sim = "all", RunSnowModule = TRUE, MeanAnSolidPrecip = NULL,
+  quiet = FALSE)
+}
+\arguments{
+\item{FUN_MOD}{[function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)}
+
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{IndPeriod_WarmUp}{(optional) [numeric] index of period to be used for the model warm-up [-]}
+
+\item{IndPeriod_Run}{[numeric] index of period to be used for the model run [-]}
+
+\item{IniStates}{(optional) [numeric] vector of initial model states [mm]}
+
+\item{IniResLevels}{(optional) [numeric] vector of initial filling rates for production and routing stores (2 values between 0 and 1) [-]}
+
+\item{Outputs_Cal}{(optional) [character] vector giving the outputs needed for the calibration \cr (e.g. c("Qsim")), the least outputs the fastest the calibration}
+
+\item{Outputs_Sim}{(optional) [character] vector giving the requested outputs \cr (e.g. c("DatesR","Qsim","SnowPack")), default="all"}
+
+\item{RunSnowModule}{(optional) [boolean] option indicating whether CemaNeige should be activated, default=TRUE}
+
+\item{MeanAnSolidPrecip}{(optional) [numeric] vector giving the annual mean of average solid precipitation for each layer (computed from InputsModel if not defined) [mm/y]}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] object of class \emph{RunOptions} containing the data required to evaluate the model outputs; it can include the following:
+         \tabular{ll}{
+         \emph{IndPeriod_WarmUp }  \tab  [numeric] index of period to be used for the model warm-up [-] \cr
+         \emph{IndPeriod_Run    }  \tab  [numeric] index of period to be used for the model run [-] \cr
+         \emph{IniStates        }  \tab  [numeric] vector of initial model states [mm] \cr
+         \emph{IniResLevels     }  \tab  [numeric] vector of initial filling rates for production and routing stores [-] \cr
+         \emph{Outputs_Cal      }  \tab  [character] character vector giving only the outputs needed for the calibration \cr
+         \emph{Outputs_Sim      }  \tab  [character] character vector giving the requested outputs \cr
+         \emph{RunSnowModule    }  \tab  [boolean] option indicating whether CemaNeige should be activated \cr
+         \emph{MeanAnSolidPrecip}  \tab  [numeric] vector giving the annual mean of average solid precipitation for each layer [mm/y] \cr
+         }
+}
+\description{
+Creation of the RunOptions object required to the RunModel functions.
+}
+\details{
+Users wanting to use FUN_MOD functions that are not included in
+the package must create their own RunOptions object accordingly.
+
+##### Initialisation options #####
+
+The model initialisation options can either be set to a default configuration or be defined by the user.
+
+This is done via three vectors: \cr \emph{IndPeriod_WarmUp}, \emph{IniStates}, \emph{IniResLevels}. \cr
+A default configuration is used for initialisation if these vectors are not defined.
+
+(1) Default initialisation options:
+
+\itemize{
+\item \emph{IndPeriod_WarmUp} default setting ensures a one-year warm-up using the time-steps preceding the \emph{IndPeriod_Run}.
+The actual length of this warm-up might be shorter depending on data availability (no missing value being allowed on model input series).
+
+\item \emph{IniStates} and \emph{IniResLevels} are automatically set to initialise all the model states at 0, except for the production and routing stores which are initialised at 50\% of their capacity. This initialisation is made at the very beginning of the model call (i.e. at the beginning of \emph{IndPeriod_WarmUp} or at the beginning of IndPeriod_Run if the warm-up period is disabled).
+}
+
+(2) Customisation of initialisation options:
+
+\itemize{
+\item \emph{IndPeriod_WarmUp} can be used to specify the indices of the warm-up period (within the time-series prepared in InputsModel). \cr
+- remark 1:	for most common cases, indices corresponding to one or several years preceding \emph{IndPeriod_Run} are used (e.g. \emph{IndPeriod_WarmUp <- 1000:1365} and \emph{IndPeriod_Run <- 1366:5000)}. \cr
+However, it is also possible to perform a long-term initialisation if other indices than the warm-up ones are set in \emph{IndPeriod_WarmUp} (e.g. \emph{IndPeriod_WarmUp <- c( 1:5000 , 1:5000 , 1:5000 ,1000:1365 )}). \cr
+- remark 2:	it is also possible to completely disable the warm-up period when using \emph{IndPeriod_WarmUp <- 0}.
+
+\item \emph{IniStates} and \emph{IniResLevels} can be used to specify the initial model states. \cr
+- remark 1:	if \emph{IniStates} is used, all model states must be provided (e.g. 60 floats [mm] are required for GR4J, GR5J and GR6J; 60+2*NLayers floats [mm] are required for CemaNeigeGR4J, CemaNeigeGR5J and CemaNeigeGR6J; see fortran source code for details). \cr
+- remark 2:	in addition to \emph{IniStates}, \emph{IniResLevels} allows to set the filling rate of the production and routing stores for the GR models. For instance for GR4J, GR5J and GR6J: \emph{IniResLevels <- c(0.3,0.5)} should be used to obtain initial fillings of 30\% and 50\% for the production and routing stores, respectively.  \emph{IniResLevels} is optional and can only be used if \emph{IniStates} is also defined (the state values corresponding to these two stores in \emph{IniStates} are not used in such case). \cr \cr
+}
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,
+                         FUN_MOD=RunModel_GR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{RunModel}}, \code{\link{CreateInputsModel}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}
+}
+
diff --git a/man/DataAltiExtrapolation_HBAN.Rd b/man/DataAltiExtrapolation_HBAN.Rd
new file mode 100644
index 00000000..25a862f9
--- /dev/null
+++ b/man/DataAltiExtrapolation_HBAN.Rd
@@ -0,0 +1,64 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{DataAltiExtrapolation_HBAN}
+\alias{DataAltiExtrapolation_HBAN}
+\title{Altitudinal extrapolation of precipitation and temperature series}
+\usage{
+DataAltiExtrapolation_HBAN(DatesR, Precip, TempMean, TempMin = NULL,
+  TempMax = NULL, ZInputs, HypsoData, NLayers, quiet = FALSE)
+}
+\arguments{
+\item{DatesR}{[POSIXlt] vector of dates}
+
+\item{Precip}{[numeric] time series of daily total precipitation (catchment average) [mm]}
+
+\item{TempMean}{[numeric] time series of daily mean air temperature [degC]}
+
+\item{TempMin}{(optional) [numeric] time series of daily min air temperature [degC]}
+
+\item{TempMax}{(optional) [numeric] time series of daily max air temperature [degC]}
+
+\item{ZInputs}{[numeric] real giving the mean elevation of the Precip and Temp series (before extrapolation) [m]}
+
+\item{HypsoData}{[numeric] vector of 101 reals: min, q01 to q99 and max of catchment elevation distribution [m]}
+
+\item{NLayers}{[numeric] integer giving the number of elevation layers requested [-]}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+list containing the extrapolated series of precip. and air temp. on each elevation layer
+         \tabular{ll}{
+           \emph{$LayerPrecip         }  \tab  [list] list of time series of daily precipitation (layer average) [mm]           \cr
+           \emph{$LayerTempMean       }  \tab  [list] list of time series of daily mean air temperature (layer average) [degC]  \cr
+           \emph{$LayerTempMin        }  \tab  [list] list of time series of daily min air temperature (layer average) [degC]   \cr
+           \emph{$LayerTempMax        }  \tab  [list] list of time series of daily max air temperature (layer average) [degC]   \cr
+           \emph{$LayerFracSolidPrecip}  \tab  [list] list of time series of daily solid precip. fract. (layer average) [-]     \cr
+           \emph{$ZLayers             }  \tab  [numeric] vector of median elevation for each layer                              \cr
+         }
+}
+\description{
+Function which extrapolates the precipitation and air temperature series for different elevation layers (method from Valery, 2010).
+}
+\details{
+Elevation layers of equal surface are created the 101 elevation quantiles (\emph{HypsoData})
+and the number requested elevation layers (\emph{NLayers}). \cr
+Forcing data (precipitation and air temperature) are extrapolated using gradients from Valery (2010).
+(e.g. gradP=0.0004 [m-1] for France and gradT=0.434 [degreC/100m] for January, 1st). \cr
+This function is used by the \emph{CreateInputsModel} function. \cr
+}
+\author{
+Laurent Coron, Pierre Brigode (June 2014)
+}
+\references{
+Turcotte, R., L.-G. Fortin, V. Fortin, J.-P. Fortin and J.-P. Villeneuve (2007),
+      Operational analysis of the spatial distribution and the temporal evolution of the snowpack water equivalent
+      in southern Quebec, Canada, Nordic Hydrology, 38(3), 211, doi:10.2166/nh.2007.009. \cr
+  Valéry, A. (2010), Modélisation précipitations-débit sous influence nivale ? : Elaboration d'un module neige
+      et évaluation sur 380 bassins versants, PhD thesis (in french), AgroParisTech, Paris, France. \cr
+  USACE (1956), Snow Hydrology, pp. 437, U.S. Army Coprs of Engineers (USACE) North Pacific Division, Portland, Oregon, USA.
+}
+\seealso{
+\code{\link{CreateInputsModel}}, \code{\link{RunModel_CemaNeigeGR4J}}
+}
+
diff --git a/man/ErrorCrit.Rd b/man/ErrorCrit.Rd
new file mode 100644
index 00000000..18302692
--- /dev/null
+++ b/man/ErrorCrit.Rd
@@ -0,0 +1,92 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{ErrorCrit}
+\alias{ErrorCrit}
+\title{Error criterion using the provided function}
+\usage{
+ErrorCrit(InputsCrit, OutputsModel, FUN_CRIT, quiet = FALSE)
+}
+\arguments{
+\item{InputsCrit}{[object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details}
+
+\item{OutputsModel}{[object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details}
+
+\item{FUN_CRIT}{[function] error criterion function (e.g. ErrorCrit_RMSE, ErrorCrit_NSE)}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] list containing the function outputs, see \code{\link{ErrorCrit_RMSE}} or \code{\link{ErrorCrit_NSE}} for details
+}
+\description{
+Function which computes an error criterion with the provided function.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,FUN=RunModel_GR4J)
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Nash-Sutcliffe Efficiency on log-transformed flows
+transfo <- "log"
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run],transfo=transfo)
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Nash-Sutcliffe Efficiency above a threshold (q75\%)
+BoolCrit <- rep(TRUE,length(BasinObs$Qmm[Ind_Run])); 
+BoolCrit[BasinObs$Qmm[Ind_Run]<quantile(BasinObs$Qmm[Ind_Run],0.75,na.rm=TRUE)] <- FALSE;
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run],BoolCrit=BoolCrit)
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+cat(paste("SubCrit  ",OutputsCrit$SubCritNames,"  ",round(OutputsCrit$SubCritValues,4),"\\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency below a threshold (q10\%) on log-trqansformed flows
+transfo  <- "log"
+BoolCrit <- rep(TRUE,length(BasinObs$Qmm[Ind_Run])); 
+BoolCrit[BasinObs$Qmm[Ind_Run]>quantile(BasinObs$Qmm[Ind_Run],0.10,na.rm=TRUE)] <- FALSE;
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,RunOptions=RunOptions,
+                               Qobs=BasinObs$Qmm[Ind_Run],BoolCrit=BoolCrit,transfo=transfo)
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+cat(paste("SubCrit  ",OutputsCrit$SubCritNames,"  ",round(OutputsCrit$SubCritValues,4),"\\n",sep=""))
+
+
+
+
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}}
+}
+
diff --git a/man/ErrorCrit_KGE.Rd b/man/ErrorCrit_KGE.Rd
new file mode 100644
index 00000000..5b71c61a
--- /dev/null
+++ b/man/ErrorCrit_KGE.Rd
@@ -0,0 +1,50 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{ErrorCrit_KGE}
+\alias{ErrorCrit_KGE}
+\title{Error criterion based on the KGE formula}
+\usage{
+ErrorCrit_KGE(InputsCrit, OutputsModel, quiet = FALSE)
+}
+\arguments{
+\item{InputsCrit}{[object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details}
+
+\item{OutputsModel}{[object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$CritValue      }   \tab   [numeric] value of the criterion \cr
+         \emph{$CritName       }   \tab   [character] name of the criterion \cr
+         \emph{$SubCritValues  }   \tab   [numeric] values of the sub-criteria \cr
+         \emph{$SubCritNames   }   \tab   [character] names of the sub-criteria \cr
+         \emph{$CritBestValue  }   \tab   [numeric] theoretical best criterion value \cr
+         \emph{$Multiplier     }   \tab   [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr
+         \emph{$Ind_notcomputed}   \tab   [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr
+         }
+}
+\description{
+Function which computes an error criterion based on the KGE formula proposed by Gupta et al. (2009).
+}
+\details{
+In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows
+the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised
+(e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE).
+}
+\examples{
+## see example of the ErrorCrit function
+}
+\author{
+Laurent Coron (June 2014)
+}
+\references{
+Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009),
+      Decomposition of the mean squared error and NSE performance criteria: Implications
+      for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr
+}
+\seealso{
+\code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE2}}
+}
+
diff --git a/man/ErrorCrit_KGE2.Rd b/man/ErrorCrit_KGE2.Rd
new file mode 100644
index 00000000..aa6e12ae
--- /dev/null
+++ b/man/ErrorCrit_KGE2.Rd
@@ -0,0 +1,53 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{ErrorCrit_KGE2}
+\alias{ErrorCrit_KGE2}
+\title{Error criterion based on the KGE' formula}
+\usage{
+ErrorCrit_KGE2(InputsCrit, OutputsModel, quiet = FALSE)
+}
+\arguments{
+\item{InputsCrit}{[object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details}
+
+\item{OutputsModel}{[object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$CritValue      }   \tab   [numeric] value of the criterion \cr
+         \emph{$CritName       }   \tab   [character] name of the criterion \cr
+         \emph{$SubCritValues  }   \tab   [numeric] values of the sub-criteria \cr
+         \emph{$SubCritNames   }   \tab   [character] names of the sub-criteria \cr
+         \emph{$CritBestValue  }   \tab   [numeric] theoretical best criterion value \cr
+         \emph{$Multiplier     }   \tab   [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr
+         \emph{$Ind_notcomputed}   \tab   [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr
+         }
+}
+\description{
+Function which computes an error criterion based on the KGE' formula proposed by Kling et al. (2012).
+}
+\details{
+In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows
+the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised
+(e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE).
+}
+\examples{
+## see example of the ErrorCrit function
+}
+\author{
+Laurent Coron (June 2014)
+}
+\references{
+Gupta, H. V., Kling, H., Yilmaz, K. K. and Martinez, G. F. (2009),
+      Decomposition of the mean squared error and NSE performance criteria: Implications
+      for improving hydrological modelling, Journal of Hydrology, 377(1-2), 80-91, doi:10.1016/j.jhydrol.2009.08.003. \cr
+  Kling, H., Fuchs, M. and Paulin, M. (2012),
+      Runoff conditions in the upper Danube basin under an ensemble of climate change scenarios,
+      Journal of Hydrology, 424-425, 264-277, doi:10.1016/j.jhydrol.2012.01.011.
+}
+\seealso{
+\code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}}
+}
+
diff --git a/man/ErrorCrit_NSE.Rd b/man/ErrorCrit_NSE.Rd
new file mode 100644
index 00000000..112f39c3
--- /dev/null
+++ b/man/ErrorCrit_NSE.Rd
@@ -0,0 +1,48 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{ErrorCrit_NSE}
+\alias{ErrorCrit_NSE}
+\title{Error criterion based on the NSE formula}
+\usage{
+ErrorCrit_NSE(InputsCrit, OutputsModel, quiet = FALSE)
+}
+\arguments{
+\item{InputsCrit}{[object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details}
+
+\item{OutputsModel}{[object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$CritValue      }   \tab   [numeric] value of the criterion \cr
+         \emph{$CritName       }   \tab   [character] name of the criterion \cr
+         \emph{$CritBestValue  }   \tab   [numeric] theoretical best criterion value \cr
+         \emph{$Multiplier     }   \tab   [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr
+         \emph{$Ind_notcomputed}   \tab   [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr
+         }
+}
+\description{
+Function which computes an error criterion based on the NSE formula proposed by Nash & Sutcliffe (1970).
+}
+\details{
+In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows
+the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised
+(e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE).
+}
+\examples{
+## see example of the ErrorCrit function
+}
+\author{
+Laurent Coron (June 2014)
+}
+\references{
+Nash, J.E. and Sutcliffe, J.V. (1970),
+      River flow forecasting through conceptual models part 1.
+      A discussion of principles, Journal of Hydrology, 10(3), 282-290, doi:10.1016/0022-1694(70)90255-6. \cr
+}
+\seealso{
+\code{\link{ErrorCrit_RMSE}}, \code{\link{ErrorCrit_KGE}}, \code{\link{ErrorCrit_KGE2}}
+}
+
diff --git a/man/ErrorCrit_RMSE.Rd b/man/ErrorCrit_RMSE.Rd
new file mode 100644
index 00000000..be78dafc
--- /dev/null
+++ b/man/ErrorCrit_RMSE.Rd
@@ -0,0 +1,43 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{ErrorCrit_RMSE}
+\alias{ErrorCrit_RMSE}
+\title{Error criterion based on the RMSE}
+\usage{
+ErrorCrit_RMSE(InputsCrit, OutputsModel, quiet = FALSE)
+}
+\arguments{
+\item{InputsCrit}{[object of class \emph{InputsCrit}] see \code{\link{CreateInputsCrit}} for details}
+
+\item{OutputsModel}{[object of class \emph{OutputsModel}] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$CritValue      }   \tab   [numeric] value of the criterion \cr
+         \emph{$CritName       }   \tab   [character] name of the criterion \cr
+         \emph{$CritBestValue  }   \tab   [numeric] theoretical best criterion value \cr
+         \emph{$Multiplier     }   \tab   [numeric] integer indicating whether the criterion is indeed an error (+1) or an efficiency (-1) \cr
+         \emph{$Ind_notcomputed}   \tab   [numeric] indices of the time-steps where InputsCrit$BoolCrit=FALSE or no data is available \cr
+         }
+}
+\description{
+Function which computes an error criterion based on the root mean square error (RMSE).
+}
+\details{
+In addition to the criterion value, the function outputs include a multiplier (-1 or +1) which allows
+the use of the function for model calibration: the product CritValue*Multiplier is the criterion to be minimised
+(e.g. Multiplier=+1 for RMSE, Multiplier=-1 for NSE).
+}
+\examples{
+## see example of the ErrorCrit function
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{ErrorCrit_NSE}}, \code{\link{ErrorCrit_KGE}}, \code{\link{ErrorCrit_KGE2}}
+}
+
diff --git a/man/PEdaily_Oudin.Rd b/man/PEdaily_Oudin.Rd
new file mode 100644
index 00000000..c310f515
--- /dev/null
+++ b/man/PEdaily_Oudin.Rd
@@ -0,0 +1,36 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{PEdaily_Oudin}
+\alias{PEdaily_Oudin}
+\title{Computation of daily series of potential evapotranspiration with Oudin's formula}
+\usage{
+PEdaily_Oudin(JD, Temp, LatRad)
+}
+\arguments{
+\item{JD}{[numeric] time series of julian day [-]}
+
+\item{Temp}{[numeric] time series of daily mean air temperature [degC]}
+
+\item{LatRad}{[numeric] latitude of measurement for the temperature series [rad]}
+}
+\value{
+[numeric] time series of daily potential evapotranspiration [mm/d]
+}
+\description{
+Function which computes daily PE using the formula from Oudin et al. (2005).
+}
+\examples{
+require(airGR)
+   data(L0123001)
+   PotEvap <- PEdaily_Oudin(JD=as.POSIXlt(BasinObs$DatesR)$yday,Temp=BasinObs$T,LatRad=0.8)
+}
+\author{
+Laurent Coron (December 2013)
+}
+\references{
+Oudin, L., F. Hervieu, C. Michel, C. Perrin, V. Andréassian, F. Anctil and C. Loumagne (2005),
+      Which potential evapotranspiration input for a lumped rainfall-runoff model?: Part 2-Towards a
+      simple and efficient potential evapotranspiration model for rainfall-runoff modelling, Journal of Hydrology,
+      303(1-4), 290-306, doi:10.1016/j.jhydrol.2004.08.026.
+}
+
diff --git a/man/RunModel.Rd b/man/RunModel.Rd
new file mode 100644
index 00000000..cd7a4af6
--- /dev/null
+++ b/man/RunModel.Rd
@@ -0,0 +1,61 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{RunModel}
+\alias{RunModel}
+\title{Run with the provided hydrological model function}
+\usage{
+RunModel(InputsModel, RunOptions, Param, FUN_MOD)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of model parameters}
+
+\item{FUN_MOD}{[function] hydrological model function (e.g. RunModel_GR4J, RunModel_CemaNeigeGR4J)}
+}
+\value{
+[list] see \code{\link{RunModel_GR4J}} or \code{\link{RunModel_CemaNeigeGR4J}} for details
+}
+\description{
+Function which performs a single model run with the provided function.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,
+                         FUN_MOD=RunModel_GR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{RunModel_GR4J}}, \code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+}
+
diff --git a/man/RunModel_CemaNeige.Rd b/man/RunModel_CemaNeige.Rd
new file mode 100644
index 00000000..8191c8f6
--- /dev/null
+++ b/man/RunModel_CemaNeige.Rd
@@ -0,0 +1,84 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{RunModel_CemaNeige}
+\alias{RunModel_CemaNeige}
+\title{Run with the CemaNeige snow module}
+\usage{
+RunModel_CemaNeige(InputsModel, RunOptions, Param)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of 2 parameters
+\tabular{ll}{
+CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-]         \cr
+CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d]                       \cr
+}}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$DatesR  }                                  \tab [POSIXlt] series of dates                                    \cr
+         \emph{$CemaNeigeLayers}                           \tab [list] list of CemaNeige outputs (1 list per layer)          \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Pliq         }   \tab [numeric] series of liquid precip. [mm/d]                    \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Psol         }   \tab [numeric] series of solid precip. [mm/d]                     \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$SnowPack     }   \tab [numeric] series of snow pack [mm]                           \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$ThermalState }   \tab [numeric] series of snow pack thermal state [degC]           \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Gratio       }   \tab [numeric] series of Gratio [0-1]                             \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$PotMelt      }   \tab [numeric] series of potential snow melt [mm]                 \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Melt         }   \tab [numeric] series of actual snow melt [mm]                    \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt  }   \tab [numeric] series of liquid precip. + actual snow melt [mm]   \cr
+         \emph{$StateEnd}                                  \tab [numeric] states at the end of the run: CemaNeige states [mm & degC] \cr
+         }
+         (refer to the provided references or to the package source code for further details on these model outputs)
+}
+\description{
+Function which performs a single model run for RunModel_CemaNeige.
+}
+\details{
+For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123002)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeige,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,TempMean=BasinObs$T,
+                                 ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve,
+                                 NLayers=5)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeige,InputsModel=InputsModel,
+                               IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(0.962,2.249)
+OutputsModel <- RunModel_CemaNeige(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel)
+
+}
+\author{
+Laurent Coron (January 2014)
+}
+\references{
+Valéry, A., V. Andréassian and C. Perrin (2014),
+      "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine?
+      Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr
+  Valéry, A., V. Andréassian and C. Perrin (2014),
+      "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine?
+      Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058.
+}
+\seealso{
+\code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+}
+
diff --git a/man/RunModel_CemaNeigeGR4J.Rd b/man/RunModel_CemaNeigeGR4J.Rd
new file mode 100644
index 00000000..6ad6de2b
--- /dev/null
+++ b/man/RunModel_CemaNeigeGR4J.Rd
@@ -0,0 +1,112 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{RunModel_CemaNeigeGR4J}
+\alias{RunModel_CemaNeigeGR4J}
+\title{Run with the CemaNeigeGR4J hydrological model}
+\usage{
+RunModel_CemaNeigeGR4J(InputsModel, RunOptions, Param)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of 6 parameters
+\tabular{ll}{
+GR4J X1      \tab production store capacity [mm]                                \cr
+GR4J X2      \tab intercatchment exchange coefficient [mm/d]                    \cr
+GR4J X3      \tab routing store capacity [mm]                                   \cr
+GR4J X4      \tab unit hydrograph time constant [d]                             \cr
+CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-]         \cr
+CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d]                       \cr
+}}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+         \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+         \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+         \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+         \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+         \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+         \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+         \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+         \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+         \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+         \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+         \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+         \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+         \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+         \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+         \emph{$CemaNeigeLayers}   \tab [list] list of CemaNeige outputs (1 list per layer)                          \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Pliq         }   \tab [numeric] series of liquid precip. [mm/d]                          \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Psol         }   \tab [numeric] series of solid precip. [mm/d]                           \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$SnowPack     }   \tab [numeric] series of snow pack [mm]                                 \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$ThermalState }   \tab [numeric] series of snow pack thermal state [degC]                 \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Gratio       }   \tab [numeric] series of Gratio [0-1]                                   \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$PotMelt      }   \tab [numeric] series of potential snow melt [mm/d]                     \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Melt         }   \tab [numeric] series of actual snow melt [mm/d]                        \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt  }   \tab [numeric] series of liquid precip. + actual snow melt [mm/d]       \cr
+         \emph{$StateEnd}                                  \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr
+         }
+         (refer to the provided references or to the package source code for further details on these model outputs)
+}
+\description{
+Function which performs a single model run for RunModel_CemaNeigeGR4J.
+}
+\details{
+For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123002)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T,
+                                 ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve,
+                                 NLayers=5)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR4J,InputsModel=InputsModel,
+                               IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(408.774,2.646,131.264,1.174,0.962,2.249)
+OutputsModel <- RunModel_CemaNeigeGR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (December 2013)
+}
+\references{
+Perrin, C., C. Michel and V. Andréassian (2003),
+      Improvement of a parsimonious model for streamflow simulation,
+      Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7.
+  Valéry, A., V. Andréassian and C. Perrin (2014),
+      "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine?
+      Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr
+  Valéry, A., V. Andréassian and C. Perrin (2014),
+      "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine?
+      Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058.
+}
+\seealso{
+\code{\link{RunModel_CemaNeigeGR5J}}, \code{\link{RunModel_CemaNeigeGR6J}}, \code{\link{RunModel_GR4J}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+}
+
diff --git a/man/RunModel_CemaNeigeGR5J.Rd b/man/RunModel_CemaNeigeGR5J.Rd
new file mode 100644
index 00000000..3048e77e
--- /dev/null
+++ b/man/RunModel_CemaNeigeGR5J.Rd
@@ -0,0 +1,115 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{RunModel_CemaNeigeGR5J}
+\alias{RunModel_CemaNeigeGR5J}
+\title{Run with the CemaNeigeGR5J hydrological model}
+\usage{
+RunModel_CemaNeigeGR5J(InputsModel, RunOptions, Param)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of 7 parameters
+\tabular{ll}{
+GR5J X1      \tab production store capacity [mm]                                \cr
+GR5J X2      \tab intercatchment exchange coefficient 1 [mm/d]                  \cr
+GR5J X3      \tab routing store capacity [mm]                                   \cr
+GR5J X4      \tab unit hydrograph time constant [d]                             \cr
+GR5J X5      \tab intercatchment exchange coefficient 2 [-]                     \cr
+CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-]         \cr
+CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d]                       \cr
+}}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+         \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+         \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+         \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+         \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+         \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+         \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+         \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+         \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+         \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+         \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+         \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+         \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+         \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+         \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+         \emph{$CemaNeigeLayers}   \tab [list] list of CemaNeige outputs (1 list per layer)                          \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Pliq         }   \tab [numeric] series of liquid precip. [mm/d]                          \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Psol         }   \tab [numeric] series of solid precip. [mm/d]                           \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$SnowPack     }   \tab [numeric] series of snow pack [mm]                                 \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$ThermalState }   \tab [numeric] series of snow pack thermal state [degC]                 \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Gratio       }   \tab [numeric] series of Gratio [0-1]                                   \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$PotMelt      }   \tab [numeric] series of potential snow melt [mm/d]                     \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Melt         }   \tab [numeric] series of actual snow melt [mm/d]                        \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt  }   \tab [numeric] series of liquid precip. + actual snow melt [mm/d]       \cr
+         \emph{$StateEnd}                                  \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr
+         }
+         (refer to the provided references or to the package source code for further details on these model outputs)
+}
+\description{
+Function which performs a single model run for RunModel_CemaNeigeGR5J.
+}
+\details{
+For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123002)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR5J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T,
+                                 ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve,
+                                 NLayers=5)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR5J,InputsModel=InputsModel,
+                               IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(179.139,-0.100,203.815,1.174,2.478,0.977,2.774)
+OutputsModel <- RunModel_CemaNeigeGR5J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (December 2013)
+}
+\references{
+Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances
+      et du réalisme des modèles pluie-débit ?, PhD thesis (french), UPMC, Paris, France. \cr
+  Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011),
+      A downward structural sensitivity analysis of hydrological models to improve low-flow simulation,
+      Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+  Valéry, A., V. Andréassian and C. Perrin (2014),
+      "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine?
+      Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr
+  Valéry, A., V. Andréassian and C. Perrin (2014),
+      "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine?
+      Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058.
+}
+\seealso{
+\code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{RunModel_CemaNeigeGR6J}}, \code{\link{RunModel_GR5J}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+}
+
diff --git a/man/RunModel_CemaNeigeGR6J.Rd b/man/RunModel_CemaNeigeGR6J.Rd
new file mode 100644
index 00000000..57dfe775
--- /dev/null
+++ b/man/RunModel_CemaNeigeGR6J.Rd
@@ -0,0 +1,83 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{RunModel_CemaNeigeGR6J}
+\alias{RunModel_CemaNeigeGR6J}
+\title{Run with the CemaNeigeGR6J hydrological model}
+\usage{
+RunModel_CemaNeigeGR6J(InputsModel, RunOptions, Param)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of 8 parameters
+\tabular{ll}{
+GR6J X1      \tab production store capacity [mm]                                \cr
+GR6J X2      \tab intercatchment exchange coefficient 1 [mm/d]                  \cr
+GR6J X3      \tab routing store capacity [mm]                                   \cr
+GR6J X4      \tab unit hydrograph time constant [d]                             \cr
+GR6J X5      \tab intercatchment exchange coefficient 2 [-]                     \cr
+GR6J X6      \tab coefficient for emptying exponential store [-]                \cr
+CemaNeige X1 \tab weighting coefficient for snow pack thermal state [-]         \cr
+CemaNeige X2 \tab degree-day melt coefficient [mm/degC/d]                       \cr
+}}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+         \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+         \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+         \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+         \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+         \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+         \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+         \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+         \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+         \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+         \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+         \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+         \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+         \emph{$QR1     }          \tab [numeric] series of exponential store outflow (QR1) [mm/d]                    \cr
+         \emph{$Exp     }          \tab [numeric] series of exponential store level (X(6)) (negative) [mm]            \cr
+         \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+         \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+         \emph{$CemaNeigeLayers}   \tab [list] list of CemaNeige outputs (1 list per layer)                          \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Pliq         }   \tab [numeric] series of liquid precip. [mm/d]                          \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Psol         }   \tab [numeric] series of solid precip. [mm/d]                           \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$SnowPack     }   \tab [numeric] series of snow pack [mm]                                 \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$ThermalState }   \tab [numeric] series of snow pack thermal state [degC]                 \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Gratio       }   \tab [numeric] series of Gratio [0-1]                                   \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$PotMelt      }   \tab [numeric] series of potential snow melt [mm/d]                     \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$Melt         }   \tab [numeric] series of actual snow melt [mm/d]                        \cr
+         \emph{$CemaNeigeLayers[[iLayer]]$PliqAndMelt  }   \tab [numeric] series of liquid precip. + actual snow melt [mm/d]       \cr
+         \emph{$StateEnd}                                  \tab [numeric] states at the end of the run: \cr\tab res. & HU levels [mm], CemaNeige states [mm & degC] \cr
+         }
+         (refer to the provided references or to the package source code for further details on these model outputs)
+}
+\description{
+Function which performs a single model run for RunModel_CemaNeigeGR6J.
+}
+\details{
+For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+}
+\author{
+Laurent Coron (December 2013)
+}
+\references{
+Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011),
+      A downward structural sensitivity analysis of hydrological models to improve low-flow simulation,
+      Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+  Valéry, A., V. Andréassian and C. Perrin (2014),
+      "As simple as possible but not simpler": what is useful in a temperature-based snow-accounting routine?
+      Part 1 - Comparison of six snow accounting routines on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.059. \cr
+  Valéry, A., V. Andréassian and C. Perrin (2014),
+      "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine?
+      Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058.
+}
+\seealso{
+\code{\link{RunModel_CemaNeigeGR4J}}, \code{\link{RunModel_CemaNeigeGR5J}}, \code{\link{RunModel_GR6J}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+}
+
diff --git a/man/RunModel_GR4J.Rd b/man/RunModel_GR4J.Rd
new file mode 100644
index 00000000..db4f1c4a
--- /dev/null
+++ b/man/RunModel_GR4J.Rd
@@ -0,0 +1,92 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{RunModel_GR4J}
+\alias{RunModel_GR4J}
+\title{Run with the GR4J hydrological model}
+\usage{
+RunModel_GR4J(InputsModel, RunOptions, Param)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of 4 parameters
+\tabular{ll}{
+GR4J X1      \tab production store capacity [mm]                                \cr
+GR4J X2      \tab intercatchment exchange coefficient [mm/d]                    \cr
+GR4J X3      \tab routing store capacity [mm]                                   \cr
+GR4J X4      \tab unit hydrograph time constant [d]                             \cr
+}}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+         \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+         \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+         \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+         \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+         \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+         \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+         \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+         \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+         \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+         \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+         \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+         \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+         \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+         \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+         \emph{$StateEnd}          \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr
+         }
+         (refer to the provided references or to the package source code for further details on these model outputs)
+}
+\description{
+Function which performs a single model run for GR4J.
+}
+\details{
+For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (December 2013)
+}
+\references{
+Perrin, C., C. Michel and V. Andréassian (2003),
+      Improvement of a parsimonious model for streamflow simulation,
+      Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7.
+}
+\seealso{
+\code{\link{RunModel_GR5J}}, \code{\link{RunModel_GR6J}}, \code{\link{RunModel_CemaNeigeGR4J}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+}
+
diff --git a/man/RunModel_GR5J.Rd b/man/RunModel_GR5J.Rd
new file mode 100644
index 00000000..4d7a911f
--- /dev/null
+++ b/man/RunModel_GR5J.Rd
@@ -0,0 +1,95 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{RunModel_GR5J}
+\alias{RunModel_GR5J}
+\title{Run with the GR5J hydrological model}
+\usage{
+RunModel_GR5J(InputsModel, RunOptions, Param)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of 5 parameters
+\tabular{ll}{
+GR5J X1      \tab production store capacity [mm]                                \cr
+GR5J X2      \tab intercatchment exchange coefficient 1 [mm/d]                  \cr
+GR5J X3      \tab routing store capacity [mm]                                   \cr
+GR5J X4      \tab unit hydrograph time constant [d]                             \cr
+GR5J X5      \tab intercatchment exchange coefficient 2 [-]                     \cr
+}}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+         \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+         \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+         \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+         \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+         \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+         \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+         \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+         \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+         \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+         \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+         \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+         \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+         \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+         \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+         \emph{$StateEnd}          \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr
+         }
+         (refer to the provided references or to the package source code for further details on these model outputs)
+}
+\description{
+Function which performs a single model run for GR5J.
+}
+\details{
+For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR5J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR5J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(839.661,-0.100,103.153,1.939,-0.428)
+OutputsModel <- RunModel_GR5J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (December 2013)
+}
+\references{
+Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances
+      et du réalisme des modèles pluie-débit ?, PhD thesis (french), UPMC, Paris, France. \cr
+  Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet, and V. Andréassian (2011),
+      A downward structural sensitivity analysis of hydrological models to improve low-flow simulation,
+      Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+}
+\seealso{
+\code{\link{RunModel_GR4J}}, \code{\link{RunModel_GR6J}}, \code{\link{RunModel_CemaNeigeGR5J}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+}
+
diff --git a/man/RunModel_GR6J.Rd b/man/RunModel_GR6J.Rd
new file mode 100644
index 00000000..6d95ee89
--- /dev/null
+++ b/man/RunModel_GR6J.Rd
@@ -0,0 +1,96 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{RunModel_GR6J}
+\alias{RunModel_GR6J}
+\title{Run with the GR6J hydrological model}
+\usage{
+RunModel_GR6J(InputsModel, RunOptions, Param)
+}
+\arguments{
+\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link{CreateInputsModel}} for details}
+
+\item{RunOptions}{[object of class \emph{RunOptions}] see \code{\link{CreateRunOptions}} for details}
+
+\item{Param}{[numeric] vector of 6 parameters
+\tabular{ll}{
+GR6J X1      \tab production store capacity [mm]                                \cr
+GR6J X2      \tab intercatchment exchange coefficient 1 [mm/d]                  \cr
+GR6J X3      \tab routing store capacity [mm]                                   \cr
+GR6J X4      \tab unit hydrograph time constant [d]                             \cr
+GR6J X5      \tab intercatchment exchange coefficient 2 [-]                     \cr
+GR6J X6      \tab coefficient for emptying exponential store [-]                \cr
+}}
+}
+\value{
+[list] list containing the function outputs organised as follows:
+         \tabular{ll}{
+         \emph{$DatesR  }          \tab [POSIXlt] series of dates                                                     \cr
+         \emph{$PotEvap }          \tab [numeric] series of input potential evapotranspiration [mm/d]                 \cr
+         \emph{$Precip  }          \tab [numeric] series of input total precipitation [mm/d]                          \cr
+         \emph{$Prod    }          \tab [numeric] series of production store level (X(2)) [mm]                        \cr
+         \emph{$AE      }          \tab [numeric] series of actual evapotranspiration [mm/d]                          \cr
+         \emph{$Perc    }          \tab [numeric] series of percolation (PERC) [mm/d]                                 \cr
+         \emph{$PR      }          \tab [numeric] series of PR=PN-PS+PERC [mm/d]                                      \cr
+         \emph{$Q9      }          \tab [numeric] series of HU1 outflow (Q9) [mm/d]                                   \cr
+         \emph{$Q1      }          \tab [numeric] series of HU2 outflow (Q1) [mm/d]                                   \cr
+         \emph{$Rout    }          \tab [numeric] series of routing store level (X(1)) [mm]                           \cr
+         \emph{$Exch    }          \tab [numeric] series of potential semi-exchange between catchments [mm/d]         \cr
+         \emph{$AExch   }          \tab [numeric] series of actual exchange between catchments (1+2) [mm/d]           \cr
+         \emph{$QR      }          \tab [numeric] series of routing store outflow (QR) [mm/d]                         \cr
+         \emph{$QR1     }          \tab [numeric] series of exponential store outflow (QR1) [mm/d]                    \cr
+         \emph{$Exp     }          \tab [numeric] series of exponential store level (X(6)) (negative) [mm]            \cr
+         \emph{$QD      }          \tab [numeric] series of direct flow from HU2 after exchange (QD) [mm/d]           \cr
+         \emph{$Qsim    }          \tab [numeric] series of Qsim [mm/d]                                               \cr
+         \emph{$StateEnd}          \tab [numeric] states at the end of the run (res. levels, HU1 levels, HU2 levels) [mm] \cr
+         }
+         (refer to the provided references or to the package source code for further details on these model outputs)
+}
+\description{
+Function which performs a single model run for GR6J.
+}
+\details{
+For further details on the argument structures and initialisation options, see \code{\link{CreateRunOptions}}.
+}
+\examples{
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR6J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="\%d/\%m/\%Y \%H:\%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR6J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(347.000,-0.500,65.677,1.957,0.324,34.115)
+OutputsModel <- RunModel_GR6J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\\n",sep=""))
+
+}
+\author{
+Laurent Coron (December 2013)
+}
+\references{
+Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011),
+      A downward structural sensitivity analysis of hydrological models to improve low-flow simulation,
+      Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+}
+\seealso{
+\code{\link{RunModel_GR4J}}, \code{\link{RunModel_GR5J}}, \code{\link{RunModel_CemaNeigeGR6J}},
+         \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}.
+}
+
diff --git a/man/TransfoParam.Rd b/man/TransfoParam.Rd
new file mode 100644
index 00000000..a23d4b9c
--- /dev/null
+++ b/man/TransfoParam.Rd
@@ -0,0 +1,45 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{TransfoParam}
+\alias{TransfoParam}
+\title{Transformation of the parameters using the provided function}
+\usage{
+TransfoParam(ParamIn, Direction, FUN_TRANSFO)
+}
+\arguments{
+\item{ParamIn}{[numeric] matrix of parameter sets (sets in line, parameter values in column)}
+
+\item{Direction}{[character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real}
+
+\item{FUN_TRANSFO}{[function] model parameters transformation function (e.g. TransfoParam_GR4J, TransfoParam_CemaNeigeGR4J)}
+}
+\value{
+\emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+}
+\description{
+Function which transforms model parameters (from real to transformed parameters and vice versa) using the provided function.
+}
+\examples{
+require(airGR)
+
+## transformation Real->Transformed for the GR4J model
+    Xreal <- matrix( c( 221.41, -3.63,  30.00, 1.37,
+                        347.23, -1.03,  60.34, 1.76,
+                        854.06, -0.10, 148.41, 2.34),
+                        ncol=4,byrow=TRUE)
+    Xtran <- TransfoParam(ParamIn=Xreal,Direction="RT",FUN_TRANSFO=TransfoParam_GR4J)
+
+## transformation Transformed->Real for the GR4J model
+    Xtran <- matrix( c( +3.60, -2.00, +3.40, -9.10,
+                        +3.90, -0.90, +4.10, -8.70,
+                        +4.50, -0.10, +5.00, -8.10),
+                        ncol=4,byrow=TRUE)
+    Xreal <- TransfoParam(ParamIn=Xtran,Direction="TR",FUN_TRANSFO=TransfoParam_GR4J)
+}
+\author{
+Laurent Coron (June 2014)
+}
+\seealso{
+\code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}}
+}
+
diff --git a/man/TransfoParam_CemaNeige.Rd b/man/TransfoParam_CemaNeige.Rd
new file mode 100644
index 00000000..0a34e224
--- /dev/null
+++ b/man/TransfoParam_CemaNeige.Rd
@@ -0,0 +1,43 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{TransfoParam_CemaNeige}
+\alias{TransfoParam_CemaNeige}
+\title{Transformation of the parameters from the CemaNeige module}
+\usage{
+TransfoParam_CemaNeige(ParamIn, Direction)
+}
+\arguments{
+\item{ParamIn}{[numeric] matrix of parameter sets (sets in line, parameter values in column)}
+
+\item{Direction}{[character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real}
+}
+\value{
+\emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+}
+\description{
+Function which transforms model parameters (from real to transformed parameters and vice versa).
+}
+\examples{
+require(airGR)
+
+## transformation Real->Transformed for the CemaNeige module
+    Xreal <- matrix( c( 0.19, 1.73,
+                        0.39, 2.51,
+                        0.74, 4.06),
+                        ncol=2,byrow=TRUE)
+    Xtran <- TransfoParam_CemaNeige(ParamIn=Xreal,Direction="RT")
+
+## transformation Transformed->Real for the CemaNeige module
+    Xtran <- matrix( c( -6.26, +0.55,
+                        -2.13, +0.92,
+                        +4.86, +1.40)
+                        ,ncol=2,byrow=TRUE)
+    Xreal <- TransfoParam_CemaNeige(ParamIn=Xtran,Direction="TR")
+}
+\author{
+Laurent Coron (December 2013)
+}
+\seealso{
+\code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}}
+}
+
diff --git a/man/TransfoParam_GR4J.Rd b/man/TransfoParam_GR4J.Rd
new file mode 100644
index 00000000..bafd6e24
--- /dev/null
+++ b/man/TransfoParam_GR4J.Rd
@@ -0,0 +1,43 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{TransfoParam_GR4J}
+\alias{TransfoParam_GR4J}
+\title{Transformation of the parameters from the GR4J model}
+\usage{
+TransfoParam_GR4J(ParamIn, Direction)
+}
+\arguments{
+\item{ParamIn}{[numeric] matrix of parameter sets (sets in line, parameter values in column)}
+
+\item{Direction}{[character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real}
+}
+\value{
+\emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+}
+\description{
+Function which transforms model parameters (from real to transformed parameters and vice versa).
+}
+\examples{
+require(airGR)
+
+## transformation Real->Transformed for the GR4J model
+    Xreal <- matrix( c( 221.41, -3.63,  30.00, 1.37,
+                        347.23, -1.03,  60.34, 1.76,
+                        854.06, -0.10, 148.41, 2.34),
+                        ncol=4,byrow=TRUE)
+    Xtran <- TransfoParam_GR4J(ParamIn=Xreal,Direction="RT")
+
+## transformation Transformed->Real for the GR4J model
+    Xtran <- matrix( c( +3.60, -2.00, +3.40, -9.10,
+                        +3.90, -0.90, +4.10, -8.70,
+                        +4.50, -0.10, +5.00, -8.10),
+                        ncol=4,byrow=TRUE)
+    Xreal <- TransfoParam_GR4J(ParamIn=Xtran,Direction="TR")
+}
+\author{
+Laurent Coron (December 2013)
+}
+\seealso{
+\code{\link{TransfoParam}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}}
+}
+
diff --git a/man/TransfoParam_GR5J.Rd b/man/TransfoParam_GR5J.Rd
new file mode 100644
index 00000000..61a273dc
--- /dev/null
+++ b/man/TransfoParam_GR5J.Rd
@@ -0,0 +1,43 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{TransfoParam_GR5J}
+\alias{TransfoParam_GR5J}
+\title{Transformation of the parameters from the GR5J model}
+\usage{
+TransfoParam_GR5J(ParamIn, Direction)
+}
+\arguments{
+\item{ParamIn}{[numeric] matrix of parameter sets (sets in line, parameter values in column)}
+
+\item{Direction}{[character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real}
+}
+\value{
+\emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+}
+\description{
+Function which transforms model parameters (from real to transformed parameters and vice versa).
+}
+\examples{
+require(airGR)
+
+## transformation Real->Transformed for the GR5J model
+    Xreal <- matrix( c( 221.41, -2.65,  27.11, 1.37, -0.76,
+                        347.23, -0.64,  60.34, 1.76,  0.30,
+                        854.01, -0.10, 148.41, 2.34,  0.52),
+                        ncol=5,byrow=TRUE)
+    Xtran <- TransfoParam_GR5J(ParamIn=Xreal,Direction="RT")
+
+## transformation Transformed->Real for the GR5J model
+    Xtran <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70,
+                        +3.90, -0.60, +4.10, -8.70, +0.30,
+                        +4.50, -0.10, +5.00, -8.10, +0.50),
+                        ncol=5,byrow=TRUE)
+    Xreal <- TransfoParam_GR5J(ParamIn=Xtran,Direction="TR")
+}
+\author{
+Laurent Coron (December 2013)
+}
+\seealso{
+\code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR6J}}, \code{\link{TransfoParam_CemaNeige}}
+}
+
diff --git a/man/TransfoParam_GR6J.Rd b/man/TransfoParam_GR6J.Rd
new file mode 100644
index 00000000..84faccba
--- /dev/null
+++ b/man/TransfoParam_GR6J.Rd
@@ -0,0 +1,43 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{TransfoParam_GR6J}
+\alias{TransfoParam_GR6J}
+\title{Transformation of the parameters from the GR6J model}
+\usage{
+TransfoParam_GR6J(ParamIn, Direction)
+}
+\arguments{
+\item{ParamIn}{[numeric] matrix of parameter sets (sets in line, parameter values in column)}
+
+\item{Direction}{[character] direction of the transformation: use "RT" for Real->Transformed and "TR" for Transformed->Real}
+}
+\value{
+\emph{ParamOut} [numeric] matrix of parameter sets (sets in line, parameter values in column)
+}
+\description{
+Function which transforms model parameters (from real to transformed parameters and vice versa).
+}
+\examples{
+require(airGR)
+
+## transformation Real->Transformed for the GR6J model
+    Xreal <- matrix( c( 221.41, -1.18,  27.11, 1.37, -0.18,  20.09,
+                        347.23, -0.52,  60.34, 1.76,  0.02,  54.60,
+                        854.06,  0.52, 148.41, 2.34,  0.22, 148.41),
+                        ncol=6,byrow=TRUE)
+    Xtran <- TransfoParam_GR6J(ParamIn=Xreal,Direction="RT")
+
+## transformation Transformed->Real for the GR6J model
+    Xtran <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00,
+                        +3.90, -0.50, +4.10, -8.70, +0.10, +4.00,
+                        +4.50, +0.50, +5.00, -8.10, +1.10, +5.00),
+                        ncol=6,byrow=TRUE)
+    Xreal <- TransfoParam_GR6J(ParamIn=Xtran,Direction="TR")
+}
+\author{
+Laurent Coron (December 2013)
+}
+\seealso{
+\code{\link{TransfoParam}}, \code{\link{TransfoParam_GR4J}}, \code{\link{TransfoParam_GR5J}}, \code{\link{TransfoParam_CemaNeige}}
+}
+
diff --git a/man/airGR.Rd b/man/airGR.Rd
new file mode 100644
index 00000000..25802ba9
--- /dev/null
+++ b/man/airGR.Rd
@@ -0,0 +1,53 @@
+\name{airGR}
+\alias{airGR}
+\docType{package}
+\encoding{UTF-8}
+\title{Modelling tools used at Irstea-HBAN (France), including GR4J, GR5J, GR6J and CemaNeige}
+\description{
+This package brings into R the hydrological modelling tools used at Irstea-HBAN (France), including GR4J, GR5J, GR6J and CemaNeige. Each model core is coded in FORTRAN to ensure low computational time. The other package functions (i.e. mainly the calibration algorithm and the efficiency criteria) are coded in R. \cr
+
+##### Functions and objects #####
+
+The airGR package has been designed to fulfil two major requirements: facilitate the use by non-expert users and allow flexibility regarding the addition of external criteria, models or calibration algorithms. The names of the functions and their arguments were chosen to this end. 
+
+The package is mostly based on three families of functions: \cr
+- the functions belonging to the \code{\link{RunModel}} family require three arguments: \emph{InputsModel}, \emph{RunOptions} and \emph{Param};  please refer to help pages \code{\link{CreateInputsModel}} and \code{\link{CreateRunOptions}} for further details and examples; \cr
+- the functions belonging to the \code{\link{ErrorCrit}} family require two arguments: \emph{InputsCrit} and \emph{OutputsModel}; please refer to help pages \code{\link{CreateInputsCrit}} and \code{\link{RunModel}} for further details and examples; \cr
+- the functions belonging to the \code{\link{Calibration}} family require four arguments: \emph{InputsModel}, \emph{RunOptions}, \emph{InputsCrit} and \emph{CalibOptions};  please refer to help pages \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}} and \code{\link{CreateCalibOptions}} for further details and examples.
+
+In order to limit the risk of misuse and increase the flexibility of these main functions, we imposed the structure of their arguments and defined their class. Most users will not need to worry about these imposed structures since functions are provided to prepare these arguments for them: \code{\link{CreateInputsModel}}, \code{\link{CreateRunOptions}}, \code{\link{CreateInputsCrit}}, \code{\link{CreateCalibOptions}}. However, advanced users wishing to supplement the package with their own models will need to comply with these imposed structures and refer to the package source codes to get all the specification requirements. \cr
+
+##### Models #####
+
+Three hydrological models and one snow melt and accumulation module are implemented in airGR. The snow module can also be used alone and each hydrological model can either be used alone or together with the snow module. \cr
+These models can be called within airGR using the following functions: \cr 
+- \code{\link{RunModel_GR4J}}: the four-parameter lumped conceptual model (Perrin et al., 2003) \cr
+- \code{\link{RunModel_GR5J}}: the five-parameter lumped conceptual model (Le Moine, 2008) \cr
+- \code{\link{RunModel_GR6J}}: the six-parameter lumped conceptual model (Pushpalatha, 2013) \cr
+- \code{\link{RunModel_CemaNeige}}: the two-parameter degree-day snow melt and accumulation module (Valéry et al., 2014) \cr
+- \code{\link{RunModel_CemaNeigeGR4J}}: combined use of GR4J and CemaNeige \cr
+- \code{\link{RunModel_CemaNeigeGR5J}}: combined use of GR5J and CemaNeige \cr
+- \code{\link{RunModel_CemaNeigeGR6J}}: combined use of GR6J and CemaNeige
+ 
+\emph{References:}  \cr
+Perrin, C., C. Michel and V. Andréassian (2003), Improvement of a parsimonious model for streamflow simulation, Journal of Hydrology, 279(1-4), 275-289, doi:10.1016/S0022-1694(03)00225-7. \cr
+Le Moine, N. (2008), Le bassin versant de surface vu par le souterrain : une voie d'amélioration des performances et du réalisme des modèles pluie-débit ?, PhD thesis (in French), UPMC, Paris, France. \cr
+Pushpalatha, R., C. Perrin, N. Le Moine, T. Mathevet and V. Andréassian (2011), A downward structural sensitivity analysis of hydrological models to improve low-flow simulation, Journal of Hydrology, 411(1-2), 66-76, doi:10.1016/j.jhydrol.2011.09.034. \cr
+Valéry, A., V. Andréassian and C. Perrin (2014), "As simple as possible but not simpler": What is useful in a temperature-based snow-accounting routine? Part 2 - Sensitivity analysis of the Cemaneige snow accounting routine on 380 catchments, Journal of Hydrology, doi:10.1016/j.jhydrol.2014.04.058. \cr
+}
+
+\details{
+\tabular{ll}{
+Package: \tab airGR\cr
+Type: \tab Package\cr
+Version: \tab 0.7.4\cr
+Date: \tab 2014-11-01\cr
+License: \tab GPL-2\cr
+}
+}
+\author{
+Author: Laurent CORON \cr
+Maintainer: Laurent CORON <laurent.coron@irstea.fr>, Olivier DELAIGUE <olivier.delaigue@irstea.fr>
+}
+
+\keyword{package, hydrology, modelling}
diff --git a/man/plot_OutputsModel.Rd b/man/plot_OutputsModel.Rd
new file mode 100644
index 00000000..fa219705
--- /dev/null
+++ b/man/plot_OutputsModel.Rd
@@ -0,0 +1,37 @@
+% Generated by roxygen2 (4.0.1): do not edit by hand
+\encoding{UTF-8}
+\name{plot_OutputsModel}
+\alias{plot_OutputsModel}
+\title{Default preview of model outputs}
+\usage{
+plot_OutputsModel(OutputsModel, Qobs = NULL, IndPeriod_Plot = NULL,
+  BasinArea = NULL, quiet = FALSE)
+}
+\arguments{
+\item{OutputsModel}{[object of class \emph{OutputsModel}] list of model outputs (which must at least include DatesR, Precip and Qsim) [POSIXlt, mm, mm]}
+
+\item{Qobs}{(optional) [numeric] time series of observed flow (for the same time-steps than simulated) [mm]}
+
+\item{IndPeriod_Plot}{(optional) [numeric] indices of the time-steps to be plotted (among the OutputsModel series)}
+
+\item{BasinArea}{(optional) [numeric] basin area [km2], used to plot flow axes in m3/s}
+
+\item{quiet}{(optional) [boolean] boolean indicating if the function is run in quiet mode or not, default=FALSE}
+}
+\value{
+screen plot window
+}
+\description{
+Function which creates a screen plot giving an overview of the model outputs
+}
+\details{
+Dashboard of results including various graphs (depending on the model):
+(1) time series of total precipitation and simulated flows (and observed flows if provided)
+(2) interannual median monthly simulated flow (and observed flows if provided)
+(3) correlation plot between simulated and observed flows (if observed flows provided)
+(4) cumulative frequency plot for simulated flows (and observed flows if provided)
+}
+\author{
+Laurent Coron (June 2014)
+}
+
diff --git a/src-i386/airGR.dll b/src-i386/airGR.dll
new file mode 100644
index 0000000000000000000000000000000000000000..088dfd4622dcf6e4806433dd2f736867c047c589
GIT binary patch
literal 24064
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
THlXA=lh&j+B~r;h<>&tZ4~A@H

literal 0
HcmV?d00001

diff --git a/src-i386/frun_CEMANEIGE.f b/src-i386/frun_CEMANEIGE.f
new file mode 100644
index 00000000..fddc6a5f
--- /dev/null
+++ b/src-i386/frun_CEMANEIGE.f
@@ -0,0 +1,128 @@
+
+
+      SUBROUTINE frun_CEMANEIGE(
+                                 !inputs
+     &                             LInputs              , ! [integer] length of input and output series
+     &                             InputsPrecip         , ! [double]  input series of total precipitation [mm]
+     &                             InputsFracSolidPrecip, ! [double]  input series of fraction of solid precipitation [0-1]
+     &                             InputsTemp           , ! [double]  input series of air mean temperature [degC]
+     &                             MeanAnSolidPrecip    , ! [double]  value of annual mean solid precip [mm/y]
+     &                             NParam               , ! [integer] number of model parameter
+     &                             Param                , ! [double]  parameter set
+     &                             NStates              , ! [integer] number of state variables used for model initialising = 2
+     &                             StateStart           , ! [double]  state variables used when the model run starts
+     &                             NOutputs             , ! [integer] number of output series
+     &                             IndOutputs           , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs              , ! [double]  output series
+     &                             StateEnd             ) ! [double]  state variables at the end of the model run
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_cemaneige
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, intent(in) :: MeanAnSolidPrecip
+      doubleprecision, dimension(LInputs) :: InputsPrecip
+      doubleprecision, dimension(LInputs) :: InputsFracSolidPrecip
+      doubleprecision, dimension(LInputs) :: InputsTemp
+      doubleprecision, dimension(NParam)  :: Param
+      doubleprecision, dimension(NStates) :: StateStart
+      doubleprecision, dimension(NStates) :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      doubleprecision CTG,Kf
+      doubleprecision G,eTG,PliqAndMelt
+      doubleprecision Tmelt,Gthreshold,MinSpeed
+      doubleprecision Pliq,Psol,Gratio,PotMelt,Melt
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation des constantes
+      Tmelt=0
+      Gthreshold=0.9*MeanAnSolidPrecip
+      MinSpeed=0.1
+
+      !initilisation of model states using StateStart
+      G=StateStart(1)
+      eTG=StateStart(2)
+      PliqAndMelt=0
+
+      !setting parameter values
+      CTG=Param(1)
+      Kf=Param(2)
+
+      !initialisation of model outputs
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+
+        !SolidPrecip and LiquidPrecip
+        Pliq=(1-InputsFracSolidPrecip(k))*InputsPrecip(k)
+        Psol=InputsFracSolidPrecip(k)*InputsPrecip(k)
+
+        !Snow pack volume before melt
+        G=G+Psol
+
+        !Snow pack thermal state before melt
+        eTG=CTG*eTG + (1-CTG)*InputsTemp(k)
+        IF(eTG.GT.0) eTG=0
+
+        !Potential melt
+        IF(eTG.EQ.0.AND.InputsTemp(k).GT.Tmelt) THEN
+          PotMelt=Kf*(InputsTemp(k)-Tmelt)
+          IF(PotMelt.GT.G) PotMelt=G
+        ELSE
+          PotMelt=0
+        ENDIF
+
+        !Gratio
+        IF(G.LT.Gthreshold) THEN
+          Gratio=G/Gthreshold
+        ELSE
+          Gratio=1
+        ENDIF
+
+        !Actual melt
+        Melt=((1-MinSpeed)*Gratio+MinSpeed)*PotMelt
+
+        !Update of snow pack volume
+        G=G-Melt
+
+        !Water volume to pass to the hydrological model
+        PliqAndMelt=Pliq+Melt
+
+        !Storage of outputs
+        DO I=1,NOutputs
+          IF(IndOutputs(I).EQ.1) Outputs(k,I)=Pliq
+          IF(IndOutputs(I).EQ.2) Outputs(k,I)=Psol
+          IF(IndOutputs(I).EQ.3) Outputs(k,I)=G
+          IF(IndOutputs(I).EQ.4) Outputs(k,I)=eTG
+          IF(IndOutputs(I).EQ.5) Outputs(k,I)=Gratio
+          IF(IndOutputs(I).EQ.6) Outputs(k,I)=PotMelt
+          IF(IndOutputs(I).EQ.7) Outputs(k,I)=Melt
+          IF(IndOutputs(I).EQ.8) Outputs(k,I)=PliqAndMelt
+        ENDDO
+
+      ENDDO
+
+      StateEnd(1)=G
+      StateEnd(2)=eTG
+
+      RETURN
+
+      ENDSUBROUTINE
+
diff --git a/src-i386/frun_CEMANEIGE.o b/src-i386/frun_CEMANEIGE.o
new file mode 100644
index 0000000000000000000000000000000000000000..773e3315ef336b3afad3316ed3670e26e39cec94
GIT binary patch
literal 1095
zcmZ`&%}*0S6rb$}t_IvaV1kK<nv8lOja*2K8fsWXOfe+lH&Rf#NJK)QB_511Sy$3*
zYPjji|G{Xy;GvX{WJ{rum^ec_J*d%c7CCr88YA`17O|kbW@p~}{odES<^=^0;&R=M
zP_?6Z1b-xaKjP@+W7vhzYfw*t4;Oy<P)CoyuQ$@`AiEy{bUfj|H9ESxN11uV{YJJY
ztOE*f*8CG6K!L!eE0-^7EA@tg1Juh2qYL*K5q#B<8xqC?d`DlB+LHQGZ0g6mSP;ub
z5O?JEvO}1;S+mHhSQi%ASrIOu^z^&{@j={23zMKBreHB%Kg+XfNx`jPId8=}ajnq+
z?sYM+Z5K76^f{vwD-alD3R!2$@;WV$kHn;@yqTM(saz0hC=?i6N6dVZuF?dZ&)O_2
zjqis-j7UbibK5RP=qmHz>^JGjVSval<`tnnF^N~^cS>K&t<o7X^)L#BWhgu-khmw=
zuw*yJBS(=|bV-k&^Nx#dNq+$f%`n*(X(s*#4E_+IaN>KUm1b;jd<@YAqxzXv6ryu<
z0XQaeHfk}l`CEpDO#4V|E&lcxkKaL5v-~EKWkj16PIlp1N&mW0D%oCYLVlRaFgwVu
ziP}v4jqcFRX}ZW{x=1tDNU2m(C$yp`+D+4dr2*>(j4f01?}WzuyaAY?FT0X`U!KhP
z7s$_u(?75Uny@|tGQr=^qpeA>B>g3v(EBT`=#AFU6qHCoiJyRK#VSDN0htHHa*#cM
zn1Gmod~gs^(&s<{EMv`rGQmYv)h0d%kaRk|(zK9HpXNpleEZ<5LZ7xYdrR}H1A}3(
zxNMXV>KD|J=uoJ+rTxr>mbTUwzgp(X`-hN#e8>fV|4ymgMoznhyReVj*P?P0fdrqO
nSrDq+LLU8JpNb9SeYu6&e-a%4B;-8hcKBZJP<Ws}974YVkPeC8

literal 0
HcmV?d00001

diff --git a/src-i386/frun_GR4J.f b/src-i386/frun_GR4J.f
new file mode 100644
index 00000000..953e7647
--- /dev/null
+++ b/src-i386/frun_GR4J.f
@@ -0,0 +1,225 @@
+
+
+      SUBROUTINE frun_GR4J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr4j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR4J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR4J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR4J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=4)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3))**3.5
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(14)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src-i386/frun_GR4J.o b/src-i386/frun_GR4J.o
new file mode 100644
index 0000000000000000000000000000000000000000..05b65ec95e67158a51d4b9da0364609149cd0174
GIT binary patch
literal 2505
zcmZ`*U1$_n6uy%m9Wm*SHb~m0bSW1biVYjdL!^~%VPj)S+t5ZUZR$jcaa*h|F|iSX
z#_lG%Y_|BYv@gMjJ_)hVLTC+yvTI^B8z1~BWo~xvngk!Ru?_w}jkLJ^&Yfh85(nm<
zZ_fG7x#!$_=FT)|MU1X)ow0Qa6=_u+`?@+5c7~r;F*XF)zuI{&hw!q-ma5i09eW(r
zGe<x3C9C!xKKx9=qM?U)?N0`*gspXP&Lw}u^Y8d%=f@}h8i6Wyj$0%m+$NFWQzVA?
zRR~$fB$EZQiFd^Y_#e<@a<LIU3*h-?6k~SUx+@d>ETAaHz(i7{Z_Y_^WQ`n9>e~g<
zlH2sSLy87?i%3SxxOFeu#9OU5XyvlwvY8vWeH56*V2}ZBKpo&d`<M>8n6;+`(Sm9u
zvezLapxwZOpn9_@<#rb-C-^Bu!n`7#ne&_+EM&}1Dc7!SPVUsjJjKfWNF>W{<y|6a
z-CMB`&&j=Te!2#vU&d7hmz~tC2?R7m8l#Vr!|i`&H82Ko8&6l@cPl_O)-=)VZ939L
zMFXlLF`vmzUXwx;>y&yk*F|v&ko`Wh9?A;tMis@z5@A+Vu58Yl4L?sNOd*ol8Co(s
zZOzEtI$+ScfXxnCrDYBUh&olI?YeR?!p{JEevK$ORMHlW@By-(QzFyMLx98yck|Ht
z<E60x5B;q5COscE@KAiGKb+FeYcR);Fc}%G2Mi}QYuql7pDu(i=vyv#&f2kAsE1zz
zi@ddDcwwVFL%n!>wG--c{JSYUy0L~f;)&vs;|lRAY5UF?1sGS!Iztp!5S>;oh2E{;
zE9{x9)6sm}YOxd{wN5E3WsQpYn>jrBaQi)duVOYaA*Qmo!~`~{hk|aP?GfXdYmc|b
zzK8gj#Ay%eV4rG3YLG^?|10m5(>yd)b{b=&J&u0ZAp7W5#j}CrsoT9yN}fLIWHBnH
zkjiO-^CFEm`W9ejZt^<1`;wT*+@8E4Gswq)X$mH^)hjaMyeg)Sw?&!;f_6!>97&p9
z;Gi@sAwtshp$4;-2ER1x;nsr)c0^4l%|?VZcS*BFn!yuebgq21+x&b~+Hz8);gnEx
zEZDe6=Waa8=fO`nsit!u<nwtXeimN2#DBnIF)MUqGw;f6hwgUi>E+js>ZCfsHmyOU
z3~)b*1m8tshzCim?H!M%JlogC2l#oMGSQpS243^v8phh;KQYt&!FU6&$7AJi1@<!5
z%`5K@{-nhh`zdf?K{k&rprOJGTRZRIlx#%Q_y}hZqS%WF@c{h0xsKFH8NOH^E#lDw
zyh!b9yvebW0*8g8i*Q3HcMf;dUrr%^0cO$&C-p50oe!jiI#fC9d#~e!@p-<@z>Y()
zw)*dA2Y)MuGH?dBkZaRA4U}5EPjCv5re94EkEqbHXb$>%=#ip9qG&Fj;5rcME{CfD
zyQ&L*j<$qW1$0FU@G_8ekc*-feD>1Ad>#(XV8%B0{&TDbS=Hb*t&R2bRwz?5h1x6}
zHpR<Q)yY`NNvxiXT+vaoe6bMvEq6L|;fvav2T)e;cI<i#1*s!J21c>ozq{*wVvKfH
z^^n?j#v0$jGWZ$m!EKQIt*x!??W<R=Y-Owk&tCtX{L!%{#@JfitJo<QeGgQMyNr#w
z=w)oV!`lbsSo>U*a;+0CvVopcQD$7-f~)i5d~xEv?xKHP^a9Qx$F~K@;q|$?epmN{
ztMlV)>hN|0dDOh^Ky<2?vE#0_s_lyd`=F!iQJ%5=T3dVPLG#^@YTm1AbJS|Y8=x+Y
zd07FnUg@G)k{~J$TmA<_4u#qv{$c2A@c3H(_kv=<d2Cxk%l}+Z-pZV1e=U@0p;o!%
z?n<*`&%xl)km)E;1v5j3zIM%27c+yM)r$le7B!on)Vu_X`PHFTbANlymnJjSdO7%i
D{jCl+

literal 0
HcmV?d00001

diff --git a/src-i386/frun_GR5J.f b/src-i386/frun_GR5J.f
new file mode 100644
index 00000000..4b7b7351
--- /dev/null
+++ b/src-i386/frun_GR5J.f
@@ -0,0 +1,226 @@
+
+
+      SUBROUTINE frun_GR5J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr5j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+      !Param(5) : intercatchment exchange constant (X5 - CES2) [-]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR5J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR5J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR5J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=5)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3)-Param(5))
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(14)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src-i386/frun_GR5J.o b/src-i386/frun_GR5J.o
new file mode 100644
index 0000000000000000000000000000000000000000..10e47297174b2af019c51aaa402f720fa8c9e1e1
GIT binary patch
literal 2433
zcmZ`*U2GIp6u#3R7(#Ie+>l0V+=m-%3^pw(Nr@6yvtThr8ZC%gnPS>yH3%E%Vu=Kb
zyDe;%H9R!>((p`zCYm%#lSX&jqIBB_z@N-z=k_l?bc;6pB(fxi^*eXkX(45jx#yd6
zzH{z5_uRQN4O$7Kt5#=htwJSQReM`UyTZ=Uxq`7iz`ZM-=k*Xi*4R?jy1#wDqk7`#
zXVs~ykB%OFB4OUpNxUPE2IR2S&d<5vk9hvw@9uf$^xp$eCBESni5Ry@^zca%ef%1P
z+{Pr6MY4%^BzpPp&}4Io0X_rZ`C<s;_>^@=_V9~<q7(xYDUq3&mEzbc*{jsIilimC
z>q&<c5AYU|ihH?rH{Qfst(R!!#z$l`H*i-|V3vSE2DkxrfLGfmb<o9(Jtc@1QX`Rl
z4jBRM1|9;{H=b5*caU-qKZ{71S7frYo--$l8MD*MwPQRd_vm7dV&%Ril4ZB@4w16%
zE?bD_%w{-0UIWtia#g`qCpBvn0S%GCSWU^{ZhT@jFotj&k5|y>R)A`(DWciib)<`m
zdR0YYE}Oe~T?$dEQ|irJ7o}xD_D*I!kQLmGDoTw7!i=h1*_<`&f0|5~LZrs0Y02!2
zH7)n)fFWxT%??>>ybcAZ97tsBZRKKsUjX*}7*n#ZEEtdRUb23pM7EiS0f`em!NcoL
ztw{uU_<OA@<=NH1!^u7VXj;3h!JItCWNfG&Fq+b=5xYpfpN|geTdqcC?8FSz{V#w;
z-dZY}-ykp0UOctZ33WC3)g&I>SbZDtMDfURnRu1dz6(YX#uaj#A=1_zyUl0s)aCX%
z)EY+Thpj;|H<9yn`w&8miOKOPtam5EqM_?)&BaLe`r?|~ccHJ~s@sqD+^<@?{Ng+N
z0gK#-@B!|(N6_N+vYXyM>H;#O4eXo9VXXFa)8-UIViKvGCpafEcuD^P%+B7tfwX@W
zquE<Gf0J1xV!$*B6L!k;GUn`l6D8`>G!U*sn&sI3rVltI%}R){G^@p^H0x;aOS2ws
zorqw^)O6BpL|AjLG+U$@Iz3EB#RvP$4~L{JEioc82-l+=2<HBHSSWzs<D{C&y;Ud_
zkoZM-<<kEFi}|du!J2tT?ih5*A7Ew4pK07(lTs(r##Ly1FZYw^;d@E+@eqmCT_f?d
zXUFPfFTadaBR&yt;I;R!W321{6A|uRN;dF%JXZEsppA(Wyz<_q@3iFn{s;`_W%E!T
z8zh?F8o7;AuMts`1DrvK(hABX0RIzQN8Y52UMY{4@c2PqqMDj)a;&7l%kSu7+|bG0
z2X_=-P9arQ(uk(?E&0fOX`v2P&bqD}I5Da{UuHqZAy-%PPrRMKl0X?aQ(MTjX{`oI
z9o`Q(1xRyFO^}SK(6VF}`g-V*qCui$Hrc~<Ak<wBR|9rc7yKM;8LbNFiWJ~pkaUns
z;uU=6{)0jR4$WXDHg)}bvKCp@;<c+woa3!frl*Uw88~cAdeb$jMA;dvo{Wv@C|N#J
z4E>hdkzDkO_VPiL)wKgHPoN<6ip#(d*83NCy-yEQXVnHePZwj2uVESdjCJBRNd6QI
z24B54HntUCM*r=?@!=*AR^wj5&bsJppf$L?Y}iH5q1_Iz4al)}yD05iM_ptCJ*A>d
zySluq^Wm&;;=Sl1`Up6>_kbK<)73>>oq?~Q!>a=Fs5xE-qSM&Rb}d?iA0KRkj;@CV
z#tvw~BauVq8*guZvnuGQ)rg(0E{*wE5i(rvqFK&^s5ortp9eV<YoFuagZ?)bucdz-
zC=r}R+X7np$AR*e=Pdc#piGN3zToakvwi=e(DAV8C{P76!-qd}%~TgNLy?+!0u1w-
ZO^<4xg~j~zaI1OX$mUN>W~%ja@c-#D^Bw>I

literal 0
HcmV?d00001

diff --git a/src-i386/frun_GR6J.f b/src-i386/frun_GR6J.f
new file mode 100644
index 00000000..9d7f9373
--- /dev/null
+++ b/src-i386/frun_GR6J.f
@@ -0,0 +1,249 @@
+
+
+      SUBROUTINE frun_GR6J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr6j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+      !Param(5) : intercatchment exchange constant (X5 - CES2) [-]
+      !Param(6) : time constant of exponential store (X6 - EXP) [d]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR6J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR6J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR6J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=6)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+      DATA C/0.4/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3)-Param(5))
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+(1-C)*X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Update of exponential store
+      X(6)=X(6)+C*X(8)+EXCH
+      AR=X(6)/Param(6)
+      IF(AR.GT.33.)AR=33.
+      IF(AR.LT.-33.)AR=-33.
+
+      IF(AR.GT.7.)THEN
+      QR1=X(6)+Param(6)/EXP(AR)
+      GOTO 3
+      ENDIF
+
+      IF(AR.LT.-7.)THEN
+      QR1=Param(6)*EXP(AR)
+      GOTO 3
+      ENDIF
+
+      QR1=Param(6)*LOG(EXP(AR)+1.)
+    3 CONTINUE
+
+      X(6)=X(6)-QR1
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD+QR1
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QR1           ! QR1    ! outflow from exponential store (QR1) [mm/d]
+      MISC(14)=X(6)          ! Exp    ! exponential store level (X(6)) (negative) [mm]
+      MISC(15)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(16)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src-i386/frun_GR6J.o b/src-i386/frun_GR6J.o
new file mode 100644
index 0000000000000000000000000000000000000000..96714b9073b4f265df1c3b32067ea7b28ce84516
GIT binary patch
literal 2977
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
C#=33*

literal 0
HcmV?d00001

diff --git a/src-i386/utils.f b/src-i386/utils.f
new file mode 100644
index 00000000..2028bc71
--- /dev/null
+++ b/src-i386/utils.f
@@ -0,0 +1,272 @@
+
+
+C**********************************************************************
+      SUBROUTINE HU1(XV,C,D)
+C Computation of ordinates of GR unit hydrograph HU1 using successives differences on the S curve SS1
+C Inputs:
+C    C: time constant
+C    D: exponent
+C Outputs:
+C    XV(3*NPX+1) to XV(3*NPX+NH): NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,D,SS1
+      INTEGER I
+
+      DO I=1,NH
+      XV(3*NPX+I)=SS1(I,C,D)-SS1(I-1,C,D)
+      ENDDO
+      ENDSUBROUTINE
+
+
+C**********************************************************************
+      SUBROUTINE HU2(XV,C,D)
+C Computation of ordinates of GR unit hydrograph HU2 using successives differences on the S curve SS2
+C Inputs:
+C    C: time constant
+C    D: exponent
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,D,SS2
+      INTEGER I
+
+      DO I =1,2*NH
+      XV(3*NPX+NH+I)=SS2(I,C,D)-SS2(I-1,C,D)
+      ENDDO
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE HU4(XV,ALPHA,BETA)
+C Computation of ordinates of MOHYSE unit hydrograph
+C Inputs:
+C    Alpha: parameter
+C    Beta:  parameter
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH),U(3*NH)
+      DOUBLEPRECISION ALPHA,BETA,SU
+      INTEGER K
+
+      SU=0.
+c      IF(ALPHA.LT.1.)THEN  
+c      WRITE(*,*)' Pb ALPHA'
+c      STOP                 
+c      ENDIF                
+      IF(ALPHA.EQ.1.)THEN
+      U(1)=1.
+      SU=1.
+      DO 1 K=2,3*NH
+      U(K)=0.
+    1 CONTINUE
+      ELSE
+      DO 11 K=1,3*NH
+      U(K)=FLOAT(K)*(ALPHA-1.)*EXP(-FLOAT(K)/BETA)
+      SU=SU+U(K)
+   11 CONTINUE
+      ENDIF
+
+c      IF(SU.LT.0.0000000001)THEN       
+c      WRITE(*,*)' Pb HU4',ALPHA, BETA  
+c      STOP                             
+c      ENDIF                            
+      DO 2 K=1,3*NH
+      XV(3*NPX+K)=U(K)/SU
+    2 CONTINUE
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE HU(XV,C)
+C Computation of ordinates of GRP unit hydrograph
+C Inputs:
+C    C: time constant
+C    Alpha: parameter
+C    Beta:  parameter
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C
+      DOUBLEPRECISION SH
+      INTEGER I
+      DO 10 I=1,2*NH
+      XV(3*NPX+NH+I)=SH(I,C)-SH(I-1,C)
+   10 CONTINUE
+      RETURN
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      FUNCTION SH(I,C)
+C Values of the S curve (cumulative HU curve) of GRP unit hydrograph HU
+C Inputs:
+C    C: time constant
+C    I: time-step
+C Outputs:
+C    SH: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION C
+      DOUBLEPRECISION SH,FI
+      INTEGER I
+      
+      FI=I
+      IF(FI.LE.0.)THEN
+      SH=0.
+      RETURN
+      ENDIF
+      IF(FI.GE.C)THEN
+      SH=1.
+      RETURN
+      ENDIF
+      SH=FI**2.5/(FI**2.5+(C-FI)**2.5)
+      RETURN
+      ENDFUNCTION
+
+
+C**********************************************************************
+      FUNCTION SS1(I,C,D)
+C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU1
+C Inputs:
+C    C: time constant
+C    D: exponent
+C    I: time-step
+C Outputs:
+C    SS1: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION C,D,SS1
+      INTEGER I,FI
+
+      FI=I
+      IF(FI.LE.0.) THEN
+      SS1=0.
+      RETURN
+      ENDIF
+      IF(FI.LT.C) THEN
+      SS1=(FI/C)**D
+      RETURN
+      ENDIF
+      SS1=1.
+      ENDFUNCTION
+
+
+C**********************************************************************
+      FUNCTION SS2(I,C,D)
+C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU2
+C Inputs:
+C    C: time constant
+C    D: exponent
+C    I: time-step
+C Outputs:
+C    SS2: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION C,D,SS2
+      INTEGER I,FI
+
+      FI=I
+      IF(FI.LE.0.) THEN
+      SS2=0.
+      RETURN
+      ENDIF
+      IF(FI.LE.C) THEN
+      SS2=0.5*(FI/C)**D
+      RETURN
+      ENDIF
+      IF(FI.LT.2.*C) THEN
+      SS2=1.-0.5*(2.-FI/C)**D
+      RETURN
+      ENDIF
+      SS2=1.
+      ENDFUNCTION
+
+
+
+C**********************************************************************
+      SUBROUTINE DEL(XV,C)
+C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps
+C (all ordinates are nul except 2 at max)
+C Inputs:
+C    C: time constant
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,F
+      INTEGER I,K
+      I=INT(C)
+      F=C-INT(C)
+      DO 1 K=3*NPX+1,3*NPX+3*NH
+      XV(K)=0.
+    1 CONTINUE
+      XV(3*NPX+I)=1.-F
+      XV(3*NPX+I+1)=F
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE DEL2(XV,C)
+C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps
+C (all ordinates are nul except 2 at max)
+C Inputs:
+C    C: time constant
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,F
+      INTEGER K,I
+      
+      IF(C.GT.FLOAT(NH)) C=FLOAT(NH)
+      I=INT(C)
+      F=C-INT(C)
+      DO 1 K=3*NPX+1,3*NPX+NH
+      XV(K)=0.
+    1 CONTINUE
+      XV(3*NPX+I)=1.-F
+      XV(3*NPX+I+1)=F
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      FUNCTION tanHyp(Val)
+C Computation of hyperbolic tangent
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION Val,ValExp,tanHyp
+
+      ValExp=EXP(Val)
+      tanHyp=(ValExp - 1./ValExp)/(ValExp + 1./ValExp)
+      RETURN
+      ENDFUNCTION
+
diff --git a/src-i386/utils.o b/src-i386/utils.o
new file mode 100644
index 0000000000000000000000000000000000000000..b94abd7298615d02807e93345ac96310a811dc8c
GIT binary patch
literal 2548
zcmaJ@UuauZ7(eOKHfW?_>$F0_BFEXetaM`!m8~wapnC`!T&5k1%{tdV!>FZ6Y?VH2
z-id?|2%--{ABr!&`cURZho)<Av`>4yXX(k@gOIGDI1p_aF8;oA?!8IcZ5M9NcfRxe
z`F-E{os%1Kxfwn0c^G>^Np4qPa&#uCWc`zCV{8H9P`jSLh@ppt&-GmxNsegM6MqA&
zKi_vgk$9qkwQz~-rkVqGVl8OpwEYn;U{phyAP*Or*eF&KBhthyBAHmh>?6@i1<45a
zh!xq%Wt8_ri1Hp0<-Rh75kc;Q!XtycA8$|Tp6ph3YL&EWOQi?v&!+#$-guQ9q%aDh
z<?QFoo}1DXWu?1H>qgZN1pS!^AIPwDkarjH5;iFkC!|RltREq*WWcyv<jtkK_ooj?
zE0BL#wh*Gy7LX_u=5yE&W)%FCmIm9vJm@7vO=jjng@TNm@NCEO_D(F*d+HdRdI5Go
zvSvVpA(vg)*PJQ)8_iFPjSt>GwdjIqRF7riJe-;35kwhUk7bklSUSr6DBdsIi<Rl5
zPMA(=oz<q7rMdo$9Um~QRpl|MJxUchCr=`YvFtJ)?(MkpHS$sDY@$ZdY5S#^`c~v^
zZykH;=k<bAt#B%Gr~r)JL<g}_`M6fAS@mtRhFhIH<UyoSUaOUHc;%#N6po!8j(uqL
z|1`RBs7S3q8*T-8FLfpx=l)ER4`ne2Ku_Au)3e-71(X;6tJO${OkGOp=jETEL$dH%
zoOj7N^Do56o@i0E_kvNqsjGI<9MWB`_O~#Wxx#}q+~5HWI1y!$7pukl^3Iph)UXtY
zA4dM6?01~Z#fIjK^ci{2>$g+?60NgI9=@gk*ZCg&ebam(=WeO)=Uv9;U}{~OmkSgG
zbuVM{TBK>df-)KTD=GlYNkS2|$P_?2%^%bp!j6T|$AGyd{s5cx5rwTjqFC{*h4?^e
zMMg@SD4JSsJRB@7rEXS+X{Qv?t@B9zw%8X1`zF!$WMz%8=zQWSS3<zP5&}rR<4R~i
zLsx>w>X*P~sS4BubRPU{C-!w1-y`YcvaM2Oc!@_(&!|_aGjs`2AH)ipD-`?7Hv9J{
zk5Usg^FxH9!x%$b93)?P^b8wXdDjuwujlAI8ilB0t9{;#suxV_#Qo(1XJ&a@$1g$N
zw%{ED&)nAzP)%{}E_QMZZ5c05dwJ2#OBIJdk(-+a(PBLHHz<_X_mP}iCB9$?6YPT5
zxj#-BRZm00Rv%@sh&qjKZilcVd-lwJW9c=G!OA8!6i`*4wDBA#JhJ<a>|Qkrp0msL
z`4+P4`Wr~PI7pexVgo(?wSK=FRl2Wxa0Ob|EJ`9v6wxh~%zI+Bv{c$!&e;!RmyY8f
zF#rpU4CDNpFG1LYw~Zae?_Ru}?2IGbb)-KbX}d>`)P{a(4=*IWy4#T^oz=H+ytLhn
zBmJ<;_9#Jm9x*%FVf-WNDDObh9&tyScUJR`uH;BRw%We89m$990UhrXNIFN#(e;g8
zjE^EOJ&$UPjk{9Gi}6I?m{zIZSYje(PhG5swV<Z$Pb`r*Oh!4p%7#I6h%`O0wlotd
zrO7pFl-E2u;@BJ^FCY5hXjFC|s<bp0M&qOkqsF?10_E$P<jAKJUrff%p;B$r_?<)r
z>~ejBHTpWLKaJl=fCQWRnk_Yc9|7d!Z5qCf02?;+b=3UCCO@05YtU5|8=aYK){yW2
DVY?*7

literal 0
HcmV?d00001

diff --git a/src-x64/airGR.dll b/src-x64/airGR.dll
new file mode 100644
index 0000000000000000000000000000000000000000..fe805fb6e20cf3d273f4e86c7775897d6194b511
GIT binary patch
literal 28672
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
BH*f#|

literal 0
HcmV?d00001

diff --git a/src-x64/frun_CEMANEIGE.f b/src-x64/frun_CEMANEIGE.f
new file mode 100644
index 00000000..fddc6a5f
--- /dev/null
+++ b/src-x64/frun_CEMANEIGE.f
@@ -0,0 +1,128 @@
+
+
+      SUBROUTINE frun_CEMANEIGE(
+                                 !inputs
+     &                             LInputs              , ! [integer] length of input and output series
+     &                             InputsPrecip         , ! [double]  input series of total precipitation [mm]
+     &                             InputsFracSolidPrecip, ! [double]  input series of fraction of solid precipitation [0-1]
+     &                             InputsTemp           , ! [double]  input series of air mean temperature [degC]
+     &                             MeanAnSolidPrecip    , ! [double]  value of annual mean solid precip [mm/y]
+     &                             NParam               , ! [integer] number of model parameter
+     &                             Param                , ! [double]  parameter set
+     &                             NStates              , ! [integer] number of state variables used for model initialising = 2
+     &                             StateStart           , ! [double]  state variables used when the model run starts
+     &                             NOutputs             , ! [integer] number of output series
+     &                             IndOutputs           , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs              , ! [double]  output series
+     &                             StateEnd             ) ! [double]  state variables at the end of the model run
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_cemaneige
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, intent(in) :: MeanAnSolidPrecip
+      doubleprecision, dimension(LInputs) :: InputsPrecip
+      doubleprecision, dimension(LInputs) :: InputsFracSolidPrecip
+      doubleprecision, dimension(LInputs) :: InputsTemp
+      doubleprecision, dimension(NParam)  :: Param
+      doubleprecision, dimension(NStates) :: StateStart
+      doubleprecision, dimension(NStates) :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      doubleprecision CTG,Kf
+      doubleprecision G,eTG,PliqAndMelt
+      doubleprecision Tmelt,Gthreshold,MinSpeed
+      doubleprecision Pliq,Psol,Gratio,PotMelt,Melt
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation des constantes
+      Tmelt=0
+      Gthreshold=0.9*MeanAnSolidPrecip
+      MinSpeed=0.1
+
+      !initilisation of model states using StateStart
+      G=StateStart(1)
+      eTG=StateStart(2)
+      PliqAndMelt=0
+
+      !setting parameter values
+      CTG=Param(1)
+      Kf=Param(2)
+
+      !initialisation of model outputs
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+
+        !SolidPrecip and LiquidPrecip
+        Pliq=(1-InputsFracSolidPrecip(k))*InputsPrecip(k)
+        Psol=InputsFracSolidPrecip(k)*InputsPrecip(k)
+
+        !Snow pack volume before melt
+        G=G+Psol
+
+        !Snow pack thermal state before melt
+        eTG=CTG*eTG + (1-CTG)*InputsTemp(k)
+        IF(eTG.GT.0) eTG=0
+
+        !Potential melt
+        IF(eTG.EQ.0.AND.InputsTemp(k).GT.Tmelt) THEN
+          PotMelt=Kf*(InputsTemp(k)-Tmelt)
+          IF(PotMelt.GT.G) PotMelt=G
+        ELSE
+          PotMelt=0
+        ENDIF
+
+        !Gratio
+        IF(G.LT.Gthreshold) THEN
+          Gratio=G/Gthreshold
+        ELSE
+          Gratio=1
+        ENDIF
+
+        !Actual melt
+        Melt=((1-MinSpeed)*Gratio+MinSpeed)*PotMelt
+
+        !Update of snow pack volume
+        G=G-Melt
+
+        !Water volume to pass to the hydrological model
+        PliqAndMelt=Pliq+Melt
+
+        !Storage of outputs
+        DO I=1,NOutputs
+          IF(IndOutputs(I).EQ.1) Outputs(k,I)=Pliq
+          IF(IndOutputs(I).EQ.2) Outputs(k,I)=Psol
+          IF(IndOutputs(I).EQ.3) Outputs(k,I)=G
+          IF(IndOutputs(I).EQ.4) Outputs(k,I)=eTG
+          IF(IndOutputs(I).EQ.5) Outputs(k,I)=Gratio
+          IF(IndOutputs(I).EQ.6) Outputs(k,I)=PotMelt
+          IF(IndOutputs(I).EQ.7) Outputs(k,I)=Melt
+          IF(IndOutputs(I).EQ.8) Outputs(k,I)=PliqAndMelt
+        ENDDO
+
+      ENDDO
+
+      StateEnd(1)=G
+      StateEnd(2)=eTG
+
+      RETURN
+
+      ENDSUBROUTINE
+
diff --git a/src-x64/frun_CEMANEIGE.o b/src-x64/frun_CEMANEIGE.o
new file mode 100644
index 0000000000000000000000000000000000000000..d2426e2b3bd71b5949199d4609cd89180005f7df
GIT binary patch
literal 1498
zcmZ`(U2GIp6uz@FEz?RkL#Po9(2b7CG||bTHG&~whVH^_T+GT(TS9-KI|#w1fiCF-
zX-e8f%%-FdK1jj?PliO}6Aw1=p%p3!HG)M_!A3AKx)x(IDOwxC`klLN-8FENd(L;y
z`R=)A?wNZ!PL&HDA8SGw5^2KjPW5z4To5xMAv8sZHgI^b3X5c$-O=9NE-g<Nj!2H!
z`;Q%aI-}s}V_r{bKnJc_wREQ=B97fv%3BUfEs{FDkRNZ6yrZSOFxwY6fN~%|$8B)y
z-97H^Jq`7{yps<uz(F;&Ce@rUjVRSb%`jxbj6m)-9mpm#3E5$`K^`%?ATOGI*ah%~
zIRp@p@wyJ3tr><CiR_1F7#Enxo--rR9<;&wz?hf4XgUltBMCr{A$g;jKLVGG7g^Nl
z-Up*WjEqX}@0+X->jCY3jm~TXmm_b4_NgHs+i*9Cl2OJd`f=)g#H*LMsNUe_F=>sF
zb;I95y<_ZJw;DD#`#fSc-AoLg&=sogV_Hy0#><m9d+(_4l65uMN=DV4fSSHx&)Oew
z{O_38e6l8(^<6-XzhHjplYNEWe+BtaHo;lNsq;q|XBm8tgF7D{U*ku~n#K7oe{t~J
z9N-p2;{-xZu=AhHU7YnZD2?;I4Q~x<)f>K!4{Bdczq*j0+dm(ofloO5{&|%$pK{K$
zGECJ2oWAh-M-@+*+jPBqO*C6|1|%hYosA&r(vki(-hWAnZknPD<@0$jJ76Y}F9*SN
zbh1!>OP1e~<+o({Em?j`mfw=)w`BRP#qwK)@_Q#Q^G~#|rM1~@a+}>2xAhX@TDko=
z%pXERTKWwbMD86JhWK_a<C=b=Q`a8n^L!&yxZ7I+HBUg_$qmCwna?1nC$YIKU5U$C
z8Og1}Zmi4G6$rLErxljV<kHAJ1Rq|VGSeItJ2vL-0}UxV*NdHV6(atdE}Y3_;?1k&
zqW1GLVPDXM^^q!GI2{sedld29yF#o|o)ya@&$Lx`RV4M1@*CQ{&<x-4pXdqyjhQXL
zBje)_SdTC0^JmWvZ>fi21*RsxT|!e!Xl@As$iAXV$&XYO{DLYavi(CxQb0T&=Y=?^
z_(#*7t#z>-?%T2W_L%J#e2b4;5n&NRLH|FBI~%)Ig}-BQSAkvJ)%YXTC&el1Xxwd{
z$SLY(@_Q7ga6pkP?qvLKRfT(5Y0I;Vx)}FrRS83ujw&qWjT}h5*WQ^rbTHK_{sn*x
BT&4g3

literal 0
HcmV?d00001

diff --git a/src-x64/frun_GR4J.f b/src-x64/frun_GR4J.f
new file mode 100644
index 00000000..953e7647
--- /dev/null
+++ b/src-x64/frun_GR4J.f
@@ -0,0 +1,225 @@
+
+
+      SUBROUTINE frun_GR4J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr4j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR4J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR4J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR4J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=4)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3))**3.5
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(14)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src-x64/frun_GR4J.o b/src-x64/frun_GR4J.o
new file mode 100644
index 0000000000000000000000000000000000000000..f461567fb2f2cf8ab191e90baa9c7b633a3bf4ab
GIT binary patch
literal 2975
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

literal 0
HcmV?d00001

diff --git a/src-x64/frun_GR5J.f b/src-x64/frun_GR5J.f
new file mode 100644
index 00000000..4b7b7351
--- /dev/null
+++ b/src-x64/frun_GR5J.f
@@ -0,0 +1,226 @@
+
+
+      SUBROUTINE frun_GR5J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr5j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+      !Param(5) : intercatchment exchange constant (X5 - CES2) [-]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR5J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR5J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR5J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=5)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3)-Param(5))
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(14)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src-x64/frun_GR5J.o b/src-x64/frun_GR5J.o
new file mode 100644
index 0000000000000000000000000000000000000000..18fcfc164c9aa320df5a92c59cb4ef1b9dc854a6
GIT binary patch
literal 2875
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

literal 0
HcmV?d00001

diff --git a/src-x64/frun_GR6J.f b/src-x64/frun_GR6J.f
new file mode 100644
index 00000000..9d7f9373
--- /dev/null
+++ b/src-x64/frun_GR6J.f
@@ -0,0 +1,249 @@
+
+
+      SUBROUTINE frun_GR6J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr6j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+      !Param(5) : intercatchment exchange constant (X5 - CES2) [-]
+      !Param(6) : time constant of exponential store (X6 - EXP) [d]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR6J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR6J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR6J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=6)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+      DATA C/0.4/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3)-Param(5))
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+(1-C)*X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Update of exponential store
+      X(6)=X(6)+C*X(8)+EXCH
+      AR=X(6)/Param(6)
+      IF(AR.GT.33.)AR=33.
+      IF(AR.LT.-33.)AR=-33.
+
+      IF(AR.GT.7.)THEN
+      QR1=X(6)+Param(6)/EXP(AR)
+      GOTO 3
+      ENDIF
+
+      IF(AR.LT.-7.)THEN
+      QR1=Param(6)*EXP(AR)
+      GOTO 3
+      ENDIF
+
+      QR1=Param(6)*LOG(EXP(AR)+1.)
+    3 CONTINUE
+
+      X(6)=X(6)-QR1
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD+QR1
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QR1           ! QR1    ! outflow from exponential store (QR1) [mm/d]
+      MISC(14)=X(6)          ! Exp    ! exponential store level (X(6)) (negative) [mm]
+      MISC(15)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(16)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src-x64/frun_GR6J.o b/src-x64/frun_GR6J.o
new file mode 100644
index 0000000000000000000000000000000000000000..3f0b624ef8234df41045bbc4ba748a543a9dd211
GIT binary patch
literal 3415
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

literal 0
HcmV?d00001

diff --git a/src-x64/utils.f b/src-x64/utils.f
new file mode 100644
index 00000000..2028bc71
--- /dev/null
+++ b/src-x64/utils.f
@@ -0,0 +1,272 @@
+
+
+C**********************************************************************
+      SUBROUTINE HU1(XV,C,D)
+C Computation of ordinates of GR unit hydrograph HU1 using successives differences on the S curve SS1
+C Inputs:
+C    C: time constant
+C    D: exponent
+C Outputs:
+C    XV(3*NPX+1) to XV(3*NPX+NH): NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,D,SS1
+      INTEGER I
+
+      DO I=1,NH
+      XV(3*NPX+I)=SS1(I,C,D)-SS1(I-1,C,D)
+      ENDDO
+      ENDSUBROUTINE
+
+
+C**********************************************************************
+      SUBROUTINE HU2(XV,C,D)
+C Computation of ordinates of GR unit hydrograph HU2 using successives differences on the S curve SS2
+C Inputs:
+C    C: time constant
+C    D: exponent
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,D,SS2
+      INTEGER I
+
+      DO I =1,2*NH
+      XV(3*NPX+NH+I)=SS2(I,C,D)-SS2(I-1,C,D)
+      ENDDO
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE HU4(XV,ALPHA,BETA)
+C Computation of ordinates of MOHYSE unit hydrograph
+C Inputs:
+C    Alpha: parameter
+C    Beta:  parameter
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH),U(3*NH)
+      DOUBLEPRECISION ALPHA,BETA,SU
+      INTEGER K
+
+      SU=0.
+c      IF(ALPHA.LT.1.)THEN  
+c      WRITE(*,*)' Pb ALPHA'
+c      STOP                 
+c      ENDIF                
+      IF(ALPHA.EQ.1.)THEN
+      U(1)=1.
+      SU=1.
+      DO 1 K=2,3*NH
+      U(K)=0.
+    1 CONTINUE
+      ELSE
+      DO 11 K=1,3*NH
+      U(K)=FLOAT(K)*(ALPHA-1.)*EXP(-FLOAT(K)/BETA)
+      SU=SU+U(K)
+   11 CONTINUE
+      ENDIF
+
+c      IF(SU.LT.0.0000000001)THEN       
+c      WRITE(*,*)' Pb HU4',ALPHA, BETA  
+c      STOP                             
+c      ENDIF                            
+      DO 2 K=1,3*NH
+      XV(3*NPX+K)=U(K)/SU
+    2 CONTINUE
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE HU(XV,C)
+C Computation of ordinates of GRP unit hydrograph
+C Inputs:
+C    C: time constant
+C    Alpha: parameter
+C    Beta:  parameter
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C
+      DOUBLEPRECISION SH
+      INTEGER I
+      DO 10 I=1,2*NH
+      XV(3*NPX+NH+I)=SH(I,C)-SH(I-1,C)
+   10 CONTINUE
+      RETURN
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      FUNCTION SH(I,C)
+C Values of the S curve (cumulative HU curve) of GRP unit hydrograph HU
+C Inputs:
+C    C: time constant
+C    I: time-step
+C Outputs:
+C    SH: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION C
+      DOUBLEPRECISION SH,FI
+      INTEGER I
+      
+      FI=I
+      IF(FI.LE.0.)THEN
+      SH=0.
+      RETURN
+      ENDIF
+      IF(FI.GE.C)THEN
+      SH=1.
+      RETURN
+      ENDIF
+      SH=FI**2.5/(FI**2.5+(C-FI)**2.5)
+      RETURN
+      ENDFUNCTION
+
+
+C**********************************************************************
+      FUNCTION SS1(I,C,D)
+C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU1
+C Inputs:
+C    C: time constant
+C    D: exponent
+C    I: time-step
+C Outputs:
+C    SS1: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION C,D,SS1
+      INTEGER I,FI
+
+      FI=I
+      IF(FI.LE.0.) THEN
+      SS1=0.
+      RETURN
+      ENDIF
+      IF(FI.LT.C) THEN
+      SS1=(FI/C)**D
+      RETURN
+      ENDIF
+      SS1=1.
+      ENDFUNCTION
+
+
+C**********************************************************************
+      FUNCTION SS2(I,C,D)
+C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU2
+C Inputs:
+C    C: time constant
+C    D: exponent
+C    I: time-step
+C Outputs:
+C    SS2: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION C,D,SS2
+      INTEGER I,FI
+
+      FI=I
+      IF(FI.LE.0.) THEN
+      SS2=0.
+      RETURN
+      ENDIF
+      IF(FI.LE.C) THEN
+      SS2=0.5*(FI/C)**D
+      RETURN
+      ENDIF
+      IF(FI.LT.2.*C) THEN
+      SS2=1.-0.5*(2.-FI/C)**D
+      RETURN
+      ENDIF
+      SS2=1.
+      ENDFUNCTION
+
+
+
+C**********************************************************************
+      SUBROUTINE DEL(XV,C)
+C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps
+C (all ordinates are nul except 2 at max)
+C Inputs:
+C    C: time constant
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,F
+      INTEGER I,K
+      I=INT(C)
+      F=C-INT(C)
+      DO 1 K=3*NPX+1,3*NPX+3*NH
+      XV(K)=0.
+    1 CONTINUE
+      XV(3*NPX+I)=1.-F
+      XV(3*NPX+I+1)=F
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE DEL2(XV,C)
+C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps
+C (all ordinates are nul except 2 at max)
+C Inputs:
+C    C: time constant
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,F
+      INTEGER K,I
+      
+      IF(C.GT.FLOAT(NH)) C=FLOAT(NH)
+      I=INT(C)
+      F=C-INT(C)
+      DO 1 K=3*NPX+1,3*NPX+NH
+      XV(K)=0.
+    1 CONTINUE
+      XV(3*NPX+I)=1.-F
+      XV(3*NPX+I+1)=F
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      FUNCTION tanHyp(Val)
+C Computation of hyperbolic tangent
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION Val,ValExp,tanHyp
+
+      ValExp=EXP(Val)
+      tanHyp=(ValExp - 1./ValExp)/(ValExp + 1./ValExp)
+      RETURN
+      ENDFUNCTION
+
diff --git a/src-x64/utils.o b/src-x64/utils.o
new file mode 100644
index 0000000000000000000000000000000000000000..2dbfd225923ddd4e69856081f1f330011498a709
GIT binary patch
literal 2944
zcmbVOZ)jUp6u&P?x2(3@bZybOv1R&%*FT0->QJ%UYt7&eD+HXjbv12W8#5`hED4P;
zq%&0(ZLr9cee|RF)giKpr0qyML|pe_f+9}wL#72o1UKer{GEIAZj-Jec;V&#-tYXm
z=bn4c%N>7b8>8{j4#sv%<Y9rtL@FV%`U%%D<}nyMzg@kzV)C=_XkdISF;=Cw6|`A6
z7kDKe-%3`^&5&NI*5Mo!j;ipqs?CCSV5(Lx1?dgwz2;SFdofA9Q?+_F_`%8^lqTtg
z?dL^$EzH{zrk}T+HiIGF7BcN9AIOz>dsmbP^6_wq`<}vsL@);CR{Ws2q+EEQY2~AW
zpZvNYrG%m(Zsou)m-ujA(xqNLm@9>NBp2<4j9avtC0Dbsnn+&`A6w%4X2=D?vG~9>
zir_utPu{-51FLZp!5|=CJ(gdI?}78x5+7W}+tulS6B^uDOY<cjS-^TeuUeT8)lp)k
zjPDCEMsnD%kd+S-1X-i+Yb5;=ACek?Qe(rO4_uLP<tUOzs^gm8;Y6~egSbf!XfN2_
zEMfM-z>Ab}K`9S*{U9>mh|G8Wnf!9dv`}X3NTw(<cQV6fr^xo3R$;DOE-Q}SI}v)Z
zkOG%|#)Z&}8JLxL(}f?yFc#@0L!|$1NnWHB2NAS578!YYDH@Fi{_pye>-Vld2yXNG
z#f|l?|6Kpf+MtUu-gd!ca{kivVMguEntlc5%%B42Od9~1eVnp~BJ%AN8LF|sb^h-A
zp!nMv{EF<P=|>_^St5JbE3)UL>*%~#COf1i=M_(0O%}Uy@D-|q$4DOfvu>3*NPBKz
z3(23kRf)=SqOzQ*EGH^UMJ3K$rhUj9JNZ?C97X|tMaM}2*ZC=c%pbtR*HH|Ap{&=_
zd4so<`AcQlDZQ#{hwh+3269g6-bR3jM0(kqUhhG@-%93h_TcDooEzt<%E{K{^sUHT
zcWOyikjRv%nhMQ#%Vk+YAY>J}Kx{h2pK4A~HY!z-jU77uDf3rf;+^Qg_C=K7idddC
zD2X&=npGkTPB&!x+S7|2;=DM1O*R{E3N6si`d4o+MbWRm#vm*)yU@=I(-HW_8MUv3
zvUYnm-0|G;94wEd3kF$>^lygKzO*25UAcQh_!zQeq14BlJPTN>VbzHrFZI1&^gw*^
zptN_sYXet)|D5l`4%X06KBIC5zD6jagRQG57<>|j>BECLf{%~2C_fAHHN$B2vevU6
z##3%qA9Jy~4~(FJKM+qJW0WMLaXV{_xtaGZPtZN;nli%w!X5Cj1D}}e(en>8^Xx-x
zcWOUtj``Vr#<R?^G#a+C2Kd^3${lo#8dK6gtx;KzLZ{}SF^{JM3N4s}m}7YM0F%+L
zc>KUc%;PBNZsIY2=EjKv=P<W<7@GtRVty0PY2X>mjrd!b0j4ze;h6<iqj*ToH!3r;
zD*|Vlae$h;ZRfoM;C?(Fb_Bn>BpTHy52U2uYwj1#-PNcbyHU0~ft1Bwjlvpzik&Ly
zIQFT~hd>X)lZQpHN5#!*bV(yOcC4hkfRx34&5h^?;EGWtx#7`4^gq)qxdzSoG@^4-
z(g!q0=cT;(wbay{rBSDr1~o@#s%)Ro(x)|NYZTH_I(cQ$uMvv164g=74Qe#3rK6e~
z*C?i?R7cA5ltu|H4Ma~&PT-BkdYQ3Tjb!4)WIPa6l>CjyM)aG({LF<+ZyxdZV^V1z
z0;$8|@h-_w{VOJxR19^2!ze521&8UDR@4y=qgJQBP|Wzmr1Fg8)r@pBqnX6m$=DlH
zBeGMJPW4@rHsCg>gXo62F{<yG2mm@8G6z-PF%i<%I#u^egan;A$6U|VcS{5U9lBl8
jjdEiIs_vC^J#`yYPqky}_30`Cr^6;vbkfcshGO^!%XvXL

literal 0
HcmV?d00001

diff --git a/src/frun_CEMANEIGE.f b/src/frun_CEMANEIGE.f
new file mode 100644
index 00000000..fddc6a5f
--- /dev/null
+++ b/src/frun_CEMANEIGE.f
@@ -0,0 +1,128 @@
+
+
+      SUBROUTINE frun_CEMANEIGE(
+                                 !inputs
+     &                             LInputs              , ! [integer] length of input and output series
+     &                             InputsPrecip         , ! [double]  input series of total precipitation [mm]
+     &                             InputsFracSolidPrecip, ! [double]  input series of fraction of solid precipitation [0-1]
+     &                             InputsTemp           , ! [double]  input series of air mean temperature [degC]
+     &                             MeanAnSolidPrecip    , ! [double]  value of annual mean solid precip [mm/y]
+     &                             NParam               , ! [integer] number of model parameter
+     &                             Param                , ! [double]  parameter set
+     &                             NStates              , ! [integer] number of state variables used for model initialising = 2
+     &                             StateStart           , ! [double]  state variables used when the model run starts
+     &                             NOutputs             , ! [integer] number of output series
+     &                             IndOutputs           , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs              , ! [double]  output series
+     &                             StateEnd             ) ! [double]  state variables at the end of the model run
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_cemaneige
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, intent(in) :: MeanAnSolidPrecip
+      doubleprecision, dimension(LInputs) :: InputsPrecip
+      doubleprecision, dimension(LInputs) :: InputsFracSolidPrecip
+      doubleprecision, dimension(LInputs) :: InputsTemp
+      doubleprecision, dimension(NParam)  :: Param
+      doubleprecision, dimension(NStates) :: StateStart
+      doubleprecision, dimension(NStates) :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      doubleprecision CTG,Kf
+      doubleprecision G,eTG,PliqAndMelt
+      doubleprecision Tmelt,Gthreshold,MinSpeed
+      doubleprecision Pliq,Psol,Gratio,PotMelt,Melt
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation des constantes
+      Tmelt=0
+      Gthreshold=0.9*MeanAnSolidPrecip
+      MinSpeed=0.1
+
+      !initilisation of model states using StateStart
+      G=StateStart(1)
+      eTG=StateStart(2)
+      PliqAndMelt=0
+
+      !setting parameter values
+      CTG=Param(1)
+      Kf=Param(2)
+
+      !initialisation of model outputs
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+
+        !SolidPrecip and LiquidPrecip
+        Pliq=(1-InputsFracSolidPrecip(k))*InputsPrecip(k)
+        Psol=InputsFracSolidPrecip(k)*InputsPrecip(k)
+
+        !Snow pack volume before melt
+        G=G+Psol
+
+        !Snow pack thermal state before melt
+        eTG=CTG*eTG + (1-CTG)*InputsTemp(k)
+        IF(eTG.GT.0) eTG=0
+
+        !Potential melt
+        IF(eTG.EQ.0.AND.InputsTemp(k).GT.Tmelt) THEN
+          PotMelt=Kf*(InputsTemp(k)-Tmelt)
+          IF(PotMelt.GT.G) PotMelt=G
+        ELSE
+          PotMelt=0
+        ENDIF
+
+        !Gratio
+        IF(G.LT.Gthreshold) THEN
+          Gratio=G/Gthreshold
+        ELSE
+          Gratio=1
+        ENDIF
+
+        !Actual melt
+        Melt=((1-MinSpeed)*Gratio+MinSpeed)*PotMelt
+
+        !Update of snow pack volume
+        G=G-Melt
+
+        !Water volume to pass to the hydrological model
+        PliqAndMelt=Pliq+Melt
+
+        !Storage of outputs
+        DO I=1,NOutputs
+          IF(IndOutputs(I).EQ.1) Outputs(k,I)=Pliq
+          IF(IndOutputs(I).EQ.2) Outputs(k,I)=Psol
+          IF(IndOutputs(I).EQ.3) Outputs(k,I)=G
+          IF(IndOutputs(I).EQ.4) Outputs(k,I)=eTG
+          IF(IndOutputs(I).EQ.5) Outputs(k,I)=Gratio
+          IF(IndOutputs(I).EQ.6) Outputs(k,I)=PotMelt
+          IF(IndOutputs(I).EQ.7) Outputs(k,I)=Melt
+          IF(IndOutputs(I).EQ.8) Outputs(k,I)=PliqAndMelt
+        ENDDO
+
+      ENDDO
+
+      StateEnd(1)=G
+      StateEnd(2)=eTG
+
+      RETURN
+
+      ENDSUBROUTINE
+
diff --git a/src/frun_GR4J.f b/src/frun_GR4J.f
new file mode 100644
index 00000000..953e7647
--- /dev/null
+++ b/src/frun_GR4J.f
@@ -0,0 +1,225 @@
+
+
+      SUBROUTINE frun_GR4J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr4j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR4J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR4J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR4J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=4)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3))**3.5
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(14)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src/frun_GR5J.f b/src/frun_GR5J.f
new file mode 100644
index 00000000..4b7b7351
--- /dev/null
+++ b/src/frun_GR5J.f
@@ -0,0 +1,226 @@
+
+
+      SUBROUTINE frun_GR5J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr5j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+      !Param(5) : intercatchment exchange constant (X5 - CES2) [-]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR5J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR5J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR5J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=5)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,EN,ER,PN,PR,PS,WS,tanHyp
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3)-Param(5))
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(14)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src/frun_GR6J.f b/src/frun_GR6J.f
new file mode 100644
index 00000000..9d7f9373
--- /dev/null
+++ b/src/frun_GR6J.f
@@ -0,0 +1,249 @@
+
+
+      SUBROUTINE frun_GR6J(
+                                 !inputs
+     &                             LInputs      , ! [integer] length of input and output series
+     &                             InputsPrecip , ! [double]  input series of total precipitation [mm]
+     &                             InputsPE     , ! [double]  input series PE [mm]
+     &                             NParam       , ! [integer] number of model parameter
+     &                             Param        , ! [double]  parameter set
+     &                             NStates      , ! [integer] number of state variables used for model initialising
+     &                             StateStart   , ! [double]  state variables used when the model run starts (reservoir levels [mm] and HU)
+     &                             NOutputs     , ! [integer] number of output series
+     &                             IndOutputs   , ! [integer] indices of output series
+                                 !outputs
+     &                             Outputs      , ! [double]  output series
+     &                             StateEnd     ) ! [double]  state variables at the end of the model run  (reservoir levels [mm] and HU)
+
+
+      !DEC$ ATTRIBUTES DLLEXPORT :: frun_gr6j
+
+
+      Implicit None
+      !### input and output variables
+      integer, intent(in) :: LInputs,NParam,NStates,NOutputs
+      doubleprecision, dimension(LInputs)  :: InputsPrecip
+      doubleprecision, dimension(LInputs)  :: InputsPE
+      doubleprecision, dimension(NParam)   :: Param
+      doubleprecision, dimension(NStates)  :: StateStart
+      doubleprecision, dimension(NStates)  :: StateEnd
+      integer, dimension(NOutputs) :: IndOutputs
+      doubleprecision, dimension(LInputs,NOutputs) :: Outputs
+
+      !parameters, internal states and variables
+      integer NPX,NH,NMISC
+      parameter (NPX=14,NH=20,NMISC=30)
+      doubleprecision X(5*NH+7),XV(3*NPX+5*NH)
+      doubleprecision MISC(NMISC)
+      doubleprecision D
+      doubleprecision P1,E,Q
+      integer I,K
+
+      !--------------------------------------------------------------
+      !Initialisations
+      !--------------------------------------------------------------
+
+      !initilisation of model states to zero
+      X=0.
+      XV=0.
+
+      !initilisation of model states using StateStart
+      DO I=1,3*NH
+      X(I)=StateStart(I)
+      ENDDO
+
+      !parameter values
+      !Param(1) : production store capacity (X1 - PROD) [mm]
+      !Param(2) : intercatchment exchange constant (X2 - CES1) [mm/d]
+      !Param(3) : routing store capacity (X3 - ROUT) [mm]
+      !Param(4) : time constant of unit hydrograph (X4 - TB) [d]
+      !Param(5) : intercatchment exchange constant (X5 - CES2) [-]
+      !Param(6) : time constant of exponential store (X6 - EXP) [d]
+
+      !computation of HU ordinates
+      D=2.5
+      CALL HU1(XV,Param(4),D)
+      CALL HU2(XV,Param(4),D)
+
+      !initialisation of model outputs
+      Q = -999.999
+      MISC = -999.999
+c      StateEnd = -999.999 !initialisation made in R
+c      Outputs = -999.999  !initialisation made in R
+
+
+
+      !--------------------------------------------------------------
+      !Time loop
+      !--------------------------------------------------------------
+      DO k=1,LInputs
+        P1=InputsPrecip(k)
+        E =InputsPE(k)
+c        Q = -999.999
+c        MISC = -999.999
+        !model run on one time-step
+        CALL MOD_GR6J(X,XV,Param,P1,E,Q,MISC)
+        !storage of outputs
+        DO I=1,NOutputs
+        Outputs(k,I)=MISC(IndOutputs(I))
+        ENDDO
+      ENDDO
+      !model states at the end of the run
+      DO K=1,3*NH
+      StateEnd(K)=X(K)
+      ENDDO
+
+      RETURN
+
+      ENDSUBROUTINE
+
+
+
+
+
+c################################################################################################################################
+
+
+
+
+C**********************************************************************
+      SUBROUTINE MOD_GR6J(X,XV,Param,P1,E,Q,MISC)
+C Run on a single time-step with the GR6J model
+C Inputs:
+C       X      Vector of model states at the beginning of the time-step [mm]
+C       XV     Vector of model states at the beginning of the time-step [mm]
+C       Param  Vector of model parameters [mixed units]
+C       P1     Value of rainfall during the time-step [mm]
+C       E      Value of potential evapotranspiration during the time-step [mm]
+C Outputs:
+C       X      Vector of model states at the end of the time-step [mm]
+C       XV     Vector of model states at the end of the time-step [mm]
+C       Q      Value of simulated flow at the catchment outlet for the time-step [mm]
+C       MISC   Vector of model outputs for the time-step [mm]
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH,NMISC,NParam
+      PARAMETER (NPX=14,NH=20,NMISC=30)
+      PARAMETER (NParam=6)
+      DOUBLEPRECISION X(5*NH+7),XV(3*NPX+5*NH)
+      DOUBLEPRECISION Param(NParam)
+      DOUBLEPRECISION MISC(NMISC)
+      DOUBLEPRECISION P1,E,Q
+      DOUBLEPRECISION A,B,C,EN,ER,PN,PR,PS,WS,tanHyp,AR
+      DOUBLEPRECISION PERC,PRHU1,PRHU2,EXCH,QR,QD,QR1
+      DOUBLEPRECISION AE,AEXCH1,AEXCH2
+      INTEGER K
+
+      DATA B/0.9/
+      DATA C/0.4/
+
+      A=Param(1)
+
+
+C Production store
+      IF(P1.LE.E) THEN
+      EN=E-P1
+      PN=0.
+      WS=EN/A
+      IF(WS.GT.13)WS=13.
+      ER=X(2)*(2.-X(2)/A)*tanHyp(WS)/(1.+(1.-X(2)/A)*tanHyp(WS))
+      AE=ER+P1
+      IF(X(2).LT.ER) AE=X(2)+P1
+      X(2)=X(2)-ER
+      PR=0.
+      ELSE
+      EN=0.
+      AE=E
+      PN=P1-E
+      WS=PN/A
+      IF(WS.GT.13)WS=13.
+      PS=A*(1.-(X(2)/A)**2.)*tanHyp(WS)/(1.+X(2)/A*tanHyp(WS))
+      PR=PN-PS
+      X(2)=X(2)+PS
+      ENDIF
+
+C Percolation from production store
+      IF(X(2).LT.0.)X(2)=0.
+      PERC=X(2)*(1.-(1.+(X(2)/(9./4.*Param(1)))**4.)**(-0.25))
+      X(2)=X(2)-PERC
+
+      PR=PR+PERC
+
+      PRHU1=PR*B
+      PRHU2=PR*(1.-B)
+
+C Unit hydrograph HU1
+      DO K=1,MAX(1,MIN(NH-1,INT(Param(4)+1)))
+      X(7+K)=X(8+K)+XV(3*NPX+K)*PRHU1
+      ENDDO
+      X(7+NH)=XV(3*NPX+NH)*PRHU1
+
+C Unit hydrograph HU2
+      DO K=1,MAX(1,MIN(2*NH-1,2*INT(Param(4)+1)))
+      X(7+NH+K)=X(8+NH+K)+XV(3*NPX+NH+K)*PRHU2
+      ENDDO
+      X(7+3*NH)=XV(3*NPX+3*NH)*PRHU2
+
+C Potential intercatchment semi-exchange
+      EXCH=Param(2)*(X(1)/Param(3)-Param(5))
+
+C Routing store
+      AEXCH1=EXCH
+      IF((X(1)+X(8)+EXCH).LT.0) AEXCH1=-X(1)-X(8)
+      X(1)=X(1)+(1-C)*X(8)+EXCH
+      IF(X(1).LT.0.)X(1)=0.
+      QR=X(1)*(1.-(1.+(X(1)/Param(3))**4.)**(-1./4.))
+      X(1)=X(1)-QR
+
+C Update of exponential store
+      X(6)=X(6)+C*X(8)+EXCH
+      AR=X(6)/Param(6)
+      IF(AR.GT.33.)AR=33.
+      IF(AR.LT.-33.)AR=-33.
+
+      IF(AR.GT.7.)THEN
+      QR1=X(6)+Param(6)/EXP(AR)
+      GOTO 3
+      ENDIF
+
+      IF(AR.LT.-7.)THEN
+      QR1=Param(6)*EXP(AR)
+      GOTO 3
+      ENDIF
+
+      QR1=Param(6)*LOG(EXP(AR)+1.)
+    3 CONTINUE
+
+      X(6)=X(6)-QR1
+
+C Runoff from direct branch QD
+      AEXCH2=EXCH
+      IF((X(8+NH)+EXCH).LT.0) AEXCH2=-X(8+NH)
+      QD=MAX(0.,X(8+NH)+EXCH)
+
+C Total runoff
+      Q=QR+QD+QR1
+      IF(Q.LT.0.) Q=0.
+
+C Variables storage
+      MISC( 1)=E             ! PE     ! potential evapotranspiration  [mm/d]
+      MISC( 2)=P1            ! Precip ! total precipitation  [mm/d]
+      MISC( 3)=X(2)          ! Prod   ! production store level (X(2)) [mm]
+      MISC( 4)=AE            ! AE     ! actual evapotranspiration [mm/d]
+      MISC( 5)=PERC          ! Perc   ! percolation (PERC) [mm]
+      MISC( 6)=PR            ! PR     ! PR=PN-PS+PERC [mm]
+      MISC( 7)=X(8)          ! Q9     ! outflow from HU1 (Q9) [mm/d]
+      MISC( 8)=X(8+NH)       ! Q1     ! outflow from HU2 (Q1) [mm/d]
+      MISC( 9)=X(1)          ! Rout   ! routing store level (X(1)) [mm]
+      MISC(10)=EXCH          ! Exch   ! potential semi-exchange between catchments (EXCH) [mm/d]
+      MISC(11)=AEXCH1+AEXCH2 ! AExch  ! actual total exchange between catchments (AEXCH1+AEXCH2) [mm/d]
+      MISC(12)=QR            ! QR     ! outflow from routing store (QR) [mm/d]
+      MISC(13)=QR1           ! QR1    ! outflow from exponential store (QR1) [mm/d]
+      MISC(14)=X(6)          ! Exp    ! exponential store level (X(6)) (negative) [mm]
+      MISC(15)=QD            ! QD     ! outflow from HU2 branch after exchange (QD) [mm/d]
+      MISC(16)=Q             ! Qsim   ! outflow at catchment outlet [mm/d]
+
+
+      ENDSUBROUTINE
+
+
diff --git a/src/utils.f b/src/utils.f
new file mode 100644
index 00000000..2028bc71
--- /dev/null
+++ b/src/utils.f
@@ -0,0 +1,272 @@
+
+
+C**********************************************************************
+      SUBROUTINE HU1(XV,C,D)
+C Computation of ordinates of GR unit hydrograph HU1 using successives differences on the S curve SS1
+C Inputs:
+C    C: time constant
+C    D: exponent
+C Outputs:
+C    XV(3*NPX+1) to XV(3*NPX+NH): NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,D,SS1
+      INTEGER I
+
+      DO I=1,NH
+      XV(3*NPX+I)=SS1(I,C,D)-SS1(I-1,C,D)
+      ENDDO
+      ENDSUBROUTINE
+
+
+C**********************************************************************
+      SUBROUTINE HU2(XV,C,D)
+C Computation of ordinates of GR unit hydrograph HU2 using successives differences on the S curve SS2
+C Inputs:
+C    C: time constant
+C    D: exponent
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,D,SS2
+      INTEGER I
+
+      DO I =1,2*NH
+      XV(3*NPX+NH+I)=SS2(I,C,D)-SS2(I-1,C,D)
+      ENDDO
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE HU4(XV,ALPHA,BETA)
+C Computation of ordinates of MOHYSE unit hydrograph
+C Inputs:
+C    Alpha: parameter
+C    Beta:  parameter
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH),U(3*NH)
+      DOUBLEPRECISION ALPHA,BETA,SU
+      INTEGER K
+
+      SU=0.
+c      IF(ALPHA.LT.1.)THEN  
+c      WRITE(*,*)' Pb ALPHA'
+c      STOP                 
+c      ENDIF                
+      IF(ALPHA.EQ.1.)THEN
+      U(1)=1.
+      SU=1.
+      DO 1 K=2,3*NH
+      U(K)=0.
+    1 CONTINUE
+      ELSE
+      DO 11 K=1,3*NH
+      U(K)=FLOAT(K)*(ALPHA-1.)*EXP(-FLOAT(K)/BETA)
+      SU=SU+U(K)
+   11 CONTINUE
+      ENDIF
+
+c      IF(SU.LT.0.0000000001)THEN       
+c      WRITE(*,*)' Pb HU4',ALPHA, BETA  
+c      STOP                             
+c      ENDIF                            
+      DO 2 K=1,3*NH
+      XV(3*NPX+K)=U(K)/SU
+    2 CONTINUE
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE HU(XV,C)
+C Computation of ordinates of GRP unit hydrograph
+C Inputs:
+C    C: time constant
+C    Alpha: parameter
+C    Beta:  parameter
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C
+      DOUBLEPRECISION SH
+      INTEGER I
+      DO 10 I=1,2*NH
+      XV(3*NPX+NH+I)=SH(I,C)-SH(I-1,C)
+   10 CONTINUE
+      RETURN
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      FUNCTION SH(I,C)
+C Values of the S curve (cumulative HU curve) of GRP unit hydrograph HU
+C Inputs:
+C    C: time constant
+C    I: time-step
+C Outputs:
+C    SH: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION C
+      DOUBLEPRECISION SH,FI
+      INTEGER I
+      
+      FI=I
+      IF(FI.LE.0.)THEN
+      SH=0.
+      RETURN
+      ENDIF
+      IF(FI.GE.C)THEN
+      SH=1.
+      RETURN
+      ENDIF
+      SH=FI**2.5/(FI**2.5+(C-FI)**2.5)
+      RETURN
+      ENDFUNCTION
+
+
+C**********************************************************************
+      FUNCTION SS1(I,C,D)
+C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU1
+C Inputs:
+C    C: time constant
+C    D: exponent
+C    I: time-step
+C Outputs:
+C    SS1: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION C,D,SS1
+      INTEGER I,FI
+
+      FI=I
+      IF(FI.LE.0.) THEN
+      SS1=0.
+      RETURN
+      ENDIF
+      IF(FI.LT.C) THEN
+      SS1=(FI/C)**D
+      RETURN
+      ENDIF
+      SS1=1.
+      ENDFUNCTION
+
+
+C**********************************************************************
+      FUNCTION SS2(I,C,D)
+C Values of the S curve (cumulative HU curve) of GR unit hydrograph HU2
+C Inputs:
+C    C: time constant
+C    D: exponent
+C    I: time-step
+C Outputs:
+C    SS2: Values of the S curve for I
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION C,D,SS2
+      INTEGER I,FI
+
+      FI=I
+      IF(FI.LE.0.) THEN
+      SS2=0.
+      RETURN
+      ENDIF
+      IF(FI.LE.C) THEN
+      SS2=0.5*(FI/C)**D
+      RETURN
+      ENDIF
+      IF(FI.LT.2.*C) THEN
+      SS2=1.-0.5*(2.-FI/C)**D
+      RETURN
+      ENDIF
+      SS2=1.
+      ENDFUNCTION
+
+
+
+C**********************************************************************
+      SUBROUTINE DEL(XV,C)
+C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps
+C (all ordinates are nul except 2 at max)
+C Inputs:
+C    C: time constant
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): 2*NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,F
+      INTEGER I,K
+      I=INT(C)
+      F=C-INT(C)
+      DO 1 K=3*NPX+1,3*NPX+3*NH
+      XV(K)=0.
+    1 CONTINUE
+      XV(3*NPX+I)=1.-F
+      XV(3*NPX+I+1)=F
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      SUBROUTINE DEL2(XV,C)
+C Computation of HU ordinates corresponding to a time lag of a given number (possibly non-integer) of time-steps
+C (all ordinates are nul except 2 at max)
+C Inputs:
+C    C: time constant
+C Outputs:
+C    XV(3*NPX+NH+1) to XV(3*NPX+3*NH): NH ordinates of discrete hydrograph
+C**********************************************************************
+      Implicit None
+      INTEGER NPX,NH
+      PARAMETER (NPX=14,NH=20)
+      DOUBLEPRECISION XV(3*NPX+5*NH)
+      DOUBLEPRECISION C,F
+      INTEGER K,I
+      
+      IF(C.GT.FLOAT(NH)) C=FLOAT(NH)
+      I=INT(C)
+      F=C-INT(C)
+      DO 1 K=3*NPX+1,3*NPX+NH
+      XV(K)=0.
+    1 CONTINUE
+      XV(3*NPX+I)=1.-F
+      XV(3*NPX+I+1)=F
+      ENDSUBROUTINE
+
+
+
+C**********************************************************************
+      FUNCTION tanHyp(Val)
+C Computation of hyperbolic tangent
+C**********************************************************************
+      Implicit None
+      DOUBLEPRECISION Val,ValExp,tanHyp
+
+      ValExp=EXP(Val)
+      tanHyp=(ValExp - 1./ValExp)/(ValExp + 1./ValExp)
+      RETURN
+      ENDFUNCTION
+
diff --git a/tests/example_Calibration.R b/tests/example_Calibration.R
new file mode 100644
index 00000000..d95410ed
--- /dev/null
+++ b/tests/example_Calibration.R
@@ -0,0 +1,47 @@
+## load of catchment data
+require(airGR)
+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="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of 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,Qobs=BasinObs$Qmm[Ind_Run])
+
+## preparation of CalibOptions object
+CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_HBAN)
+
+## calibration
+OutputsCalib <- Calibration(InputsModel=InputsModel,RunOptions=RunOptions,InputsCrit=InputsCrit,
+                            CalibOptions=CalibOptions,FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE,
+                            FUN_CALIB=Calibration_HBAN)
+
+## simulation
+Param <- OutputsCalib$ParamFinalR
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,FUN=RunModel_GR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
+
diff --git a/tests/example_Calibration_HBAN.R b/tests/example_Calibration_HBAN.R
new file mode 100644
index 00000000..75b7832f
--- /dev/null
+++ b/tests/example_Calibration_HBAN.R
@@ -0,0 +1,46 @@
+## load of catchment data
+require(airGR)
+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="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of 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,Qobs=BasinObs$Qmm[Ind_Run])
+
+## preparation of CalibOptions object
+CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_HBAN)
+
+## calibration
+OutputsCalib <- Calibration_HBAN(InputsModel=InputsModel,RunOptions=RunOptions,
+                                 InputsCrit=InputsCrit,CalibOptions=CalibOptions,
+                                 FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE)
+
+## simulation
+Param <- OutputsCalib$ParamFinalR
+OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
diff --git a/tests/example_Calibration_optim.R b/tests/example_Calibration_optim.R
new file mode 100644
index 00000000..f08ec410
--- /dev/null
+++ b/tests/example_Calibration_optim.R
@@ -0,0 +1,45 @@
+## load of catchment data
+require(airGR)
+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="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of 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,Qobs=BasinObs$Qmm[Ind_Run])
+
+## preparation of CalibOptions object
+CalibOptions <- CreateCalibOptions(FUN_MOD=RunModel_GR4J,FUN_CALIB=Calibration_optim)
+
+## calibration
+OutputsCalib <- Calibration_optim(InputsModel=InputsModel,RunOptions=RunOptions,
+                                  InputsCrit=InputsCrit,CalibOptions=CalibOptions,
+                                  FUN_MOD=RunModel_GR4J,FUN_CRIT=ErrorCrit_NSE)
+
+## simulation
+Param <- OutputsCalib$ParamFinalR
+OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
diff --git a/tests/example_ErrorCrit.R b/tests/example_ErrorCrit.R
new file mode 100644
index 00000000..db241e83
--- /dev/null
+++ b/tests/example_ErrorCrit.R
@@ -0,0 +1,60 @@
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,FUN=RunModel_GR4J)
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
+## efficiency criterion: Nash-Sutcliffe Efficiency on log-transformed flows
+transfo <- "log"
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run],transfo=transfo)
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
+## efficiency criterion: Nash-Sutcliffe Efficiency above a threshold (q75%)
+BoolCrit <- rep(TRUE,length(BasinObs$Qmm[Ind_Run])); 
+BoolCrit[BasinObs$Qmm[Ind_Run]<quantile(BasinObs$Qmm[Ind_Run],0.75,na.rm=TRUE)] <- FALSE;
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run],BoolCrit=BoolCrit)
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,
+                               RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+cat(paste("SubCrit  ",OutputsCrit$SubCritNames,"  ",round(OutputsCrit$SubCritValues,4),"\n",sep=""))
+
+## efficiency criterion: Kling-Gupta Efficiency below a threshold (q10%) on log-trqansformed flows
+transfo  <- "log"
+BoolCrit <- rep(TRUE,length(BasinObs$Qmm[Ind_Run])); 
+BoolCrit[BasinObs$Qmm[Ind_Run]>quantile(BasinObs$Qmm[Ind_Run],0.10,na.rm=TRUE)] <- FALSE;
+InputsCrit <- CreateInputsCrit(FUN_CRIT=ErrorCrit_KGE,InputsModel=InputsModel,RunOptions=RunOptions,
+                               Qobs=BasinObs$Qmm[Ind_Run],BoolCrit=BoolCrit,transfo=transfo)
+OutputsCrit <- ErrorCrit_KGE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+cat(paste("SubCrit  ",OutputsCrit$SubCritNames,"  ",round(OutputsCrit$SubCritValues,4),"\n",sep=""))
+
+
+
+
diff --git a/tests/example_RunModel.R b/tests/example_RunModel.R
new file mode 100644
index 00000000..b240b8cf
--- /dev/null
+++ b/tests/example_RunModel.R
@@ -0,0 +1,29 @@
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,
+                         FUN_MOD=RunModel_GR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
diff --git a/tests/example_RunModel_CemaNeige.R b/tests/example_RunModel_CemaNeige.R
new file mode 100644
index 00000000..e2218fbd
--- /dev/null
+++ b/tests/example_RunModel_CemaNeige.R
@@ -0,0 +1,25 @@
+## load of catchment data
+require(airGR)
+data(L0123002)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeige,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,TempMean=BasinObs$T,
+                                 ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve,
+                                 NLayers=5)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeige,InputsModel=InputsModel,
+                               IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(0.962,2.249)
+OutputsModel <- RunModel_CemaNeige(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel)
+
diff --git a/tests/example_RunModel_CemaNeigeGR4J.R b/tests/example_RunModel_CemaNeigeGR4J.R
new file mode 100644
index 00000000..fcbc2488
--- /dev/null
+++ b/tests/example_RunModel_CemaNeigeGR4J.R
@@ -0,0 +1,31 @@
+## load of catchment data
+require(airGR)
+data(L0123002)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T,
+                                 ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve,
+                                 NLayers=5)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR4J,InputsModel=InputsModel,
+                               IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(408.774,2.646,131.264,1.174,0.962,2.249)
+OutputsModel <- RunModel_CemaNeigeGR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
diff --git a/tests/example_RunModel_CemaNeigeGR5J.R b/tests/example_RunModel_CemaNeigeGR5J.R
new file mode 100644
index 00000000..9e449527
--- /dev/null
+++ b/tests/example_RunModel_CemaNeigeGR5J.R
@@ -0,0 +1,31 @@
+## load of catchment data
+require(airGR)
+data(L0123002)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR5J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T,
+                                 ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve,
+                                 NLayers=5)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR5J,InputsModel=InputsModel,
+                               IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(179.139,-0.100,203.815,1.174,2.478,0.977,2.774)
+OutputsModel <- RunModel_CemaNeigeGR5J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
diff --git a/tests/example_RunModel_CemaNeigeGR6J.R b/tests/example_RunModel_CemaNeigeGR6J.R
new file mode 100644
index 00000000..d381ff51
--- /dev/null
+++ b/tests/example_RunModel_CemaNeigeGR6J.R
@@ -0,0 +1,31 @@
+## load of catchment data
+require(airGR)
+data(L0123002)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR6J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T,
+                                 ZInputs=BasinInfo$HypsoCurve[51],HypsoData=BasinInfo$HypsoCurve,
+                                 NLayers=5)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR6J,InputsModel=InputsModel,
+                               IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(116.482,0.500,72.733,1.224,0.278,30.333,0.977,2.776)
+OutputsModel <- RunModel_CemaNeigeGR6J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
diff --git a/tests/example_RunModel_GR4J.R b/tests/example_RunModel_GR4J.R
new file mode 100644
index 00000000..fe8acc49
--- /dev/null
+++ b/tests/example_RunModel_GR4J.R
@@ -0,0 +1,28 @@
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel_GR4J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
diff --git a/tests/example_RunModel_GR5J.R b/tests/example_RunModel_GR5J.R
new file mode 100644
index 00000000..62e535fe
--- /dev/null
+++ b/tests/example_RunModel_GR5J.R
@@ -0,0 +1,28 @@
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR5J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR5J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(839.661,-0.100,103.153,1.939,-0.428)
+OutputsModel <- RunModel_GR5J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
diff --git a/tests/example_RunModel_GR6J.R b/tests/example_RunModel_GR6J.R
new file mode 100644
index 00000000..2bdc4e0d
--- /dev/null
+++ b/tests/example_RunModel_GR6J.R
@@ -0,0 +1,28 @@
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR6J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR6J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(347.000,-0.500,65.677,1.957,0.324,34.115)
+OutputsModel <- RunModel_GR6J(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+## efficiency criterion: Nash-Sutcliffe Efficiency
+InputsCrit  <- CreateInputsCrit(FUN_CRIT=ErrorCrit_NSE,InputsModel=InputsModel,
+                                RunOptions=RunOptions,Qobs=BasinObs$Qmm[Ind_Run])
+OutputsCrit <- ErrorCrit_NSE(InputsCrit=InputsCrit,OutputsModel=OutputsModel)
+cat(paste("  Crit  ",OutputsCrit$CritName,"  ",round(OutputsCrit$CritValue,4),"\n",sep=""))
+
diff --git a/tests/example_TransfoParam.R b/tests/example_TransfoParam.R
new file mode 100644
index 00000000..0c5c5037
--- /dev/null
+++ b/tests/example_TransfoParam.R
@@ -0,0 +1,15 @@
+require(airGR)
+
+## transformation Real->Transformed for the GR4J model
+    Xreal <- matrix( c( 221.41, -3.63,  30.00, 1.37,
+                        347.23, -1.03,  60.34, 1.76,
+                        854.06, -0.10, 148.41, 2.34),
+                        ncol=4,byrow=TRUE)
+    Xtran <- TransfoParam(ParamIn=Xreal,Direction="RT",FUN_TRANSFO=TransfoParam_GR4J)
+
+## transformation Transformed->Real for the GR4J model
+    Xtran <- matrix( c( +3.60, -2.00, +3.40, -9.10,
+                        +3.90, -0.90, +4.10, -8.70,
+                        +4.50, -0.10, +5.00, -8.10),
+                        ncol=4,byrow=TRUE)
+    Xreal <- TransfoParam(ParamIn=Xtran,Direction="TR",FUN_TRANSFO=TransfoParam_GR4J)
diff --git a/tests/example_TransfoParam_CemaNeige.R b/tests/example_TransfoParam_CemaNeige.R
new file mode 100644
index 00000000..85efecfc
--- /dev/null
+++ b/tests/example_TransfoParam_CemaNeige.R
@@ -0,0 +1,15 @@
+require(airGR)
+
+## transformation Real->Transformed for the CemaNeige module
+    Xreal <- matrix( c( 0.19, 1.73,
+                        0.39, 2.51,
+                        0.74, 4.06),
+                        ncol=2,byrow=TRUE)
+    Xtran <- TransfoParam_CemaNeige(ParamIn=Xreal,Direction="RT")
+
+## transformation Transformed->Real for the CemaNeige module
+    Xtran <- matrix( c( -6.26, +0.55,
+                        -2.13, +0.92,
+                        +4.86, +1.40)
+                        ,ncol=2,byrow=TRUE)
+    Xreal <- TransfoParam_CemaNeige(ParamIn=Xtran,Direction="TR")
diff --git a/tests/example_TransfoParam_GR4J.R b/tests/example_TransfoParam_GR4J.R
new file mode 100644
index 00000000..61019033
--- /dev/null
+++ b/tests/example_TransfoParam_GR4J.R
@@ -0,0 +1,15 @@
+require(airGR)
+
+## transformation Real->Transformed for the GR4J model
+    Xreal <- matrix( c( 221.41, -3.63,  30.00, 1.37,
+                        347.23, -1.03,  60.34, 1.76,
+                        854.06, -0.10, 148.41, 2.34),
+                        ncol=4,byrow=TRUE)
+    Xtran <- TransfoParam_GR4J(ParamIn=Xreal,Direction="RT")
+
+## transformation Transformed->Real for the GR4J model
+    Xtran <- matrix( c( +3.60, -2.00, +3.40, -9.10,
+                        +3.90, -0.90, +4.10, -8.70,
+                        +4.50, -0.10, +5.00, -8.10),
+                        ncol=4,byrow=TRUE)
+    Xreal <- TransfoParam_GR4J(ParamIn=Xtran,Direction="TR")
diff --git a/tests/example_TransfoParam_GR5J.R b/tests/example_TransfoParam_GR5J.R
new file mode 100644
index 00000000..b2361f3a
--- /dev/null
+++ b/tests/example_TransfoParam_GR5J.R
@@ -0,0 +1,15 @@
+require(airGR)
+
+## transformation Real->Transformed for the GR5J model
+    Xreal <- matrix( c( 221.41, -2.65,  27.11, 1.37, -0.76,
+                        347.23, -0.64,  60.34, 1.76,  0.30,
+                        854.01, -0.10, 148.41, 2.34,  0.52),
+                        ncol=5,byrow=TRUE)
+    Xtran <- TransfoParam_GR5J(ParamIn=Xreal,Direction="RT")
+
+## transformation Transformed->Real for the GR5J model
+    Xtran <- matrix( c( +3.60, -1.70, +3.30, -9.10, -0.70,
+                        +3.90, -0.60, +4.10, -8.70, +0.30,
+                        +4.50, -0.10, +5.00, -8.10, +0.50),
+                        ncol=5,byrow=TRUE)
+    Xreal <- TransfoParam_GR5J(ParamIn=Xtran,Direction="TR")
diff --git a/tests/example_TransfoParam_GR6J.R b/tests/example_TransfoParam_GR6J.R
new file mode 100644
index 00000000..1bd48fa4
--- /dev/null
+++ b/tests/example_TransfoParam_GR6J.R
@@ -0,0 +1,15 @@
+require(airGR)
+
+## transformation Real->Transformed for the GR6J model
+    Xreal <- matrix( c( 221.41, -1.18,  27.11, 1.37, -0.18,  20.09,
+                        347.23, -0.52,  60.34, 1.76,  0.02,  54.60,
+                        854.06,  0.52, 148.41, 2.34,  0.22, 148.41),
+                        ncol=6,byrow=TRUE)
+    Xtran <- TransfoParam_GR6J(ParamIn=Xreal,Direction="RT")
+
+## transformation Transformed->Real for the GR6J model
+    Xtran <- matrix( c( +3.60, -1.00, +3.30, -9.10, -0.90, +3.00,
+                        +3.90, -0.50, +4.10, -8.70, +0.10, +4.00,
+                        +4.50, +0.50, +5.00, -8.10, +1.10, +5.00),
+                        ncol=6,byrow=TRUE)
+    Xreal <- TransfoParam_GR6J(ParamIn=Xtran,Direction="TR")
diff --git a/tests/example_plot_OutputsModel.R b/tests/example_plot_OutputsModel.R
new file mode 100644
index 00000000..f2df3057
--- /dev/null
+++ b/tests/example_plot_OutputsModel.R
@@ -0,0 +1,54 @@
+#### example 1 without snow module
+
+## load of catchment data
+require(airGR)
+data(L0123001)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_GR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_GR4J,InputsModel=InputsModel,IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(734.568,-0.840,109.809,1.971)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,
+                         FUN_MOD=RunModel_GR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+
+#### example 2 with snow module
+
+## load of catchment data
+require(airGR)
+data(L0123002)
+
+## preparation of the InputsModel object
+InputsModel <- CreateInputsModel(FUN_MOD=RunModel_CemaNeigeGR4J,DatesR=BasinObs$DatesR,
+                                 Precip=BasinObs$P,PotEvap=BasinObs$E,TempMean=BasinObs$T,
+                                 HypsoData=BasinInfo$HypsoCurve,NLayers=5)
+
+## run period selection
+Ind_Run <- seq(which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="01/01/1990 00:00"),
+               which(format(BasinObs$DatesR,format="%d/%m/%Y %H:%M")=="31/12/1999 00:00"))
+
+## preparation of the RunOptions object
+RunOptions <- CreateRunOptions(FUN_MOD=RunModel_CemaNeigeGR4J,InputsModel=InputsModel,
+                               IndPeriod_Run=Ind_Run)
+
+## simulation
+Param <- c(408.774,2.646,131.264,1.174,0.962,2.249)
+OutputsModel <- RunModel(InputsModel=InputsModel,RunOptions=RunOptions,Param=Param,
+                         FUN_MOD=RunModel_CemaNeigeGR4J)
+
+## results preview
+plot_OutputsModel(OutputsModel=OutputsModel,Qobs=BasinObs$Qmm[Ind_Run])
+
+
-- 
GitLab