R/Calibration.InputsModel.R

Defines functions Calibration.InputsModel

Documented in Calibration.InputsModel

#' @rdname Calibration
#' @export
Calibration.InputsModel <- function(InputsModel,
                                    CalibOptions,
                                    ...) {
  if (!exists("FUN_MOD") && !is.null(InputsModel$FUN_MOD)) {
    if (!any(is.na(CalibOptions$FixedParam))) {
      message("Parameters already fixed - no need for calibration")
      message("\t     Param = ", paste(sprintf("%8.3f", CalibOptions$FixedParam), collapse = ", "))
      OC <- list(ParamFinalR = CalibOptions$FixedParam)
      class(OC) <- c("OutputsCalib", class(OC))
      return(OC)
    } else {
      if (!is.null(InputsModel$hasDiversion) && InputsModel$hasDiversion) {
        class(InputsModel) <- setdiff(class(InputsModel), "SD")
        FUN_MOD = RunModel.InputsModel
      } else {
        FUN_MOD = InputsModel$FUN_MOD
      }
      airGR::Calibration(InputsModel,
                         CalibOptions = CalibOptions,
                         FUN_MOD = FUN_MOD, ...)
    }
  } else {
    airGR::Calibration(InputsModel,
                       CalibOptions = CalibOptions,
                       ...)
  }
}
inrae/airGRiwrm documentation built on Sept. 27, 2024, 6:08 p.m.