Commit 05aad9ba authored by Dorchies David's avatar Dorchies David
Browse files

Merge branch '117-createsupervisor-wrong-definition-of-allowed-nodes-for-command' into 'dev'

Resolve "CreateSupervisor: wrong definition of allowed nodes for command"

Closes #117

See merge request !58
2 merge requests!93Draft: Version 0.7.0,!58Resolve "CreateSupervisor: wrong definition of allowed nodes for command"
Pipeline #46326 passed with stage
in 3 minutes and 19 seconds
Showing with 22 additions and 2 deletions
+22 -2
......@@ -39,9 +39,10 @@ CreateSupervisor <- function(InputsModel, TimeStep = 1L) {
griwrm = e$griwrm)
names(e$nodeProperties) <- unique(e$griwrm$id)
dfNP <- do.call(rbind, lapply(e$nodeProperties, dplyr::bind_cols))
models4U <- c("Diversion", "RunModel_Reservoir")
e$griwrm4U <-
e$griwrm[dfNP$Diversion | dfNP$DirectInjection | dfNP$Reservoir, ]
e$griwrm[is.na(e$griwrm$model) |
(!is.na(e$griwrm$model) & e$griwrm$model %in% models4U), ]
e$OutputsModel <- list()
e$.TimeStep <- TimeStep
......
......@@ -43,3 +43,22 @@ test_that("Checks in CreateController", {
expect_s3_class(sv$controllers$toto, "Controller")
})
test_that("CreateSupervisor using reservoir and diversion", {
nodes <- loadSevernNodes()
nodes <- rbind(nodes, data.frame(
id = c("54029" , "Reservoir" ),
down = c("Reservoir" , "54032" ),
length = c(20 , 15 ),
area = c(NA, NA ),
model = c("Diversion" , "RunModel_Reservoir")
))
g <- CreateGRiwrm(nodes)
# Add Qobs for the 2 new nodes and create InputsModel
Qobs <- matrix(data = rep(0, 2*length(DatesR)), ncol = 2)
colnames(Qobs) <- c("54029", "Reservoir")
InputsModel <- suppressWarnings(
CreateInputsModel(g, DatesR, Precip, PotEvap, Qobs)
)
sv <- CreateSupervisor(InputsModel)
expect_equal(sv$griwrm4U$id, c("54029", "Reservoir"))
})
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