From 11ffe538ede3da283cb0e59ed2a8479a26b35d9d Mon Sep 17 00:00:00 2001 From: Olivier Delaigue <olivier.delaigue@irstea.fr> Date: Thu, 14 Apr 2016 16:10:52 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20au=20propre=20de=20la=20casse=20de=20car?= =?UTF-8?q?act=C3=A8res=20pour=20=C3=AAtre=20coh=C3=A9rent=20lors=20de=20l?= =?UTF-8?q?a=20cr=C3=A9ation=20du=20lien=20vers=20les=20routines=20FORTRAN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- R/RunModel_CemaNeige.R | 51 +++--------------------------------------- 1 file changed, 3 insertions(+), 48 deletions(-) diff --git a/R/RunModel_CemaNeige.R b/R/RunModel_CemaNeige.R index b8faa0cb..f3f95247 100644 --- a/R/RunModel_CemaNeige.R +++ b/R/RunModel_CemaNeige.R @@ -1,48 +1,3 @@ -#***************************************************************************************************************** -#' Function which performs a single run for the CemaNeige daily snow module. -#' -#' For further details on the model, see the references section. -#' 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; @@ -78,7 +33,7 @@ RunModel_CemaNeige <- function(InputsModel,RunOptions,Param){ ##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", + 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] @@ -116,12 +71,12 @@ RunModel_CemaNeige <- function(InputsModel,RunOptions,Param){ names(OutputsModel) <- c("DatesR",NameCemaNeigeLayers); } if(ExportDatesR==FALSE & ExportStateEnd==TRUE){ OutputsModel <- c( list(CemaNeigeLayers), - CemaNeigeStateEnd ); + list(CemaNeigeStateEnd)); names(OutputsModel) <- c(NameCemaNeigeLayers,"StateEnd"); } if(ExportDatesR==TRUE & ExportStateEnd==TRUE){ OutputsModel <- c( list(InputsModel$DatesR[RunOptions$IndPeriod_Run]), list(CemaNeigeLayers), - CemaNeigeStateEnd ); + list(CemaNeigeStateEnd)); names(OutputsModel) <- c("DatesR",NameCemaNeigeLayers,"StateEnd"); } ##End -- GitLab