From 9a398d724c78dde4f19445f4d00ac93713ce35af Mon Sep 17 00:00:00 2001 From: David <david.dorchies@inrae.fr> Date: Tue, 28 May 2024 15:22:04 +0200 Subject: [PATCH] fix: User defined donor for Delavenne - node with user defined donor for a priori parameters works - rename InputsModel item isUngauged to inUngaugedCluster Refs #157 --- R/Calibration.GRiwrmInputsModel.R | 2 +- R/CreateInputsCrit.GRiwrmInputsModel.R | 2 +- R/CreateInputsModel.GRiwrm.R | 12 ++++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/R/Calibration.GRiwrmInputsModel.R b/R/Calibration.GRiwrmInputsModel.R index da64df9..e91a2d4 100644 --- a/R/Calibration.GRiwrmInputsModel.R +++ b/R/Calibration.GRiwrmInputsModel.R @@ -31,7 +31,7 @@ Calibration.GRiwrmInputsModel <- function(InputsModel, OutputsModel <- list() class(OutputsModel) <- append("GRiwrmOutputsModel", class(OutputsModel)) - b <- sapply(InputsModel, function(IM) !IM$isUngauged) + b <- sapply(InputsModel, function(IM) !IM$inUngaugedCluster) gaugedIds <- names(b[b]) for (id in gaugedIds) { diff --git a/R/CreateInputsCrit.GRiwrmInputsModel.R b/R/CreateInputsCrit.GRiwrmInputsModel.R index bc234ed..c8b0e75 100644 --- a/R/CreateInputsCrit.GRiwrmInputsModel.R +++ b/R/CreateInputsCrit.GRiwrmInputsModel.R @@ -59,7 +59,7 @@ CreateInputsCrit.GRiwrmInputsModel <- function(InputsModel, "\nIf possible, set this apriori id as the donor of the node \"", id,"\" to force the calibration sequence order") } - if (InputsModel[[AprioriIds[id]]]$isUngauged & + if (InputsModel[[AprioriIds[id]]]$inUngaugedCluster & InputsModel[[AprioriIds[id]]]$gaugedId == id) { stop("'AprioriIds': the node \"", AprioriIds[id], "\" is ungauged, use a gauged node instead") diff --git a/R/CreateInputsModel.GRiwrm.R b/R/CreateInputsModel.GRiwrm.R index 2d60245..387bfee 100644 --- a/R/CreateInputsModel.GRiwrm.R +++ b/R/CreateInputsModel.GRiwrm.R @@ -331,10 +331,14 @@ CreateOneGRiwrmInputsModel <- function(id, griwrm, DatesR, ..., Qobs, Qmin, Qrel # Add the model function InputsModel$FUN_MOD <- FUN_MOD featModel <- .GetFeatModel(InputsModel, IsHyst) - InputsModel$isUngauged <- node$id != node$donor && - isNodeDownstream(griwrm, id, node$donor) - InputsModel$isReceiver <- node$id != node$donor && - !isNodeDownstream(griwrm, id, node$donor) + # inUngaugedCluster: Ungauged node with downstream donor + # including reservoirs between ungauged nodes and donor + InputsModel$inUngaugedCluster <- (node$model == "Ungauged" || np$Reservoir) && + node$id != node$donor && + isNodeDownstream(griwrm, id, node$donor) + # isReceiver: Ungauged node with not downstream donor + InputsModel$isReceiver <- node$model == "Ungauged" && + !isNodeDownstream(griwrm, id, node$donor) InputsModel$gaugedId <- node$donor InputsModel$hasUngaugedNodes <- hasUngaugedNodes(id, griwrm) InputsModel$model <- -- GitLab