RunModel_CemaNeigeGR5J {airGR} | R Documentation |
Function which performs a single run for the CemaNeige-GR5J daily lumped model.
RunModel_CemaNeigeGR5J(InputsModel, RunOptions, Param)
InputsModel |
[object of class InputsModel] see | |||||||||||||||||||
RunOptions |
[object of class RunOptions] see | |||||||||||||||||||
Param |
[numeric] vector of 7 (or 9 parameters if
|
The choice of the CemaNeige version is explained in CreateRunOptions
.
For further details on the model, see the references section.
For further details on the argument structures and initialisation options, see CreateRunOptions
.
[list] list containing the function outputs organised as follows:
$DatesR | [POSIXlt] series of dates |
$PotEvap | [numeric] series of input potential evapotranspiration [mm/d] |
$Precip | [numeric] series of input total precipitation [mm/d] |
$Prod | [numeric] series of production store level [mm] |
$Pn | [numeric] series of net rainfall [mm/d] |
$Ps | [numeric] series of the part of Pn filling the production store [mm/d] |
$AE | [numeric] series of actual evapotranspiration [mm/d] |
$Perc | [numeric] series of percolation (PERC) [mm/d] |
$PR | [numeric] series of PR=Pn-Ps+Perc [mm/d] |
$Q9 | [numeric] series of UH1 outflow (Q9) [mm/d] |
$Q1 | [numeric] series of UH2 outflow (Q1) [mm/d] |
$Rout | [numeric] series of routing store level [mm] |
$Exch | [numeric] series of potential semi-exchange between catchments [mm/d] |
$AExch1 | [numeric] series of actual exchange between catchments for branch 1 [mm/d] |
$AExch2 | [numeric] series of actual exchange between catchments for branch 2 [mm/d] |
$AExch | [numeric] series of actual exchange between catchments (1+2) [mm/d] |
$QR | [numeric] series of routing store outflow (QR) [mm/d] |
$QD | [numeric] series of direct flow from UH2 after exchange (QD) [mm/d] |
$Qsim | [numeric] series of simulated discharge [mm/d] |
$CemaNeigeLayers | [list] list of CemaNeige outputs (1 list per layer) |
$CemaNeigeLayers[[iLayer]]$Pliq | [numeric] series of liquid precip. [mm/d] |
$CemaNeigeLayers[[iLayer]]$Psol | [numeric] series of solid precip. [mm/d] |
$CemaNeigeLayers[[iLayer]]$SnowPack | [numeric] series of snow pack [mm] |
$CemaNeigeLayers[[iLayer]]$ThermalState | [numeric] series of snow pack thermal state [°C] |
$CemaNeigeLayers[[iLayer]]$Gratio | [numeric] series of Gratio [0-1] |
$CemaNeigeLayers[[iLayer]]$PotMelt | [numeric] series of potential snow melt [mm/d] |
$CemaNeigeLayers[[iLayer]]$Melt | [numeric] series of actual snow melt [mm/d] |
$CemaNeigeLayers[[iLayer]]$PliqAndMelt | [numeric] series of liquid precip. + actual snow melt [mm/d] |
$CemaNeigeLayers[[iLayer]]$Temp | [numeric] series of air temperature [°C] |
$CemaNeigeLayers[[iLayer]]$Gthreshold | [numeric] series of melt threshold [mm] |
$CemaNeigeLayers[[iLayer]]$Glocalmax | [numeric] series of local melt threshold for hysteresis [mm] |
$StateEnd | [numeric] states at the end of the run: |
store & unit hydrographs levels [mm], CemaNeige states [mm & °C], | |
see CreateIniStates for more details |
|
(refer to the provided references or to the package source code for further details on these model outputs)
Laurent Coron, Audrey Valéry, Claude Michel, Nicolas Le Moine, Charles Perrin, Vazken Andréassian, Olivier Delaigue
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.
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.
Riboust, P., G. Thirel, N. Le Moine and P. Ribstein (2019).
Revisiting a simple degree-day model for integrating satellite data: implementation of SWE-SCA hystereses.
Journal of Hydrology and Hydromechanics. doi:10.2478/johh-2018-0004, 67, 1, 70–81.
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.
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.
RunModel_CemaNeige
, RunModel_CemaNeigeGR4J
, RunModel_CemaNeigeGR6J
, RunModel_GR5J
,
CreateInputsModel
, CreateRunOptions
, CreateIniStates
.
library(airGR) ## loading catchment data 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 = median(BasinInfo$HypsoData), HypsoData = BasinInfo$HypsoData, NLayers = 5) ## run period selection Ind_Run <- seq(which(format(BasinObs$DatesR, format = "%Y-%m-%d")=="1990-01-01"), which(format(BasinObs$DatesR, format = "%Y-%m-%d")=="1999-12-31")) ## preparation of the RunOptions object RunOptions <- CreateRunOptions(FUN_MOD = RunModel_CemaNeigeGR5J, InputsModel = InputsModel, IndPeriod_Run = Ind_Run) ## simulation Param <- c(X1 = 179.139, X2 = -0.100, X3 = 203.815, X4 = 1.174, X5 = 2.478, CNX1 = 0.977, CNX2 = 2.774) OutputsModel <- RunModel_CemaNeigeGR5J(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param) ## results preview plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run]) ## efficiency criterion: Nash-Sutcliffe Efficiency InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run]) OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel) ## simulation with the Linear Hysteresis ## preparation of the RunOptions object RunOptions <- CreateRunOptions(FUN_MOD = RunModel_CemaNeigeGR5J, InputsModel = InputsModel, IndPeriod_Run = Ind_Run, IsHyst = TRUE) Param <- c(179.139, -0.100, 203.815, 1.174, 2.478, 0.977, 2.774, 100, 0.4) OutputsModel <- RunModel_CemaNeigeGR5J(InputsModel = InputsModel, RunOptions = RunOptions, Param = Param) ## results preview plot(OutputsModel, Qobs = BasinObs$Qmm[Ind_Run]) ## efficiency criterion: Nash-Sutcliffe Efficiency InputsCrit <- CreateInputsCrit(FUN_CRIT = ErrorCrit_NSE, InputsModel = InputsModel, RunOptions = RunOptions, Obs = BasinObs$Qmm[Ind_Run]) OutputsCrit <- ErrorCrit_NSE(InputsCrit = InputsCrit, OutputsModel = OutputsModel)