Commit 9fa98153 authored by Hban Mesure's avatar Hban Mesure
Browse files

v1.4.1.0 NEW: add TransfoParam_GR5H fun in order to calibrate the GR5H model #13

Showing with 52 additions and 2 deletions
+52 -2
Package: airGR
Type: Package
Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
Version: 1.4.0.8
Version: 1.4.1.0
Date: 2019-12-05
Authors@R: c(
person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")),
......
......@@ -2,7 +2,7 @@
### 1.4.0.8 Release Notes (2019-12-05)
### 1.4.1.0 Release Notes (2019-12-05)
#### New features
......
TransfoParam_GR4H <- function(ParamIn, Direction) {
## number of model parameters
NParam <- 5L
## check arguments
isVecParamIn <- is.vector(ParamIn)
if (isVecParamIn) {
ParamIn <- matrix(ParamIn, nrow = 1)
}
if (!inherits(ParamIn, "matrix")) {
stop("'ParamIn' must be of class 'matrix'")
}
if (!inherits(Direction, "character") | length(Direction) != 1 | any(!Direction %in% c("RT", "TR"))) {
stop("'Direction' must be a character vector of length 1 equal to 'RT' or 'TR'")
}
if (ncol(ParamIn) != NParam) {
stop(sprintf("the GR5H model requires %i parameters", NParam))
}
## transformation
if(Direction=="TR"){
ParamOut <- ParamIn;
ParamOut[,1] <- exp(1.5*ParamIn[,1]); ### GR5H X1 (production store capacity)
ParamOut[,2] <- sinh(ParamIn[,2]); ### GR5H X2 (groundwater exchange coefficient)
ParamOut[,3] <- exp(ParamIn[,3]); ### GR5H X3 (routing store capacity)
ParamOut[,4] <- 480+(480-0.01)*(ParamIn[,4]-10)/20; ### GR5H X4 (unit hydrograph time constant)
ParamOut[,5] <- (ParamIn[,5]+10) / 20; ### GR5H X5 (groundwater exchange coefficient 2)
}
if(Direction=="RT"){
ParamOut <- ParamIn;
ParamOut[,1] <- log(ParamIn[,1])/1.5; ### GR5H X1 (production store capacity)
ParamOut[,2] <- asinh(ParamIn[,2]); ### GR5H X2 (groundwater exchange coefficient)
ParamOut[,3] <- log(ParamIn[,3]); ### GR5H X3 (routing store capacity)
ParamOut[,4] <- (ParamIn[,4]-480)*20/(480-0.01)+10; ### GR5H X4 (unit hydrograph time constant)
ParamOut[,5] <- ParamIn[,5]*20 - 10; ### GR5H X5 (groundwater exchange coefficient 2)
}
## check output
if (isVecParamIn) {
ParamOut <- as.vector(ParamOut)
}
return(ParamOut)
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment