diff --git a/R/CreateInputsModel.R b/R/CreateInputsModel.R index 3bd0f14752105a78f3010a3d8cd744d646f6fa2e..914d61f6a7f1524afdcb27cecf8c247543cc62cc 100644 --- a/R/CreateInputsModel.R +++ b/R/CreateInputsModel.R @@ -13,63 +13,9 @@ CreateInputsModel <- function(FUN_MOD, FUN_MOD <- match.fun(FUN_MOD) ##check_FUN_MOD - BOOL <- FALSE - if (identical(FUN_MOD, RunModel_GR4H) | identical(FUN_MOD, RunModel_GR5H)) { - ObjectClass <- c(ObjectClass, "hourly", "GR") + FeatFUN_MOD <- .GetFeatModel(FUN_MOD = FUN_MOD, DatesR = DatesR) + ObjectClass <- FeatFUN_MOD$Class - TimeStep <- as.integer(60 * 60) - - BOOL <- TRUE - } - if (identical(FUN_MOD, RunModel_GR4J) | - identical(FUN_MOD, RunModel_GR5J) | - identical(FUN_MOD, RunModel_GR6J)) { - ObjectClass <- c(ObjectClass, "daily", "GR") - - TimeStep <- as.integer(24 * 60 * 60) - - BOOL <- TRUE - } - if (identical(FUN_MOD, RunModel_GR2M)) { - ObjectClass <- c(ObjectClass, "GR", "monthly") - - TimeStep <- as.integer(c(28, 29, 30, 31) * 24 * 60 * 60) - - BOOL <- TRUE - } - if (identical(FUN_MOD, RunModel_GR1A)) { - ObjectClass <- c(ObjectClass, "GR", "yearly") - - TimeStep <- as.integer(c(365, 366) * 24 * 60 * 60) - - BOOL <- TRUE - } - if (identical(FUN_MOD, RunModel_CemaNeige)) { - ObjectClass <- c(ObjectClass, "daily", "CemaNeige") - - TimeStep <- as.integer(24 * 60 * 60) - - BOOL <- TRUE - } - if (identical(FUN_MOD, RunModel_CemaNeigeGR4J) | - identical(FUN_MOD, RunModel_CemaNeigeGR5J) | - identical(FUN_MOD, RunModel_CemaNeigeGR6J)) { - ObjectClass <- c(ObjectClass, "daily", "GR", "CemaNeige") - - TimeStep <- as.integer(24 * 60 * 60) - - BOOL <- TRUE - } - if (identical(FUN_MOD, RunModel_CemaNeigeGR4H) | identical(FUN_MOD, RunModel_CemaNeigeGR5H)) { - ObjectClass <- c(ObjectClass, "hourly", "GR", "CemaNeige") - - TimeStep <- as.integer(60 * 60) - - BOOL <- TRUE - } - if (!BOOL) { - stop("incorrect 'FUN_MOD' for use in 'CreateInputsModel'") - } ##check_arguments if ("GR" %in% ObjectClass | "CemaNeige" %in% ObjectClass) { @@ -82,10 +28,6 @@ CreateInputsModel <- function(FUN_MOD, if (!"POSIXlt" %in% class(DatesR)) { DatesR <- as.POSIXlt(DatesR) } - if (!difftime(tail(DatesR, 1), tail(DatesR, 2), units = "secs")[[1]] %in% TimeStep) { - TimeStepName <- grep("hourly|daily|monthly|yearly", ObjectClass, value = TRUE) - stop(paste0("the time step of the model inputs must be ", TimeStepName, "\n")) - } if (any(duplicated(DatesR))) { stop("'DatesR' must not include duplicated values") }