Commit b1755bf1 authored by David's avatar David
Browse files

feat(RunModel.GRiwrmOutputsModel): handle Supervisor as InputsModel

WIP: RunModel.Supervisor is still not able to handle it

Refs #174
1 merge request!106Resolve "Run a supervised model from a previous run and changing inputs"
Pipeline #60957 passed with stage
in 7 minutes and 33 seconds
Showing with 19 additions and 2 deletions
+19 -2
......@@ -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(
......
......@@ -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}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment