From 52bb65235f93be53b1a12a8e54fa4a825724bcc4 Mon Sep 17 00:00:00 2001 From: David <david.dorchies@inrae.fr> Date: Fri, 29 Nov 2024 07:11:41 +0100 Subject: [PATCH] fix(RunModel.GRiwrmOutputsModel): check issues - NAs in IniStates - Documentation warning --- R/RunModel.GRiwrmOutputsModel.R | 3 ++- R/RunModel.InputsModel.R | 3 +++ R/utils.RunModel.R | 3 +-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/R/RunModel.GRiwrmOutputsModel.R b/R/RunModel.GRiwrmOutputsModel.R index 7b1f82b..c24a5c4 100644 --- a/R/RunModel.GRiwrmOutputsModel.R +++ b/R/RunModel.GRiwrmOutputsModel.R @@ -41,7 +41,8 @@ RunModel.GRiwrmOutputsModel <- function(OutputsModel, DatesR = getNextTimeSteps(OutputsModel), Qinf = NULL, Qrelease = NULL, - Qmin = NULL) { + Qmin = NULL, + ...) { stopifnot(inherits(OutputsModel, "GRiwrmOutputsModel"), inherits(InputsModel, "GRiwrmInputsModel"), inherits(RunOptions, "GRiwrmRunOptions")) diff --git a/R/RunModel.InputsModel.R b/R/RunModel.InputsModel.R index 424f73a..0693e44 100644 --- a/R/RunModel.InputsModel.R +++ b/R/RunModel.InputsModel.R @@ -43,6 +43,9 @@ RunModel.InputsModel <- function(x = NULL, } } + # Avoiding Error in `FUN_MOD(x, RunOptions, Param)`: NA/NaN/Inf in foreign function call (arg 7) + RunOptions$IniStates[is.na(RunOptions$IniStates)] <- 0 + FUN_MOD <- match.fun(FUN_MOD) if (identical(FUN_MOD, RunModel_Lag)) { OutputsModel <- RunModel_Routing(x, RunOptions, Param) diff --git a/R/utils.RunModel.R b/R/utils.RunModel.R index be5ad93..e5aefac 100644 --- a/R/utils.RunModel.R +++ b/R/utils.RunModel.R @@ -62,7 +62,6 @@ OutputsModelQsim <- function(InputsModel, OutputsModel, IndPeriod_Run) { #' serializeIniStates <- function(IniStates) { IniStates <- unlist(IniStates) - IniStates[is.na(IniStates)] <- 0 return(IniStates) } @@ -109,4 +108,4 @@ getNextTimeSteps <- function(OutputsModel, TimeStep = 1L) { last_date <- dplyr::last(OutputsModel[[1]]$DatesR) first_date <- last_date + attr(OutputsModel, "TimeStep") return(seq(first_date, length.out = TimeStep, by = attr(OutputsModel, "TimeStep"))) - } +} -- GitLab