diff --git a/R/Calibration_Michel.R b/R/Calibration_Michel.R
index f46aaf00d56b622d8b38ced5840aaa8f12aa20a5..3bd43427d3670fcac5e2ed7a5f8af45858815e80 100644
--- a/R/Calibration_Michel.R
+++ b/R/Calibration_Michel.R
@@ -117,7 +117,7 @@ Calibration_Michel <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FU
       Param <- CandidatesParamR[iNew,];
       OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param);
       ##Calibration_criterion_computation
-      OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel);      
+      OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel, verbose = FALSE);      
       if(!is.na(OutputsCrit$CritValue)){ if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){
         CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier;
         iNewOptim <- iNew;
@@ -229,7 +229,7 @@ Calibration_Michel <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FU
       Param <- CandidatesParamR[iNew,];
       OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param);
       ##Calibration_criterion_computation
-      OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel);      
+      OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel, verbose = FALSE);      
       if(!is.na(OutputsCrit$CritValue)){ if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){
         CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier;
         iNewOptim <- iNew;
@@ -278,7 +278,7 @@ Calibration_Michel <- function(InputsModel,RunOptions,InputsCrit,CalibOptions,FU
         Param <- CandidatesParamR[iNew,];
         OutputsModel <- FUN_MOD(InputsModel,RunOptions,Param);
         ##Calibration_criterion_computation
-        OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel);      
+        OutputsCrit <- FUN_CRIT(InputsCrit,OutputsModel, verbose = FALSE);      
         if(OutputsCrit$CritValue*OutputsCrit$Multiplier < CritOptim){
           CritOptim <- OutputsCrit$CritValue*OutputsCrit$Multiplier;
           iNewOptim <- iNew;
diff --git a/R/ErrorCrit.R b/R/ErrorCrit.R
index 3354cf400f496a280c18717fdf4439029b65c712..06890369d2651c596b770be7df97f2f54ef14c62 100644
--- a/R/ErrorCrit.R
+++ b/R/ErrorCrit.R
@@ -1,4 +1,4 @@
-ErrorCrit <- function(InputsCrit,OutputsModel,FUN_CRIT, verbose = TRUE){
-    return( FUN_CRIT(InputsCrit,OutputsModel, verbose = verbose) )
+ErrorCrit <- function(InputsCrit,OutputsModel,FUN_CRIT, warnings = TRUE, verbose = TRUE){
+    return( FUN_CRIT(InputsCrit,OutputsModel, warnings = warnings, verbose = verbose) )
 }
 
diff --git a/R/ErrorCrit_KGE.R b/R/ErrorCrit_KGE.R
index 2ac4e97da81768e17c6f8b8b07c784e2529796c6..310ab3d57062abbb4e7f5f0898a0f588b3e87298 100644
--- a/R/ErrorCrit_KGE.R
+++ b/R/ErrorCrit_KGE.R
@@ -1,4 +1,4 @@
-ErrorCrit_KGE <- function(InputsCrit,OutputsModel, verbose = TRUE){
+ErrorCrit_KGE <- function(InputsCrit,OutputsModel, warnings = TRUE, verbose = TRUE){
 
 
 ##Arguments_check________________________________
@@ -44,7 +44,7 @@ ErrorCrit_KGE <- function(InputsCrit,OutputsModel, verbose = TRUE){
   if(inherits(OutputsModel,"daily"  )){ WarningTS <- 365; }
   if(inherits(OutputsModel,"monthly")){ WarningTS <-  12; }
   if(inherits(OutputsModel,"yearly" )){ WarningTS <-   3; }
-  if(sum(!TS_ignore)<WarningTS & verbose){ warning(paste("\t criterion computed on less than ",WarningTS," time-steps \n",sep="")); }
+  if(sum(!TS_ignore)<WarningTS & warnings){ warning("\t criterion computed on less than ", WarningTS, " time-steps ") }
   ##Other_variables_preparation
   meanVarObs <- mean(VarObs[!TS_ignore]);
   meanVarSim <- mean(VarSim[!TS_ignore]);
@@ -56,7 +56,7 @@ ErrorCrit_KGE <- function(InputsCrit,OutputsModel, verbose = TRUE){
 
 ##SubErrorCrit_____KGE_rPearson__________________
   iCrit <- iCrit+1;
-  SubCritNames[iCrit]  <- paste(CritName," rPEARSON(sim vs. obs)",sep="");
+  SubCritNames[iCrit]  <- paste(CritName," cor(sim, obs, \"pearson\") =", sep = "")
   SubCritValues[iCrit] <- NA;
   Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) );
   Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) );
@@ -68,7 +68,7 @@ ErrorCrit_KGE <- function(InputsCrit,OutputsModel, verbose = TRUE){
 
 ##SubErrorCrit_____KGE_alpha_____________________
   iCrit <- iCrit+1;
-  SubCritNames[iCrit]  <-  paste(CritName," STDEVsim/STDEVobs",sep="");
+  SubCritNames[iCrit]  <-  paste(CritName," sd(sim)/sd(obs)          =", sep = "")
   SubCritValues[iCrit] <- NA;
   Numer <- sd(VarSim[!TS_ignore]); 
   Denom <- sd(VarObs[!TS_ignore]); 
@@ -78,11 +78,11 @@ ErrorCrit_KGE <- function(InputsCrit,OutputsModel, verbose = TRUE){
 
 ##SubErrorCrit_____KGE_beta______________________  
   iCrit <- iCrit+1;
-  SubCritNames[iCrit]  <-  paste(CritName," MEANsim/MEANobs",sep="");
+  SubCritNames[iCrit]  <-  paste(CritName," mean(sim)/mean(obs)      =", sep = "")
   SubCritValues[iCrit] <- NA;
   if(meanVarSim==0 & meanVarObs==0){ Crit <- 1; } else { Crit <- meanVarSim/meanVarObs ; }
   if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
-
+  
 
 ##ErrorCrit______________________________________
   if(sum(is.na(SubCritValues))==0){
@@ -90,10 +90,18 @@ ErrorCrit_KGE <- function(InputsCrit,OutputsModel, verbose = TRUE){
   }
 
 
+##Verbose______________________________________
+  if(verbose) {
+    message("Crit. ", CritName, " = ", sprintf("%.4f", CritValue))
+    message(paste("\tSubCrit.", SubCritNames, sprintf("%.4f", SubCritValues), "\n", sep = " "))
+  }
+  
+
 ##Output_________________________________________
-  OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,Ind_TS_ignore);
-  names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed");
-  return(OutputsCrit);
+  OutputsCrit <- list(CritValue = CritValue, CritName = CritName,
+                      SubCritValues = SubCritValues, SubCritNames = SubCritNames, CritBestValue = CritBestValue,
+                      Multiplier = Multiplier, Ind_notcomputed = Ind_TS_ignore)
+  return(OutputsCrit)
 
 }
 
diff --git a/R/ErrorCrit_KGE2.R b/R/ErrorCrit_KGE2.R
index eca87936575a5cb53b85c8b6da52bf66f4ee5bd2..ef921e611f5bec96246d29001f63d511bc596dac 100644
--- a/R/ErrorCrit_KGE2.R
+++ b/R/ErrorCrit_KGE2.R
@@ -1,4 +1,4 @@
-ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel, verbose = TRUE){
+ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel, warnings = TRUE, verbose = TRUE){
 
 
 ##Arguments_check________________________________
@@ -44,7 +44,7 @@ ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel, verbose = TRUE){
   if(inherits(OutputsModel,"daily"  )){ WarningTS <- 365; }
   if(inherits(OutputsModel,"monthly")){ WarningTS <-  12; }
   if(inherits(OutputsModel,"yearly" )){ WarningTS <-   3; }
-  if(sum(!TS_ignore)<WarningTS & verbose){ warning(paste("\t criterion computed on less than ",WarningTS," time-steps \n",sep="")); }
+  if(sum(!TS_ignore)<WarningTS & warnings){ warning("\t criterion computed on less than ", WarningTS, " time-steps") }
   ##Other_variables_preparation
   meanVarObs <- mean(VarObs[!TS_ignore]);
   meanVarSim <- mean(VarSim[!TS_ignore]);
@@ -55,7 +55,7 @@ ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel, verbose = TRUE){
 
 ##SubErrorCrit_____KGE_rPearson__________________
   iCrit <- iCrit+1;
-  SubCritNames[iCrit]  <- paste(CritName," rPEARSON(sim vs. obs)",sep="");
+  SubCritNames[iCrit]  <- paste(CritName," cor(sim, obs, \"pearson\") =", sep = "")
   SubCritValues[iCrit] <- NA;
   Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) );
   Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) );
@@ -67,7 +67,7 @@ ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel, verbose = TRUE){
 
 ##SubErrorCrit_____KGE_gama______________________
   iCrit <- iCrit+1;
-  SubCritNames[iCrit]  <-  paste(CritName," CVsim/CVobs",sep="");
+  SubCritNames[iCrit]  <-  paste(CritName," sd(sim)/sd(obs)          =", sep = "")
   SubCritValues[iCrit] <- NA;
   if(meanVarSim==0){ if(sd(VarSim[!TS_ignore])==0){ CVsim <- 1; } else { CVsim <- 99999; } } else { CVsim <- sd(VarSim[!TS_ignore])/meanVarSim; }
   if(meanVarObs==0){ if(sd(VarObs[!TS_ignore])==0){ CVobs <- 1; } else { CVobs <- 99999; } } else { CVobs <- sd(VarObs[!TS_ignore])/meanVarObs; }
@@ -77,22 +77,30 @@ ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel, verbose = TRUE){
 
 ##SubErrorCrit_____KGE_beta______________________
   iCrit <- iCrit+1;
-  SubCritNames[iCrit]  <-  paste(CritName," MEANsim/MEANobs",sep="");
+  SubCritNames[iCrit]  <-  paste(CritName," mean(sim)/mean(obs)      =", sep = "")
   SubCritValues[iCrit] <- NA;
   if(meanVarSim==0 & meanVarObs==0){ Crit <- 1; } else { Crit <- meanVarSim/meanVarObs ; }
   if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
-
-
+  
+  
 ##ErrorCrit______________________________________
   if(sum(is.na(SubCritValues))==0){
   CritValue <- ( 1 - sqrt( (SubCritValues[1]-1)^2 + (SubCritValues[2]-1)^2 + (SubCritValues[3]-1)^2 ) );
   }
 
+  
+##Verbose______________________________________
+  if(verbose) {
+    message("Crit. ", CritName, " = ", sprintf("%.4f", CritValue))
+    message(paste("\tSubCrit.", SubCritNames, sprintf("%.4f", SubCritValues), "\n", sep = " "))
+  }
+  
 
 ##Output_________________________________________
-  OutputsCrit <- list(CritValue,CritName,SubCritValues,SubCritNames,CritBestValue,Multiplier,Ind_TS_ignore);
-  names(OutputsCrit) <- c("CritValue","CritName","SubCritValues","SubCritNames","CritBestValue","Multiplier","Ind_notcomputed");
-  return(OutputsCrit);
+  OutputsCrit <- list(CritValue = CritValue, CritName = CritName,
+                      SubCritValues = SubCritValues, SubCritNames = SubCritNames, CritBestValue = CritBestValue,
+                      Multiplier = Multiplier, Ind_notcomputed = Ind_TS_ignore)
+  return(OutputsCrit)
 
 }
 
diff --git a/R/ErrorCrit_NSE.R b/R/ErrorCrit_NSE.R
index bf719f5befa18e3424729582ca26fe9e989a9c77..742aa202f260d7fac7196cb33e5b032487108ef5 100644
--- a/R/ErrorCrit_NSE.R
+++ b/R/ErrorCrit_NSE.R
@@ -1,4 +1,4 @@
-ErrorCrit_NSE <- function(InputsCrit,OutputsModel, verbose = TRUE){
+ErrorCrit_NSE <- function(InputsCrit,OutputsModel, warnings = TRUE, verbose = TRUE){
 
 
 ##Arguments_check________________________________
@@ -43,12 +43,12 @@ ErrorCrit_NSE <- function(InputsCrit,OutputsModel, verbose = TRUE){
   if(inherits(OutputsModel,"daily"  )){ WarningTS <- 365; }
   if(inherits(OutputsModel,"monthly")){ WarningTS <-  12; }
   if(inherits(OutputsModel,"yearly" )){ WarningTS <-   3; }
-  if(sum(!TS_ignore)<WarningTS & verbose){ warning(paste("\t criterion computed on less than ",WarningTS," time-steps \n",sep="")); }
+  if(sum(!TS_ignore)<WarningTS & warnings){ warning("\t criterion computed on less than ", WarningTS, " time-steps") }
   ##Other_variables_preparation
   meanVarObs <- mean(VarObs[!TS_ignore]);
   meanVarSim <- mean(VarSim[!TS_ignore]);
-
-
+  
+  
 ##ErrorCrit______________________________________
   Emod <- sum((VarSim[!TS_ignore]-VarObs[!TS_ignore])^2);
   Eref <- sum((VarObs[!TS_ignore]-mean(VarObs[!TS_ignore]))^2);
@@ -56,10 +56,17 @@ ErrorCrit_NSE <- function(InputsCrit,OutputsModel, verbose = TRUE){
   if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; }
 
 
+##Verbose______________________________________
+  if(verbose) {
+    message("Crit. ", CritName, " = ", sprintf("%.4f", CritValue))
+  }
+  
+  
 ##Output_________________________________________
-  OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,Ind_TS_ignore);
-  names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed");
-  return(OutputsCrit);
+  OutputsCrit <- list(CritValue = CritValue, CritName = CritName,
+                      CritBestValue = CritBestValue,
+                      Multiplier = Multiplier, Ind_notcomputed = Ind_TS_ignore)
+  return(OutputsCrit)
 
 }
 
diff --git a/R/ErrorCrit_RMSE.R b/R/ErrorCrit_RMSE.R
index 69c3729b990f5312f15f53f33a25783102855670..c0c6731913e90fe51ab757c41d035edaee7795c9 100644
--- a/R/ErrorCrit_RMSE.R
+++ b/R/ErrorCrit_RMSE.R
@@ -1,4 +1,4 @@
-ErrorCrit_RMSE <- function(InputsCrit,OutputsModel, verbose = TRUE){
+ErrorCrit_RMSE <- function(InputsCrit,OutputsModel, warnings = TRUE, verbose = TRUE){
 
 
 ##Arguments_check________________________________
@@ -44,20 +44,26 @@ ErrorCrit_RMSE <- function(InputsCrit,OutputsModel, verbose = TRUE){
   if(inherits(OutputsModel,"daily"  )){ WarningTS <- 365; }
   if(inherits(OutputsModel,"monthly")){ WarningTS <-  12; }
   if(inherits(OutputsModel,"yearly" )){ WarningTS <-   3; }
-  if(sum(!TS_ignore)<WarningTS & verbose){ warning(paste("\t criterion computed on less than ",WarningTS," time-steps \n",sep="")); }
-
+  if(sum(!TS_ignore)<WarningTS & warnings){ warning("\t criterion computed on less than ", WarningTS, " time-steps") }
 
+  
 ##ErrorCrit______________________________________
   Numer <- sum((VarSim-VarObs)^2,na.rm=TRUE);
   Denom <- sum(!is.na(VarObs));
   if(Numer==0){ Crit <- 0; } else { Crit <- sqrt(Numer/Denom); }
   if(is.numeric(Crit) & is.finite(Crit)){ CritValue <- Crit; }
-
-
+  
+  
+##Verbose______________________________________
+  if(verbose) {
+    message("Crit. ", CritName, " = ", sprintf("%.4f", CritValue))
+  }
+  
+  
 ##Output_________________________________________
-  OutputsCrit <- list(CritValue,CritName,CritBestValue,Multiplier,Ind_TS_ignore);
-  names(OutputsCrit) <- c("CritValue","CritName","CritBestValue","Multiplier","Ind_notcomputed");
-  return(OutputsCrit);
+  OutputsCrit <- list(CritValue = CritValue, CritName = CritName, CritBestValue = CritBestValue,
+                      Multiplier = Multiplier, Ind_notcomputed = Ind_TS_ignore)
+  return(OutputsCrit)
 
 }