diff --git a/R/CreateCalibOptions.R b/R/CreateCalibOptions.R index a28f4c7231e3aa29ea00f7b30177d0e2d7e00480..d002531a40253bbb6d9a30f127fd901c556b82d1 100644 --- a/R/CreateCalibOptions.R +++ b/R/CreateCalibOptions.R @@ -50,13 +50,23 @@ CreateCalibOptions.InputsModel <- function(x, FixedParam = NULL, ...) { } } # Add FixedParam - dots$FixedParam <- FixedParam + if (!is.null(FixedParam) && !any(is.na(FixedParam))) { + dots$FixedParam <- NULL + } else { + dots$FixedParam <- FixedParam + } # Automatically define IsSD for intermediate basin GR models dots$IsSD = !is.null(x$Qupstream) & dots$FUN_MOD != "RunModel_Lag" # Add IsHyst in parameters if carried by InputsModel if (!is.null(x$model$IsHyst)) dots$IsHyst <- x$model$IsHyst # Call airGR function - do.call(airGR::CreateCalibOptions, dots) + CalibOptions <- do.call(airGR::CreateCalibOptions, dots) + # airGR::CreateCalibOptions don't like when there are no param to calibrate + # But we need the full set of fixed parameters here for airGRiwrm Calibration + if (!is.null(FixedParam) && !any(is.na(FixedParam))) { + CalibOptions$FixedParam <- FixedParam + } + return(CalibOptions) } #' @rdname CreateCalibOptions