diff --git a/R/Calibration_Michel.R b/R/Calibration_Michel.R index 0dd1eec50da9aca74f4c9353c0b8e6c878d9207d..1ad475be2811e1dd7e47042362adabe31044c103 100644 --- a/R/Calibration_Michel.R +++ b/R/Calibration_Michel.R @@ -17,7 +17,7 @@ Calibration_Michel <- function(InputsModel, # Handling 'FUN_TRANSFO' from direct argument or provided by 'CaliOptions' if (!is.null(FUN_TRANSFO)) { FUN_TRANSFO <- match.fun(FUN_TRANSFO) - } else if(!is.null(CalibOptions$FUN_TRANSFO)) { + } else if (!is.null(CalibOptions$FUN_TRANSFO)) { FUN_TRANSFO <- CalibOptions$FUN_TRANSFO } else { stop("'FUN_TRANSFO' is not provided neither as 'FUN_TRANSFO' argument or in 'CaliOptions' argument") diff --git a/R/CreateCalibOptions.R b/R/CreateCalibOptions.R index 1d13f2ae29cf394512b220986941176b575b2bf5..f6d5ffb60c6ebb770d9fb0a3b0439d9df2885ad4 100644 --- a/R/CreateCalibOptions.R +++ b/R/CreateCalibOptions.R @@ -12,7 +12,7 @@ CreateCalibOptions <- function(FUN_MOD, FUN_MOD <- match.fun(FUN_MOD) FUN_CALIB <- match.fun(FUN_CALIB) - if(!is.null(FUN_TRANSFO)) { + if (!is.null(FUN_TRANSFO)) { FUN_TRANSFO <- match.fun(FUN_TRANSFO) } if (!is.logical(IsHyst) | length(IsHyst) != 1L) { diff --git a/R/CreateIniStates.R b/R/CreateIniStates.R index 6b311d414f2e3f5fd486056b5ace76e0b605c724..9fe48b137b3a9abbda09836d93f5907f1ec1fd39 100644 --- a/R/CreateIniStates.R +++ b/R/CreateIniStates.R @@ -153,19 +153,19 @@ CreateIniStates <- function(FUN_MOD, InputsModel, IsHyst = FALSE, IsIntStore = F } UH2 <- rep(Inf, UH2n) } - if(IsIntStore & is.null(IntStore)) { + if (IsIntStore & is.null(IntStore)) { stop(sprintf("'%s' need values for 'IntStore'", nameFUN_MOD)) } - if("CemaNeige" %in% ObjectClass & !IsHyst & + if ("CemaNeige" %in% ObjectClass & !IsHyst & (is.null(GCemaNeigeLayers) | is.null(eTGCemaNeigeLayers))) { stop(sprintf("'%s' need values for 'GCemaNeigeLayers' and 'GCemaNeigeLayers'", nameFUN_MOD)) } - if("CemaNeige" %in% ObjectClass & IsHyst & + if ("CemaNeige" %in% ObjectClass & IsHyst & (is.null(GCemaNeigeLayers) | is.null(eTGCemaNeigeLayers) | is.null(GthrCemaNeigeLayers) | is.null(GlocmaxCemaNeigeLayers))) { stop(sprintf("'%s' need values for 'GCemaNeigeLayers', 'GCemaNeigeLayers', 'GthrCemaNeigeLayers' and 'GlocmaxCemaNeigeLayers'", nameFUN_MOD)) } - if("CemaNeige" %in% ObjectClass & !IsHyst & + if ("CemaNeige" %in% ObjectClass & !IsHyst & (!is.null(GthrCemaNeigeLayers) | !is.null(GlocmaxCemaNeigeLayers))) { if (verbose) { warning(sprintf("'%s' does not require 'GthrCemaNeigeLayers' and 'GlocmaxCemaNeigeLayers'. Values set to NA", nameFUN_MOD)) @@ -173,7 +173,7 @@ CreateIniStates <- function(FUN_MOD, InputsModel, IsHyst = FALSE, IsIntStore = F GthrCemaNeigeLayers <- Inf GlocmaxCemaNeigeLayers <- Inf } - if(!"CemaNeige" %in% ObjectClass & + if (!"CemaNeige" %in% ObjectClass & (!is.null(GCemaNeigeLayers) | !is.null(eTGCemaNeigeLayers) | !is.null(GthrCemaNeigeLayers) | !is.null(GlocmaxCemaNeigeLayers))) { if (verbose) { warning(sprintf("'%s' does not require 'GCemaNeigeLayers' 'GCemaNeigeLayers', 'GthrCemaNeigeLayers' and 'GlocmaxCemaNeigeLayers'. Values set to NA", nameFUN_MOD)) @@ -186,7 +186,7 @@ CreateIniStates <- function(FUN_MOD, InputsModel, IsHyst = FALSE, IsIntStore = F ## set states - if("CemaNeige" %in% ObjectClass) { + if ("CemaNeige" %in% ObjectClass) { NLayers <- length(InputsModel$LayerPrecip) } else { NLayers <- 1 @@ -284,17 +284,17 @@ CreateIniStates <- function(FUN_MOD, InputsModel, IsHyst = FALSE, IsIntStore = F } # SD model state handling - if(!is.null(SD)) { - if(!inherits(InputsModel, "SD")) { + if (!is.null(SD)) { + if (!inherits(InputsModel, "SD")) { stop("'SD' argument provided and 'InputsModel' is not of class 'SD'") } - if(!is.list(SD)) { + if (!is.list(SD)) { stop("'SD' argument must be a list") } lapply(SD, function(x) { - if(!is.numeric(x)) stop("Each item of 'SD' list argument must be numeric") + if (!is.numeric(x)) stop("Each item of 'SD' list argument must be numeric") }) - if(length(SD) != length(InputsModel$LengthHydro)) { + if (length(SD) != length(InputsModel$LengthHydro)) { stop("Number of items of 'SD' list argument must be the same as the number of upstream connections", sprintf(" (%i required, found %i)", length(InputsModel$LengthHydro), length(SD))) } @@ -309,15 +309,15 @@ CreateIniStates <- function(FUN_MOD, InputsModel, IsHyst = FALSE, IsIntStore = F IniStatesNA[is.infinite(IniStatesNA)] <- NA IniStatesNA <- relist(IniStatesNA, skeleton = IniStates) - if(!is.null(SD)) { + if (!is.null(SD)) { IniStatesNA$SD <- SD } class(IniStatesNA) <- c("IniStates", ObjectClass) - if(IsHyst) { + if (IsHyst) { class(IniStatesNA) <- c(class(IniStatesNA), "hysteresis") } - if(IsIntStore) { + if (IsIntStore) { class(IniStatesNA) <- c(class(IniStatesNA), "interception") } diff --git a/R/CreateInputsCrit.R b/R/CreateInputsCrit.R index 56e1732b03f3781842908774c2c21a2d7ab25ad2..4107b328b4f37834caacd541adbc1adf2829f5b4 100644 --- a/R/CreateInputsCrit.R +++ b/R/CreateInputsCrit.R @@ -293,7 +293,7 @@ CreateInputsCrit <- function(FUN_CRIT, listVarObs <- sapply(InputsCrit, FUN = "[[", "VarObs") inCnVarObs <- c("SCA", "SWE") if (!"ZLayers" %in% names(InputsModel)) { - if(any(listVarObs %in% inCnVarObs)) { + if (any(listVarObs %in% inCnVarObs)) { stop(sprintf("'VarObs' can not be equal to %i if CemaNeige is not used", paste(sapply(inCnVarObs, shQuote), collapse = " or "))) } @@ -348,7 +348,7 @@ CreateInputsCrit <- function(FUN_CRIT, combInputsCrit <- combn(x = length(InputsCrit), m = 2) apply(combInputsCrit, MARGIN = 2, function(i) { equalInputsCrit <- identical(InputsCrit[[i[1]]], InputsCrit[[i[2]]]) - if(equalInputsCrit) { + if (equalInputsCrit) { warning(sprintf("elements %i and %i of the criteria list are identical. This might not be necessary", i[1], i[2]), call. = FALSE) } }) diff --git a/R/CreateInputsModel.R b/R/CreateInputsModel.R index 958d93ee5d39a125f49f94e81a23abcb4da64606..cd6d26e9cfa469abf661adb7bcfbd1237bd85cbd 100644 --- a/R/CreateInputsModel.R +++ b/R/CreateInputsModel.R @@ -153,10 +153,10 @@ CreateInputsModel <- function(FUN_MOD, if (nrow(Qupstream) != LLL) { stop("'Qupstream' must have same number of rows as 'DatesR' length") } - if(any(is.na(Qupstream))) { + if (any(is.na(Qupstream))) { warning("'Qupstream' contains NA values: model outputs will contain NAs") } - if(any(LengthHydro > 1000)) { + if (any(LengthHydro > 1000)) { warning("The unit of 'LengthHydro' has changed from m to km in airGR >= 1.6.12: values superior to 1000 km seem unrealistic") } QupstrUnit <- tolower(QupstrUnit) diff --git a/R/RunModel_CemaNeige.R b/R/RunModel_CemaNeige.R index ce2e4a6915b4a0b6f722294bc68b410cccfafeeb..a2aad9cec56aec3133671ea04b56a1b71c03d1d9 100644 --- a/R/RunModel_CemaNeige.R +++ b/R/RunModel_CemaNeige.R @@ -148,7 +148,7 @@ RunModel_CemaNeige <- function(InputsModel, RunOptions, Param) { ## End class(OutputsModel) <- c("OutputsModel", time_step, "CemaNeige") - if(IsHyst) { + if (IsHyst) { class(OutputsModel) <- c(class(OutputsModel), "hysteresis") } return(OutputsModel) diff --git a/R/RunModel_CemaNeigeGR4J.R b/R/RunModel_CemaNeigeGR4J.R index 74d93b176f2e058e9e0bd04a414800178089a057..34f15d5ea3c3a546e30a5de3b857c4484e315194 100644 --- a/R/RunModel_CemaNeigeGR4J.R +++ b/R/RunModel_CemaNeigeGR4J.R @@ -58,7 +58,7 @@ RunModel_CemaNeigeGR4J <- function(InputsModel, RunOptions, Param) { ## Call CemaNeige Fortran_________________________ - for(iLayer in 1:NLayers) { + for (iLayer in 1:NLayers) { if (!IsHyst) { StateStartCemaNeige <- RunOptions$IniStates[(7 + 20 + 40) + c(iLayer, iLayer+NLayers)] } else { diff --git a/R/RunModel_CemaNeigeGR5J.R b/R/RunModel_CemaNeigeGR5J.R index 4c1d509c810e0708546790dc436dd869f0790b71..cdc4faaeae4263dd5a54f3559f67ec7a35b4b899 100644 --- a/R/RunModel_CemaNeigeGR5J.R +++ b/R/RunModel_CemaNeigeGR5J.R @@ -56,7 +56,7 @@ RunModel_CemaNeigeGR5J <- function(InputsModel, RunOptions, Param) { ## Call CemaNeige Fortran_________________________ - for(iLayer in 1:NLayers) { + for (iLayer in 1:NLayers) { if (!IsHyst) { StateStartCemaNeige <- RunOptions$IniStates[(7 + 20 + 40) + c(iLayer, iLayer+NLayers)] } else { diff --git a/R/RunModel_CemaNeigeGR6J.R b/R/RunModel_CemaNeigeGR6J.R index 3388fe2b2e400172ee76412a7c536ce0244207ed..6199e4178d8e02f7ffd8930eee623105e8f3b51b 100644 --- a/R/RunModel_CemaNeigeGR6J.R +++ b/R/RunModel_CemaNeigeGR6J.R @@ -60,7 +60,7 @@ RunModel_CemaNeigeGR6J <- function(InputsModel, RunOptions, Param) { ## Call CemaNeige Fortran_________________________ - for(iLayer in 1:NLayers) { + for (iLayer in 1:NLayers) { if (!IsHyst) { StateStartCemaNeige <- RunOptions$IniStates[(7 + 20 + 40) + c(iLayer, iLayer+NLayers)] } else { diff --git a/R/RunModel_Lag.R b/R/RunModel_Lag.R index 28c1180e84461844e6dbbac58d219e83768d9479..593faacae1f34226858ca51aac57aa0ee6f4440e 100644 --- a/R/RunModel_Lag.R +++ b/R/RunModel_Lag.R @@ -77,7 +77,7 @@ RunModel_Lag <- function(InputsModel, RunOptions, Param, QcontribDown) { to = max(1, RunOptions$IndPeriod_WarmUp[length(RunOptions$IndPeriod_WarmUp)]) ) ini <- InputsModel$Qupstream[iWarmUp, iUpBasins] - if(length(ini) != floor(PT[iUpBasins] + 1)) { + if (length(ini) != floor(PT[iUpBasins] + 1)) { # If warm-up period is not enough long complete beginning with first value ini <- c(rep(ini[1], floor(PT[iUpBasins] + 1) - length(ini)), ini) } @@ -100,7 +100,7 @@ RunModel_Lag <- function(InputsModel, RunOptions, Param, QcontribDown) { # message("Qsim: ", paste(OutputsModel$Qsim, collapse = ", ")) # Warning for negative flows or NAs only in extended outputs - if(length(RunOptions$Outputs_Sim) > 2) { + if (length(RunOptions$Outputs_Sim) > 2) { if (any(OutputsModel$Qsim[!is.na(OutputsModel$Qsim)] < 0)) { warning(length(which(OutputsModel$Qsim < 0)), " time steps with negative flow, set to zero.") OutputsModel$Qsim[OutputsModel$Qsim < 0] <- 0 diff --git a/R/SeriesAggreg.data.frame.R b/R/SeriesAggreg.data.frame.R index f963a0540325f30772829a6ad1c67a0aa9fbcd9d..5a467039d1d6d2ee4da3dd99be7b6a8e5d236757 100644 --- a/R/SeriesAggreg.data.frame.R +++ b/R/SeriesAggreg.data.frame.R @@ -60,10 +60,10 @@ SeriesAggreg.data.frame <- function(x, lapply(ConvertFun, function(y) { if (!grepl("^q\\d+$", y, ignore.case = TRUE)) { TestOutput <- listConvertFun[[y]](1:10) - if(!is.numeric(TestOutput)) { + if (!is.numeric(TestOutput)) { stop(sprintf("Returned value of '%s' function should be numeric", y)) } - if(length(TestOutput) != 1) { + if (length(TestOutput) != 1) { stop(sprintf("Returned value of '%s' function should be of length 1", y)) } } diff --git a/R/Utils.R b/R/Utils.R index 27fad0b4c5715a4ce0a56d8f60a01f6354168039..53519abaed0773e224e4a87aa412a4bc70b4233e 100644 --- a/R/Utils.R +++ b/R/Utils.R @@ -3,7 +3,7 @@ ## function to check ## ================================================================================= -# .onLoad <- function(libname, pkgname){ +# .onLoad <- function(libname, pkgname) { # if (requireNamespace("airGRteaching", quietly = TRUE)) { # if (packageVersion("airGRteaching") %in% package_version(c("0.2.0.9", "0.2.2.2", "0.2.3.2"))) { # packageStartupMessage("In order to be compatible with the present version of 'airGR', please update your version of the 'airGRteaching' package.") diff --git a/R/UtilsSeriesAggreg.R b/R/UtilsSeriesAggreg.R index 9b47efac0bdc70bd1cabbf3cf6db3e6ed1c0603e..d8dff978a383ded8746fb438ca4276720c5901f1 100644 --- a/R/UtilsSeriesAggreg.R +++ b/R/UtilsSeriesAggreg.R @@ -53,7 +53,7 @@ iRes <- AggregConvertFunTable$ConvertFun[AggregConvertFunTable$x == iX] iRes <- ifelse(test = any(is.na(iRes)), yes = NA, no = iRes) # R < 4.0 compatibility }) - if(Format %in% c("%d", "%m")) { + if (Format %in% c("%d", "%m")) { res <- rep("mean", length(res)) } return(res) diff --git a/R/plot.OutputsModel.R b/R/plot.OutputsModel.R index 619e5ea9618613258f6f2d0928361468b89a29bd..17a616aeef224f1fdf7b594aa4800207ea84b29a 100644 --- a/R/plot.OutputsModel.R +++ b/R/plot.OutputsModel.R @@ -459,7 +459,7 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea = mar <- c(3, 5, 1, 5) par(new = FALSE, mar = mar) ylim1 <- c(+99999, -99999) - for(iLayer in 1:NLayers) { + for (iLayer in 1:NLayers) { ylim1[1] <- min(ylim1[1], OutputsModel$CemaNeigeLayers[[iLayer]]$Temp) ylim1[2] <- max(ylim1[2], OutputsModel$CemaNeigeLayers[[iLayer]]$Temp) if (iLayer == 1) { @@ -469,7 +469,7 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea = } } plot(SnowPackLayerMean[IndPeriod_Plot], type = "n", ylim = ylim1, xlab = "", ylab = "", xaxt = "n", yaxt = "n", ...) - for(iLayer in 1:NLayers) { + for (iLayer in 1:NLayers) { lines(OutputsModel$CemaNeigeLayers[[iLayer]]$Temp[IndPeriod_Plot], lty = 3, col = "orchid", lwd = lwd * lwdk * 0.8) } abline(h = 0, col = "grey", lty = 2) @@ -497,7 +497,7 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea = mar <- c(3, 5, 1, 5) par(new = FALSE, mar = mar) ylim1 <- c(+99999, -99999) - for(iLayer in 1:NLayers) { + for (iLayer in 1:NLayers) { ylim1[1] <- min(ylim1[1], OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack) ylim1[2] <- max(ylim1[2], OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack) if (iLayer == 1) { @@ -507,7 +507,7 @@ plot.OutputsModel <- function(x, Qobs = NULL, IndPeriod_Plot = NULL, BasinArea = } } plot(SnowPackLayerMean[IndPeriod_Plot], type = "l", ylim = ylim1, lwd = lwd * lwdk *1.2, col = "royalblue", xlab = "", ylab = "", xaxt = "n", yaxt = "n", ...) - for(iLayer in 1:NLayers) { + for (iLayer in 1:NLayers) { lines(OutputsModel$CemaNeigeLayers[[iLayer]]$SnowPack[IndPeriod_Plot], lty = 3, col = "royalblue", lwd = lwd * lwdk *0.8) } axis(side = 2, at = pretty(ylim1), labels = pretty(ylim1), cex.axis = cex.axis, ...) diff --git a/tests/testthat/helper_vignettes.R b/tests/testthat/helper_vignettes.R index 687101be34de23f4cdb031114a82d4a0ff4bd71f..98951fef380002bc1243e705ceaf2ac5c5d124a1 100644 --- a/tests/testthat/helper_vignettes.R +++ b/tests/testthat/helper_vignettes.R @@ -70,10 +70,10 @@ RunRmdChunks <- function(fileRmd, RunVignetteChunks <- function(vignette, tmpFolder = "../tmp", force.eval = TRUE) { - if(file.exists(sprintf("../../vignettes/%s.Rmd", vignette))) { + if (file.exists(sprintf("../../vignettes/%s.Rmd", vignette))) { # testthat context in development environnement RunRmdChunks(sprintf("../../vignettes/%s.Rmd", vignette), tmpFolder, force.eval) - } else if(file.exists(sprintf("vignettes/%s.Rmd", vignette))) { + } else if (file.exists(sprintf("vignettes/%s.Rmd", vignette))) { # context in direct run in development environnement RunRmdChunks(sprintf("vignettes/%s.Rmd", vignette), tmpFolder, force.eval) } else { diff --git a/tests/testthat/scheduled-Calibration.R b/tests/testthat/scheduled-Calibration.R index 673ad265893a3a76fd638857b1114c03bd88fa83..6b6b98b6a0426913d2b54c49283d2339c9b44f42 100644 --- a/tests/testthat/scheduled-Calibration.R +++ b/tests/testthat/scheduled-Calibration.R @@ -26,7 +26,7 @@ ModelCalibration <- function(model) { sModel <- paste0("RunModel_", model$name) sIM_FUN_MOD <- sModel - if(model$data == "L0123003") { + if (model$data == "L0123003") { # hourly time step database dates <- c("2004-01-01 00:00", "2004-12-31 23:00", "2005-01-01 00:00", "2008-12-31 23:00") date_format = "%Y-%m-%d %H:%M" @@ -35,7 +35,7 @@ ModelCalibration <- function(model) { # yearly, monthly, daily time step databases dates <- c("1985-01-01", "1985-12-31", "1986-01-01", "2012-12-31") date_format <- "%Y-%m-%d" - if(!is.na(model$aggreg)) { + if (!is.na(model$aggreg)) { # Aggregation on monthly and yearly databases sIM_FUN_MOD <- "RunModel_GR4J" # CreateInputsModel with daily data date_format <- model$aggreg @@ -44,7 +44,7 @@ ModelCalibration <- function(model) { ## loading catchment data data(list = model$data) - if(model$data != "L0123003") TempMean <- BasinObs$T + if (model$data != "L0123003") TempMean <- BasinObs$T # preparation of the InputsModel object InputsModel <- CreateInputsModel(FUN_MOD = sIM_FUN_MOD, @@ -56,7 +56,7 @@ ModelCalibration <- function(model) { HypsoData = BasinInfo$HypsoData, NLayers = 5) - if(!is.na(model$aggreg)) { + if (!is.na(model$aggreg)) { # conversion of InputsModel to target time step InputsModel <- SeriesAggreg(InputsModel, Format = model$aggreg)