diff --git a/DESCRIPTION b/DESCRIPTION
index 55ef8d8a03f4c4192a7c5be1eecec8bc75f2a28b..2f60741d8208c93e91ccf9b6721216b14694eae8 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: airGR
 Type: Package
 Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
-Version: 1.0.13.1
+Version: 1.0.13.2
 Date: 2018-08-29
 Authors@R: c(
   person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")),
diff --git a/NEWS.rmd b/NEWS.rmd
index 45b8d87399daf6ecccabc11322a3ad6723980394..9a0e80b44042f8a674b7faf14644110bd85a20f5 100644
--- a/NEWS.rmd
+++ b/NEWS.rmd
@@ -14,7 +14,7 @@ output:
 
 
 
-### 1.0.13.1 Release Notes (2018-08-29) 
+### 1.0.13.2 Release Notes (2018-08-29) 
 
 
 #### Deprectated and defunct
diff --git a/R/ErrorCrit_KGE2.R b/R/ErrorCrit_KGE2.R
index 69516eb98ad2df78326ec14dac27674a830e6632..11ef1c18882ecce523cdd7ebbf48371f2d7ebfd1 100644
--- a/R/ErrorCrit_KGE2.R
+++ b/R/ErrorCrit_KGE2.R
@@ -1,111 +1,214 @@
-ErrorCrit_KGE2 <- function(InputsCrit,OutputsModel, warnings = TRUE, verbose = TRUE){
-
-
-##Arguments_check________________________________
-  if(inherits(InputsCrit,"InputsCrit")==FALSE){ stop("InputsCrit must be of class 'InputsCrit' \n"); return(NULL); }  
-  if(inherits(OutputsModel,"OutputsModel")==FALSE){ stop("OutputsModel must be of class 'OutputsModel' \n"); return(NULL); }  
-
-
-##Initialisation_________________________________
-  CritName <- NA;
-  if(InputsCrit$transfo==""    ){ CritName <- "KGE'[Q]"      ; }
-  if(InputsCrit$transfo=="sqrt"){ CritName <- "KGE'[sqrt(Q)]"; }
-  if(InputsCrit$transfo=="log" ){ CritName <- "KGE'[log(Q)]" ; }
-  if(InputsCrit$transfo=="inv" ){ CritName <- "KGE'[1/Q]"    ; }
-  if(InputsCrit$transfo=="sort"){ CritName <- "KGE'[sort(Q)]"; }
-  CritValue       <- NA;
-  CritBestValue   <- +1;
-  Multiplier      <- -1; ### must be equal to -1 or +1 only
-
-
-##Data_preparation_______________________________
-  VarObs <- InputsCrit$Qobs  ; VarObs[!InputsCrit$BoolCrit] <- NA; 
-  VarSim <- OutputsModel$Qsim; VarSim[!InputsCrit$BoolCrit] <- NA;  
-  ##Data_transformation
-  if("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)){ if(length(InputsCrit$Ind_zeroes)>0){
-    VarObs <- VarObs + InputsCrit$epsilon;
-    VarSim <- VarSim + InputsCrit$epsilon;
-  } }
-  if(InputsCrit$transfo=="sqrt"){ VarObs <- sqrt(VarObs); VarSim <- sqrt(VarSim); }
-  if(InputsCrit$transfo=="log" ){ VarObs <- log(VarObs) ; VarSim <- log(VarSim) ; VarSim[VarSim      < -1E100] <- NA; }
-  if(InputsCrit$transfo=="inv" ){ VarObs <- 1/VarObs    ; VarSim <- 1/VarSim    ; VarSim[abs(VarSim) > 1E+100] <- NA; }
-  if(InputsCrit$transfo=="sort"){
-	VarSim[is.na(VarObs)] <- NA
-	VarSim <- sort(VarSim, na.last = TRUE)
-	VarObs <- sort(VarObs, na.last = TRUE)
-	InputsCrit$BoolCrit <- sort(InputsCrit$BoolCrit, decreasing = TRUE)
-  }
-  ##TS_ignore
-  TS_ignore <- !is.finite(VarObs) | !is.finite(VarSim) | !InputsCrit$BoolCrit ;
-  Ind_TS_ignore <- which(TS_ignore); if(length(Ind_TS_ignore)==0){ Ind_TS_ignore <- NULL; }
-  if(sum(!TS_ignore)==0){ OutputsCrit <- list(NA); names(OutputsCrit) <- c("CritValue"); return(OutputsCrit); }
-  if(sum(!TS_ignore)==1){ OutputsCrit <- list(NA); names(OutputsCrit) <- c("CritValue"); return(OutputsCrit); } ### to avoid a problem in standard deviation computation
-  if(inherits(OutputsModel,"hourly" )){ WarningTS <- 365; }
-  if(inherits(OutputsModel,"daily"  )){ WarningTS <- 365; }
-  if(inherits(OutputsModel,"monthly")){ WarningTS <-  12; }
-  if(inherits(OutputsModel,"yearly" )){ WarningTS <-   3; }
-  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]);
-  iCrit           <- 0
-  SubCritPrint    <- NULL
-  SubCritNames    <- NULL
-  SubCritValues   <- NULL
-
-
-##SubErrorCrit_____KGE_rPearson__________________
-  iCrit <- iCrit+1;
-  SubCritPrint[iCrit]  <- paste(CritName," cor(sim, obs, \"pearson\") =", sep = "")
-  SubCritNames[iCrit]  <- "r"
-  SubCritValues[iCrit] <- NA;
-  Numer <- sum( (VarObs[!TS_ignore]-meanVarObs)*(VarSim[!TS_ignore]-meanVarSim) );
-  Deno1 <- sqrt( sum((VarObs[!TS_ignore]-meanVarObs)^2) );
-  Deno2 <- sqrt( sum((VarSim[!TS_ignore]-meanVarSim)^2) );
-  if(Numer==0){ if(Deno1==0 & Deno2==0){ Crit <- 1; } else { Crit <- 0; } 
-  } else { Crit  <- Numer/(Deno1*Deno2); }
-  if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
-
-
-##SubErrorCrit_____KGE_gamma______________________
-  iCrit <- iCrit+1;
-  SubCritPrint[iCrit]  <-  paste(CritName," cv(sim)/cv(obs)          =", sep = "")
-  SubCritNames[iCrit]  <- "gamma"
-  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; }
-  if(CVsim==0 & CVobs==0){ Crit <- 1; } else { Crit <- CVsim/CVobs ; }
-  if(is.numeric(Crit) & is.finite(Crit)){ SubCritValues[iCrit] <- Crit; }
-
-
-##SubErrorCrit_____KGE_beta______________________
-  iCrit <- iCrit+1;
-  SubCritPrint[iCrit]  <-  paste(CritName," mean(sim)/mean(obs)      =", sep = "")
-  SubCritNames[iCrit]  <- "beta"
-  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_KGE2 <- function(InputsCrit, OutputsModel, warnings = TRUE, verbose = TRUE) {
   
-##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.", SubCritPrint, sprintf("%.4f", SubCritValues), "\n", sep = " "))
+    ##Arguments_check________________________________
+    if (inherits(InputsCrit, "InputsCrit") == FALSE) {
+      stop("InputsCrit must be of class 'InputsCrit' \n")
+      return(NULL)
+    }
+    if (inherits(OutputsModel, "OutputsModel") == FALSE) {
+      stop("OutputsModel must be of class 'OutputsModel' \n")
+      return(NULL)
+    }
+    
+    
+    ##Initialisation_________________________________
+    CritName <- NA
+    if (InputsCrit$transfo == "") {
+      CritName <- "KGE'[Q]"
+    }
+    if (InputsCrit$transfo == "sqrt") {
+      CritName <- "KGE'[sqrt(Q)]"
+    }
+    if (InputsCrit$transfo == "log") {
+      CritName <- "KGE'[log(Q)]"
+    }
+    if (InputsCrit$transfo == "inv") {
+      CritName <- "KGE'[1/Q]"
+    }
+    if (InputsCrit$transfo == "sort") {
+      CritName <- "KGE'[sort(Q)]"
+    }
+    CritValue       <- NA
+    CritBestValue   <- +1
+    Multiplier      <- -1
+    ### must be equal to -1 or +1 only
+    
+    
+    ##Data_preparation_______________________________
+    VarObs <- InputsCrit$Qobs
+    VarObs[!InputsCrit$BoolCrit] <- NA
+    VarSim <- OutputsModel$Qsim
+    VarSim[!InputsCrit$BoolCrit] <- NA
+    
+    ##Data_transformation
+    if ("Ind_zeroes" %in% names(InputsCrit) & "epsilon" %in% names(InputsCrit)) {
+      if (length(InputsCrit$Ind_zeroes) > 0) {
+        VarObs <- VarObs + InputsCrit$epsilon
+        VarSim <- VarSim + InputsCrit$epsilon
+      }
+    }
+    if (InputsCrit$transfo == "sqrt") {
+      VarObs <- sqrt(VarObs)
+      VarSim <- sqrt(VarSim)
+    }
+    if (InputsCrit$transfo == "log") {
+      VarObs <- log(VarObs)
+      VarSim <- log(VarSim)
+      VarSim[VarSim      < -1e100] <- NA
+    }
+    if (InputsCrit$transfo == "inv") {
+      VarObs <- 1 / VarObs
+      VarSim <- 1 / VarSim
+      VarSim[abs(VarSim) > 1e+100] <- NA
+    }
+    if (InputsCrit$transfo == "sort") {
+      VarSim[is.na(VarObs)] <- NA
+      VarSim <- sort(VarSim, na.last = TRUE)
+      VarObs <- sort(VarObs, na.last = TRUE)
+      InputsCrit$BoolCrit <- sort(InputsCrit$BoolCrit, decreasing = TRUE)
+    }
+    
+    ##TS_ignore
+    TS_ignore <- !is.finite(VarObs) | !is.finite(VarSim) | !InputsCrit$BoolCrit
+    Ind_TS_ignore <- which(TS_ignore)
+    if (length(Ind_TS_ignore) == 0) {
+      Ind_TS_ignore <- NULL
+    }
+    if (sum(!TS_ignore) == 0) {
+      OutputsCrit <- list(NA)
+      names(OutputsCrit) <- c("CritValue")
+      return(OutputsCrit)
+    }
+    if (sum(!TS_ignore) == 1) {
+      OutputsCrit <- list(NA)
+      names(OutputsCrit) <- c("CritValue")
+      return(OutputsCrit)
+    } ### to avoid a problem in standard deviation computation
+    if (inherits(OutputsModel, "hourly")) {
+      WarningTS <- 365
+    }
+    if (inherits(OutputsModel, "daily")) {
+      WarningTS <- 365
+    }
+    if (inherits(OutputsModel, "monthly")) {
+      WarningTS <-  12
+    }
+    if (inherits(OutputsModel, "yearly")) {
+      WarningTS <-   3
+    }
+    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])
+    
+    iCrit           <- 0
+    SubCritPrint    <- NULL
+    SubCritNames    <- NULL
+    SubCritValues   <- NULL
+    
+    
+    ##SubErrorCrit_____KGE_rPearson__________________
+    iCrit <- iCrit + 1
+    SubCritPrint[iCrit]  <- paste(CritName, " cor(sim, obs, \"pearson\") =", sep = "")
+    SubCritValues[iCrit] <- NA
+    SubCritNames[iCrit]  <- "r"
+    
+    Numer <- sum((VarObs[!TS_ignore] - meanVarObs) * (VarSim[!TS_ignore] - meanVarSim))
+    Deno1 <- sqrt(sum((VarObs[!TS_ignore] - meanVarObs)^2))
+    Deno2 <- sqrt(sum((VarSim[!TS_ignore] - meanVarSim)^2))
+    
+    if (Numer == 0) {
+      if (Deno1 == 0 & Deno2 == 0) {
+        Crit <- 1
+      } else {
+        Crit <- 0
+      }
+    } else {
+      Crit  <- Numer / (Deno1 * Deno2)
+    }
+    if (is.numeric(Crit) & is.finite(Crit)) {
+      SubCritValues[iCrit] <- Crit
+    }
+    
+    
+    ##SubErrorCrit_____KGE_gamma______________________
+    iCrit <- iCrit + 1
+    SubCritPrint[iCrit]  <- paste(CritName, " cv(sim)/cv(obs)          =", sep = "")
+    SubCritValues[iCrit] <- NA
+    SubCritNames[iCrit]  <- "gamma"
+    
+    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
+    }
+    if (CVsim == 0 &
+        CVobs == 0) {
+      Crit <- 1
+    } else {
+      Crit <- CVsim / CVobs
+    }
+    if (is.numeric(Crit) & is.finite(Crit)) {
+      SubCritValues[iCrit] <- Crit
+    }
+    
+    
+    ##SubErrorCrit_____KGE_beta______________________
+    iCrit <- iCrit + 1
+    SubCritPrint[iCrit]  <- paste(CritName, " mean(sim)/mean(obs)      =", sep = "")
+    SubCritValues[iCrit] <- NA
+    SubCritNames[iCrit]  <- "beta"
+    
+    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.", SubCritPrint, sprintf("%.4f", SubCritValues), "\n", sep = " "))
+    }
+    
+    
+    ##Output_________________________________________
+    OutputsCrit <- list(CritValue       = CritValue,
+                        CritName        = CritName,
+                        SubCritValues   = SubCritValues,
+                        SubCritNames    = SubCritNames,
+                        CritBestValue   = CritBestValue,
+                        Multiplier      = Multiplier,
+                        Ind_notcomputed = Ind_TS_ignore
+    )
+    return(OutputsCrit)
+    
   }
-  
-
-##Output_________________________________________
-  OutputsCrit <- list(CritValue = CritValue, CritName = CritName,
-                      SubCritValues = SubCritValues, SubCritNames = SubCritNames, CritBestValue = CritBestValue,
-                      Multiplier = Multiplier, Ind_notcomputed = Ind_TS_ignore)
-  return(OutputsCrit)
-
-}
-
-