diff --git a/R/Calibration.GRiwrmInputsModel.R b/R/Calibration.GRiwrmInputsModel.R index 5d4d0d7af860809d0ccd3b530975f3c1cf622f0f..fc0eae784f046518744b405e48ec3647f3e58088 100644 --- a/R/Calibration.GRiwrmInputsModel.R +++ b/R/Calibration.GRiwrmInputsModel.R @@ -37,11 +37,6 @@ Calibration.GRiwrmInputsModel <- function(InputsModel, for (id in gaugedIds) { IM <- InputsModel[[id]] - if (inherits(InputsCrit[[id]], "InputsCritLavenneFunction")) { - IC <- getInputsCrit_Lavenne(id, OutputsModel, InputsCrit) - } else { - IC <- InputsCrit[[id]] - } hasUngauged <- IM$hasUngaugedNodes if (hasUngauged) { l <- updateParameters4Ungauged(id, @@ -62,6 +57,12 @@ Calibration.GRiwrmInputsModel <- function(InputsModel, } } + if (inherits(InputsCrit[[id]], "InputsCritLavenneFunction")) { + IC <- getInputsCrit_Lavenne(id, OutputsModel, InputsCrit) + } else { + IC <- InputsCrit[[id]] + } + if (!is.null(IM$isReservoir) && IM$isReservoir & any(is.na(CalibOptions[[id]]$FixedParam))) { stop("Parameters of node '", id, "' using `RunModel_Reservoir` can't be calibrated", "Fix its parameters by using the command:\n", diff --git a/R/utils.Calibration.R b/R/utils.Calibration.R index 137273248381985a3061a42bdea39dfdc1f94768..2d7157230e9af87d68edcd5fa8a65658cbad8561 100644 --- a/R/utils.Calibration.R +++ b/R/utils.Calibration.R @@ -28,7 +28,7 @@ getInputsCrit_Lavenne <- function(id, OutputsModel, InputsCrit) { AprParamR[featMod$iX4] <- AprParamR[featMod$iX4] * featMod$X4Ratio } AprParamR <- AprParamR[featMod$indexParamUngauged] - message("A priori parameters from node ", AprioriId, ": ", paste(round(AprParamR, 3), collapse = ", ")) + message("Parameter regularization: get a priori parameters from node ", AprioriId, ": ", paste(round(AprParamR, 3), collapse = ", ")) AprCrit <- ErrorCrit(InputsCrit[[AprioriId]], OutputsModel[[AprioriId]])$CritValue return(Lavenne_FUN(AprParamR, AprCrit)) } @@ -216,7 +216,7 @@ transferGRparams <- function(InputsModel, Param, donor, receiver, default_param missing_params <- setdiff(InputsModel[[receiver]]$model$indexParamUngauged, InputsModel[[donor]]$model$indexParamUngauged) if (verbose) { - message("Tranfering parameters from node '", donor, "' to node '", receiver, "'") + message("Tranferring parameters from node '", donor, "' to node '", receiver, "'") } if (length(missing_params) > 0) { if (is.null(default_param)) { @@ -253,6 +253,9 @@ transferGRparams <- function(InputsModel, Param, donor, receiver, default_param 0.5 ) } + if (verbose) { + message(message("\t Param = ", paste(sprintf("%8.3f", p), collapse = ", "))) + } return(p) }