diff --git a/R/RunModel.SD.R b/R/RunModel.SD.R index 05bd21f240f3be9f7d9795f1c0f73ce24d1385f9..928d1ef80de6d7fa431946384133118c10fbdaaf 100644 --- a/R/RunModel.SD.R +++ b/R/RunModel.SD.R @@ -10,11 +10,12 @@ RunModel.SD <- function(x, RunOptions, Param, QcontribDown = NULL, ...) { if (is.null(QcontribDown)) { QcontribDown <- list( - RunOptions = list( - WarmUpQsim = rep(0, length(RunOptions$IndPeriod_WarmUp)) - ), Qsim = rep(0, length(RunOptions$IndPeriod_Run)) ) + if (!is.null(RunOptions$IndPeriod_WarmUp) && + !(length(RunOptions$IndPeriod_WarmUp) == 1 && RunOptions$IndPeriod_WarmUp == 0L)) { + QcontribDown$RunOptions = list(WarmUpQsim = rep(0, length(RunOptions$IndPeriod_WarmUp))) + } class(QcontribDown) <- c("OutputsModel", class(RunOptions)[-1]) x$BasinAreas[length(x$BasinAreas)] <- 1E-6 } @@ -22,7 +23,6 @@ RunModel.SD <- function(x, RunOptions, Param, QcontribDown = NULL, ...) { RunOptions = RunOptions, Param = Param[1], QcontribDown = QcontribDown) - OutputsModel$DatesR <- x$DatesR[RunOptions$IndPeriod_Run] if ("WarmUpQsim" %in% RunOptions$Outputs_Sim) { OutputsModel$RunOptions$WarmUpQsim_m3 <- OutputsModel$RunOptions$WarmUpQsim * sum(x$BasinAreas, na.rm = TRUE) * 1e3 diff --git a/R/RunModel.Supervisor.R b/R/RunModel.Supervisor.R index 7479a10b8d17f8bd4f2c834882f975da1f4a537c..1c67d692cb5ced4adf8ac6e1e08ef6348b001821 100644 --- a/R/RunModel.Supervisor.R +++ b/R/RunModel.Supervisor.R @@ -54,6 +54,9 @@ RunModel.Supervisor <- function(x, RunOptions, Param, ...) { RunOptionsWarmUp[[id]]$IndPeriod_Run <- RunOptionsWarmUp[[id]]$IndPeriod_WarmUp RunOptionsWarmUp[[id]]$IndPeriod_WarmUp <- 0L RunOptionsWarmUp[[id]]$Outputs_Sim <- c("StateEnd", "Qsim") + if (x$InputsModel[[id]]$isReservoir) { + RunOptionsWarmUp[[id]]$Outputs_Sim <- c(RunOptionsWarmUp[[id]]$Outputs_Sim, "Qsim_m3") + } } OM_WarmUp <- suppressMessages( RunModel.GRiwrmInputsModel(x$InputsModel,