RunModel.R 765 Bytes
Newer Older
RunModel <- function(InputsModel, RunOptions, Param, FUN_MOD, ...) {
  if (inherits(InputsModel, "SD") && !identical(FUN_MOD, RunModel_Lag)) {
    # Lag model take one parameter at the beginning of the vector
    iFirstParamRunOffModel <- 2
    RunOptions$FeatFUN_MOD$NbParam <- RunOptions$FeatFUN_MOD$NbParam - 1
    # All parameters
    iFirstParamRunOffModel <- 1
  }
  OutputsModel <- FUN_MOD(InputsModel = InputsModel, RunOptions = RunOptions,
                          Param = Param[iFirstParamRunOffModel:length(Param)], ...)
  if (inherits(InputsModel, "SD") && !identical(FUN_MOD, RunModel_Lag)) {
    OutputsModel <- RunModel_Lag(InputsModel, RunOptions, Param[1], OutputsModel)
  return(OutputsModel)