diff --git a/R/RunModel.GRiwrmOutputsModel.R b/R/RunModel.GRiwrmOutputsModel.R index 7b1f82b32506648e3ccc6d36cb42e788cb82fea7..c24a5c4002c6781fc0969b628cabe2d3893f4fc1 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 424f73ab65b93cc5dabdc31fea0c66e881cba22e..0693e4427078cbcfe79c654cfd8602ba8385d698 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 be5ad9375bd447005f1286e745ce36264028438a..e5aefacecfc73a658ed6fefd65d3f65749226c0d 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"))) - } +}