diff --git a/DESCRIPTION b/DESCRIPTION index 0960499de836f9992a02ab85b0ddff54f241e193..b0f49d47df5ccfe346fefabbe591103cfd1c9296 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.2.9.7 +Version: 1.2.9.8 Date: 2019-03-13 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 8e2f467f716888d27295cc157af268662f20ca9c..32e638f5e2402a5716de8f596e9ff6b113a71fae 100644 --- a/NEWS.rmd +++ b/NEWS.rmd @@ -13,7 +13,7 @@ output: -### 1.2.9.7 Release Notes (2019-03-13) +### 1.2.9.8 Release Notes (2019-03-13) diff --git a/R/TransfoParam_GR6J.R b/R/TransfoParam_GR6J.R index de3b8e08baac1231c6df1cf4b9504af270833ee1..fce777ce178cdcee0ccc4b009ff992b664be922f 100644 --- a/R/TransfoParam_GR6J.R +++ b/R/TransfoParam_GR6J.R @@ -1,31 +1,52 @@ -TransfoParam_GR6J <- function(ParamIn,Direction){ - - NParam <- 6; - Bool <- is.matrix(ParamIn); - if(Bool==FALSE){ ParamIn <- rbind(ParamIn); } - if(ncol(ParamIn)!=NParam){ stop(paste("the GR6J model requires ",NParam," parameters",sep="")) } - - if(Direction=="TR"){ - ParamOut <- ParamIn; - ParamOut[,1] <- exp(ParamIn[,1]); ### GR6J X1 (production store capacity) - ParamOut[,2] <- sinh(ParamIn[,2]); ### GR6J X2 (groundwater exchange coefficient 1) - ParamOut[,3] <- exp(ParamIn[,3]); ### GR6J X3 (routing store capacity) - ParamOut[,4] <- 20+19.5*(ParamIn[,4]-9.99)/19.98; ### GR6J X4 (unit hydrograph time constant) - ParamOut[,5] <- ParamIn[,5]/5.; ### GR5J X5 (groundwater exchange coefficient 2) - ParamOut[,6] <- exp(ParamIn[,6]); ### GR6J X6 (coefficient for emptying exponential store) - } - if(Direction=="RT"){ - ParamOut <- ParamIn; - ParamOut[,1] <- log(ParamIn[,1]); ### GR6J X1 (production store capacity) - ParamOut[,2] <- asinh(ParamIn[,2]); ### GR6J X2 (groundwater exchange coefficient 1) - ParamOut[,3] <- log(ParamIn[,3]); ### GR6J X3 (routing store capacity) - ParamOut[,4] <- 9.99+19.98*(ParamIn[,4]-20)/19.5; ### GR6J X4 (unit hydrograph time constant) - ParamOut[,5] <- ParamIn[,5] * 5.; ### GR5J X5 (groundwater exchange coefficient 2) - ParamOut[,6] <- log(ParamIn[,6]); ### GR6J X6 (coefficient for emptying exponential store) - } - - if(Bool==FALSE){ ParamOut <- ParamOut[1,]; } - return(ParamOut); - +TransfoParam_GR6J <- function(ParamIn, Direction) { + + NParam <- 6 + + Bool <- is.matrix(ParamIn) + + if (Bool == FALSE) { + ParamIn <- rbind(ParamIn) + } + if (ncol(ParamIn) != NParam) { + stop(sprintf("the GR6J model requires %i parameters", NParam)) + } + + if (Direction == "TR") { + ParamOut <- ParamIn + + ParamOut[, 1] <- exp(ParamIn[, 1]) + ### GR6J X1 (production store capacity) + ParamOut[, 2] <- sinh(ParamIn[, 2]) + ### GR6J X2 (groundwater exchange coefficient 1) + ParamOut[, 3] <- exp(ParamIn[, 3]) + ### GR6J X3 (routing store capacity) + ParamOut[, 4] <- 20 + 19.5 * (ParamIn[, 4] - 9.99) / 19.98 + ### GR6J X4 (unit hydrograph time constant) + ParamOut[, 5] <- ParamIn[, 5] / 5. + ### GR5J X5 (groundwater exchange coefficient 2) + ParamOut[, 6] <- exp(ParamIn[, 6]) + ### GR6J X6 (coefficient for emptying exponential store) + } + if (Direction == "RT") { + ParamOut <- ParamIn + + ParamOut[, 1] <- log(ParamIn[, 1]) + ### GR6J X1 (production store capacity) + ParamOut[, 2] <- asinh(ParamIn[, 2]) + ### GR6J X2 (groundwater exchange coefficient 1) + ParamOut[, 3] <- log(ParamIn[, 3]) + ### GR6J X3 (routing store capacity) + ParamOut[, 4] <- 9.99 + 19.98 * (ParamIn[, 4] - 20) / 19.5 + ### GR6J X4 (unit hydrograph time constant) + ParamOut[, 5] <- ParamIn[, 5] * 5. + ### GR5J X5 (groundwater exchange coefficient 2) + ParamOut[, 6] <- log(ParamIn[, 6]) + ### GR6J X6 (coefficient for emptying exponential store) + } + + if (Bool == FALSE) { + ParamOut <- ParamOut[1, ] + } + return(ParamOut) + } -