From 0dc54ae7e23a3de0a60f19fef96a7bcd63d88539 Mon Sep 17 00:00:00 2001
From: David <david.dorchies@inrae.fr>
Date: Tue, 28 May 2024 12:29:52 +0200
Subject: [PATCH] fix(CreateInputsCrit): Only add AprCelerity on non upstream
 nodes

Refs #157
---
 R/Calibration.GRiwrmInputsModel.R | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/R/Calibration.GRiwrmInputsModel.R b/R/Calibration.GRiwrmInputsModel.R
index 9ef40e5..da64df9 100644
--- a/R/Calibration.GRiwrmInputsModel.R
+++ b/R/Calibration.GRiwrmInputsModel.R
@@ -156,13 +156,15 @@ getInputsCrit_Lavenne <- function(id, OutputsModel, InputsCrit) {
   Lavenne_FUN <- attr(InputsCrit[[id]], "Lavenne_FUN")
   AprParamR <- OutputsModel[[AprioriId]]$RunOptions$Param
   if (!inherits(OutputsModel[[AprioriId]], "SD")) {
-    # Add default velocity parameter for a priori upstream catchment
+    # Add Celerity parameter if apriori is an upstream node
     AprParamR <- c(AprCelerity, AprParamR)
   }
-  if (attr(InputsCrit[[id]], "model")$hasX4) {
-    featMod <- attr(InputsCrit[[id]], "model")
+  featMod <- attr(InputsCrit[[id]], "model")
+  if (featMod$hasX4) {
     AprParamR[featMod$iX4] <- AprParamR[featMod$iX4] * featMod$X4Ratio
   }
+  AprParamR <- AprParamR[featMod$indexParamUngauged]
+  message("A priori parameters from node ", AprioriId, ": ", paste(round(AprParamR, 3), collapse = ", "))
   AprCrit <- ErrorCrit(InputsCrit[[AprioriId]], OutputsModel[[AprioriId]])$CritValue
   return(Lavenne_FUN(AprParamR, AprCrit))
 }
-- 
GitLab