From 7175007b3f7df633d60ebd0f1af4cb6721f45065 Mon Sep 17 00:00:00 2001 From: Delaigue Olivier <olivier.delaigue@irstea.priv> Date: Wed, 13 Mar 2019 09:08:26 +0100 Subject: [PATCH] v1.2.9.8 CLEAN: syntax revision of TransfoParam_GR6J --- DESCRIPTION | 2 +- NEWS.rmd | 2 +- R/TransfoParam_GR6J.R | 81 +++++++++++++++++++++++++++---------------- 3 files changed, 53 insertions(+), 32 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 0960499d..b0f49d47 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 8e2f467f..32e638f5 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 de3b8e08..fce777ce 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) + } - -- GitLab