diff --git a/R/RunModel.GRiwrmOutputsModel.R b/R/RunModel.GRiwrmOutputsModel.R index 382d66c408f0a9bec27d2e6523c217a593f82432..cf8d00daae411a0ad29deccf41e662f5fabfd53e 100644 --- a/R/RunModel.GRiwrmOutputsModel.R +++ b/R/RunModel.GRiwrmOutputsModel.R @@ -17,6 +17,8 @@ #' @inheritParams getNextTimeSteps #' @inheritParams RunModel.GRiwrmInputsModel #' @inheritParams airGR::CreateRunOptions +#' @param InputsModel \[`GRiwrmInputsModel` object\] (see +#' [CreateInputsModel.GRiwrm]) or \[`Supervisor` object\] (See [CreateSupervisor]) #' @param DatesR (optional) [POSIXt] vector of dates of period to be used for #' the model run. See details #' @param Qinf (optional) [matrix] or [data.frame] of [numeric] containing @@ -49,8 +51,17 @@ RunModel.GRiwrmOutputsModel <- function(x, merge_outputs = TRUE, ...) { stopifnot(inherits(x, "GRiwrmOutputsModel"), - inherits(InputsModel, "GRiwrmInputsModel"), + inherits(InputsModel, "GRiwrmInputsModel") || is.Supervisor(InputsModel), inherits(RunOptions, "GRiwrmRunOptions")) + + if (is.Supervisor(InputsModel)) { + use_supervisor <- TRUE + sv <- InputsModel + InputsModel <- sv$InputsModel + } else { + use_supervisor <- FALSE + } + # Check Run Period next_time_step <- getNextTimeSteps(x) next_index <- which(InputsModel[[1]]$DatesR == next_time_step) @@ -114,6 +125,11 @@ RunModel.GRiwrmOutputsModel <- function(x, } } + if (use_supervisor) { + sv$InputsModel <- InputsModel + InputsModel <- sv + } + # Run the model OM <- suppressMessages( RunModel( diff --git a/man/RunModel.GRiwrmOutputsModel.Rd b/man/RunModel.GRiwrmOutputsModel.Rd index 5dd80327f1370caa39943e2d8b154f0af88c6d6f..25833d8aa3188d6c618152001f73d2433954a7ba 100644 --- a/man/RunModel.GRiwrmOutputsModel.Rd +++ b/man/RunModel.GRiwrmOutputsModel.Rd @@ -21,7 +21,8 @@ \item{x}{Object returned by \link{RunModel.GRiwrmInputsModel}, \link{RunModel.Supervisor}, or \link{RunModel.GRiwrmOutputsModel}} -\item{InputsModel}{[object of class \emph{InputsModel}] see \code{\link[airGR]{CreateInputsModel}} for details} +\item{InputsModel}{[\code{GRiwrmInputsModel} object] (see +\link{CreateInputsModel.GRiwrm}) or [\code{Supervisor} object] (See \link{CreateSupervisor})} \item{RunOptions}{[object of class \emph{GRiwrmRunOptions}] see \link{CreateRunOptions.GRiwrmInputsModel} for details}