From 5dce7a71cd3e2af264e4472812d8c822e160d19b Mon Sep 17 00:00:00 2001 From: unknown <olivier.delaigue@ANPI1430.antony.irstea.priv> Date: Thu, 22 Jun 2017 15:47:31 +0200 Subject: [PATCH] v1.0.9.0 bug fixed with in RunModel_CemaNeige* when CreateIniStates is called #4422 --- DESCRIPTION | 2 +- R/RunModel_CemaNeigeGR4J.R | 22 ++++++++++++---------- R/RunModel_CemaNeigeGR5J.R | 14 ++++++++------ R/RunModel_CemaNeigeGR6J.R | 14 ++++++++------ R/RunModel_GR1A.R | 7 ++++--- R/RunModel_GR2M.R | 20 ++++++++++++-------- R/RunModel_GR4H.R | 20 ++++++++++++-------- R/RunModel_GR4J.R | 19 +++++++++++-------- R/RunModel_GR5J.R | 20 ++++++++++++-------- R/RunModel_GR6J.R | 20 ++++++++++++-------- 10 files changed, 92 insertions(+), 66 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1a0743c6..04e9dc37 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.8.9 +Version: 1.0.9.0 Date: 2017-06-22 Authors@R: c( person("Laurent", "Coron", role = c("aut", "trl")), diff --git a/R/RunModel_CemaNeigeGR4J.R b/R/RunModel_CemaNeigeGR4J.R index 85ed537e..2001faed 100644 --- a/R/RunModel_CemaNeigeGR4J.R +++ b/R/RunModel_CemaNeigeGR4J.R @@ -3,8 +3,8 @@ RunModel_CemaNeigeGR4J <- function(InputsModel,RunOptions,Param){ NParam <- 6; FortranOutputsCemaNeige <- c("Pliq","Psol","SnowPack","ThermalState","Gratio","PotMelt","Melt","PliqAndMelt", "Temp"); FortranOutputsMod <- c("PotEvap", "Precip", "Prod", "Pn", "Ps", "AE", "Perc", "PR", "Q9", "Q1", "Rout", "Exch", - "AExch1", "AExch2", "AExch", "QR", "QD", "Qsim"); - + "AExch1", "AExch2", "AExch", "QR", "QD", "Qsim"); + ##Arguments_check if(inherits(InputsModel,"InputsModel")==FALSE){ stop("InputsModel must be of class 'InputsModel' \n"); return(NULL); } if(inherits(InputsModel,"daily" )==FALSE){ stop("InputsModel must be of class 'daily' \n"); return(NULL); } @@ -45,7 +45,7 @@ RunModel_CemaNeigeGR4J <- function(InputsModel,RunOptions,Param){ ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; - + ##SNOW_MODULE________________________________________________________________________________## if(RunOptions$RunSnowModule==TRUE){ if("all" %in% RunOptions$Outputs_Sim){ IndOutputsCemaNeige <- as.integer(1:length(FortranOutputsCemaNeige)); @@ -74,8 +74,8 @@ RunModel_CemaNeigeGR4J <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - + ##Data_storage CemaNeigeLayers[[iLayer]] <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); names(CemaNeigeLayers[[iLayer]]) <- FortranOutputsCemaNeige[IndOutputsCemaNeige]; @@ -121,12 +121,14 @@ RunModel_CemaNeigeGR4J <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_CemaNeigeGR4J, InputsModel = InputsModel, - ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, - UH1 = RESULTS$StateEnd[(1:20)+7], UH2 = RESULTS$StateEnd[(1:40)+(7+20)], - GCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 1]], - eTGCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 0]], - verbose = FALSE) + if (ExportStateEnd) { + RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_CemaNeigeGR4J, InputsModel = InputsModel, + ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, + UH1 = RESULTS$StateEnd[(1:20)+7], UH2 = RESULTS$StateEnd[(1:40)+(7+20)], + GCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 1]], + eTGCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 0]], + verbose = FALSE) + } if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } diff --git a/R/RunModel_CemaNeigeGR5J.R b/R/RunModel_CemaNeigeGR5J.R index b0c9206d..3f2cbdd7 100644 --- a/R/RunModel_CemaNeigeGR5J.R +++ b/R/RunModel_CemaNeigeGR5J.R @@ -120,12 +120,14 @@ RunModel_CemaNeigeGR5J <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_CemaNeigeGR5J, InputsModel = InputsModel, - ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, - UH1 = NULL, UH2 = RESULTS$StateEnd[(1:40)+(7+20)], - GCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 1]], - eTGCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 0]], - verbose = FALSE) + if (ExportStateEnd) { + RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_CemaNeigeGR5J, InputsModel = InputsModel, + ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, + UH1 = NULL, UH2 = RESULTS$StateEnd[(1:40)+(7+20)], + GCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 1]], + eTGCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 0]], + verbose = FALSE) + } if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } diff --git a/R/RunModel_CemaNeigeGR6J.R b/R/RunModel_CemaNeigeGR6J.R index b8365fce..e7c7dbbe 100644 --- a/R/RunModel_CemaNeigeGR6J.R +++ b/R/RunModel_CemaNeigeGR6J.R @@ -126,12 +126,14 @@ RunModel_CemaNeigeGR6J <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_CemaNeigeGR6J, InputsModel = InputsModel, - ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = RESULTS$StateEnd[3L], - UH1 = RESULTS$StateEnd[(1:20)+7], UH2 = RESULTS$StateEnd[(1:40)+(7+20)], - GCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 1]], - eTGCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 0]], - verbose = FALSE) + if (ExportStateEnd) { + RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_CemaNeigeGR6J, InputsModel = InputsModel, + ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = RESULTS$StateEnd[3L], + UH1 = RESULTS$StateEnd[(1:20)+7], UH2 = RESULTS$StateEnd[(1:40)+(7+20)], + GCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 1]], + eTGCemaNeigeLayers = CemaNeigeStateEnd[seq_len(2*NLayers)[seq_len(2*NLayers) %%2 == 0]], + verbose = FALSE) + } if(RunOptions$RunSnowModule & "Precip" %in% RunOptions$Outputs_Sim){ RESULTS$Outputs[,which(FortranOutputsMod[IndOutputsMod]=="Precip")] <- InputsModel$Precip[IndPeriod1]; } diff --git a/R/RunModel_GR1A.R b/R/RunModel_GR1A.R index 07be9d0b..81f69207 100644 --- a/R/RunModel_GR1A.R +++ b/R/RunModel_GR1A.R @@ -20,6 +20,10 @@ RunModel_GR1A <- function(InputsModel,RunOptions,Param){ if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } + ##Output_data_preparation + IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; + ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; + ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; BOOL_Fortran <- FALSE; if(BOOL_Fortran){ ##Call_fortan @@ -56,9 +60,6 @@ RunModel_GR1A <- function(InputsModel,RunOptions,Param){ ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; ##OutputsModel_only if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); diff --git a/R/RunModel_GR2M.R b/R/RunModel_GR2M.R index 74b8ab3a..f767bd21 100644 --- a/R/RunModel_GR2M.R +++ b/R/RunModel_GR2M.R @@ -30,6 +30,11 @@ RunModel_GR2M <- function(InputsModel,RunOptions,Param){ if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } + ##Output_data_preparation + IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; + ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; + ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; + ##Use_of_IniResLevels if(!is.null(RunOptions$IniResLevels)){ RunOptions$IniStates[1] <- RunOptions$IniResLevels[1]*Param[1]; ### production store level (mm) @@ -54,17 +59,16 @@ RunModel_GR2M <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs [round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR2M, InputsModel = InputsModel, - ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, - UH1 = NULL, UH2 = NULL, - GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, - verbose = FALSE) + if (ExportStateEnd) { + RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR2M, InputsModel = InputsModel, + ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, + UH1 = NULL, UH2 = NULL, + GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, + verbose = FALSE) + } ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; ##OutputsModel_only if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); diff --git a/R/RunModel_GR4H.R b/R/RunModel_GR4H.R index eab3cc3a..81324211 100644 --- a/R/RunModel_GR4H.R +++ b/R/RunModel_GR4H.R @@ -35,6 +35,11 @@ RunModel_GR4H <- function(InputsModel,RunOptions,Param){ if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } + ##Output_data_preparation + IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; + ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; + ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; + ##Use_of_IniResLevels if(!is.null(RunOptions$IniResLevels)){ RunOptions$IniStates[1] <- RunOptions$IniResLevels[1]*Param[1]; ### production store level (mm) @@ -59,16 +64,15 @@ RunModel_GR4H <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR4H, InputsModel = InputsModel, - ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, - UH1 = RESULTS$StateEnd[(1:(20*24))+7], UH2 = RESULTS$StateEnd[(1:(40*24))+(7+20*24)], - GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, - verbose = FALSE) + if (ExportStateEnd) { + RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR4H, InputsModel = InputsModel, + ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, + UH1 = RESULTS$StateEnd[(1:(20*24))+7], UH2 = RESULTS$StateEnd[(1:(40*24))+(7+20*24)], + GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, + verbose = FALSE) + } ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; ##OutputsModel_only if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); diff --git a/R/RunModel_GR4J.R b/R/RunModel_GR4J.R index 151032ad..c7701e60 100644 --- a/R/RunModel_GR4J.R +++ b/R/RunModel_GR4J.R @@ -35,6 +35,10 @@ RunModel_GR4J <- function(InputsModel,RunOptions,Param){ LInputSeries <- as.integer(length(IndPeriod1)) if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } + ##Input_data_preparation + IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; + ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; + ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; ##Use_of_IniResLevels if(!is.null(RunOptions$IniResLevels)){ @@ -60,16 +64,15 @@ RunModel_GR4J <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR4J, InputsModel = InputsModel, - ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, - UH1 = RESULTS$StateEnd[(1:20)+7], UH2 = RESULTS$StateEnd[(1:40)+(7+20)], - GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, - verbose = FALSE) + if (ExportStateEnd) { + RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR4J, InputsModel = InputsModel, + ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, + UH1 = RESULTS$StateEnd[(1:20)+7], UH2 = RESULTS$StateEnd[(1:40)+(7+20)], + GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, + verbose = FALSE) + } ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; ##OutputsModel_only if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); diff --git a/R/RunModel_GR5J.R b/R/RunModel_GR5J.R index ac5b26b5..d12be255 100644 --- a/R/RunModel_GR5J.R +++ b/R/RunModel_GR5J.R @@ -36,6 +36,11 @@ RunModel_GR5J <- function(InputsModel,RunOptions,Param){ if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } + ##Output_data_preparation + IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; + ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; + ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; + ##Use_of_IniResLevels if(!is.null(RunOptions$IniResLevels)){ RunOptions$IniStates[1] <- RunOptions$IniResLevels[1]*Param[1]; ### production store level (mm) @@ -60,16 +65,15 @@ RunModel_GR5J <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR5J, InputsModel = InputsModel, - ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, - UH1 = NULL, UH2 = RESULTS$StateEnd[(1:40)+(7+20)], - GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, - verbose = FALSE) + if (ExportStateEnd) { + RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR5J, InputsModel = InputsModel, + ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = NULL, + UH1 = NULL, UH2 = RESULTS$StateEnd[(1:40)+(7+20)], + GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, + verbose = FALSE) + } ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; ##OutputsModel_only if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); diff --git a/R/RunModel_GR6J.R b/R/RunModel_GR6J.R index 6e936306..d65e80a4 100644 --- a/R/RunModel_GR6J.R +++ b/R/RunModel_GR6J.R @@ -40,6 +40,11 @@ RunModel_GR6J <- function(InputsModel,RunOptions,Param){ if("all" %in% RunOptions$Outputs_Sim){ IndOutputs <- as.integer(1:length(FortranOutputs)); } else { IndOutputs <- which(FortranOutputs %in% RunOptions$Outputs_Sim); } + ##Output_data_preparation + IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; + ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; + ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; + ##Use_of_IniResLevels if(!is.null(RunOptions$IniResLevels)){ RunOptions$IniStates[1] <- RunOptions$IniResLevels[1]*Param[1]; ### production store level (mm) @@ -65,16 +70,15 @@ RunModel_GR6J <- function(InputsModel,RunOptions,Param){ ) RESULTS$Outputs[ round(RESULTS$Outputs ,3)==(-999.999)] <- NA; RESULTS$StateEnd[round(RESULTS$StateEnd,3)==(-999.999)] <- NA; - RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR6J, InputsModel = InputsModel, - ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = RESULTS$StateEnd[3L], - UH1 = RESULTS$StateEnd[(1:20)+7], UH2 = RESULTS$StateEnd[(1:40)+(7+20)], - GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, - verbose = FALSE) + if (ExportStateEnd) { + RESULTS$StateEnd <- CreateIniStates(FUN_MOD = RunModel_GR6J, InputsModel = InputsModel, + ProdStore = RESULTS$StateEnd[1L], RoutStore = RESULTS$StateEnd[2L], ExpStore = RESULTS$StateEnd[3L], + UH1 = RESULTS$StateEnd[(1:20)+7], UH2 = RESULTS$StateEnd[(1:40)+(7+20)], + GCemaNeigeLayers = NULL, eTGCemaNeigeLayers = NULL, + verbose = FALSE) + } ##Output_data_preparation - IndPeriod2 <- (length(RunOptions$IndPeriod_WarmUp)+1):LInputSeries; - ExportDatesR <- "DatesR" %in% RunOptions$Outputs_Sim; - ExportStateEnd <- "StateEnd" %in% RunOptions$Outputs_Sim; ##OutputsModel_only if(ExportDatesR==FALSE & ExportStateEnd==FALSE){ OutputsModel <- lapply(seq_len(RESULTS$NOutputs), function(i) RESULTS$Outputs[IndPeriod2,i]); -- GitLab