Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
HYCAR-Hydro
airGR
Commits
b34b5d06
Commit
b34b5d06
authored
Feb 15, 2019
by
Delaigue Olivier
Browse files
v1.2.2.0 NEW: add TransfoParam_CemaNeigeHyst fun to use hysteresis in CemaNeige #5252
parent
eb2c2a4b
Changes
3
Hide whitespace changes
Inline
Side-by-side
DESCRIPTION
View file @
b34b5d06
Package: airGR
Type: Package
Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
Version: 1.2.
1.1
Date: 2019-0
1-30
Version: 1.2.
2.0
Date: 2019-0
2-15
Authors@R: c(
person("Laurent", "Coron", role = c("aut", "trl"), comment = c(ORCID = "0000-0002-1503-6204")),
person("Charles", "Perrin", role = c("aut", "ths"), comment = c(ORCID = "0000-0001-8552-1881")),
...
...
NEWS.rmd
View file @
b34b5d06
...
...
@@ -13,7 +13,7 @@ output:
### 1.2.
1.1
Release Notes (2019-01-30)
### 1.2.
2.0
Release Notes (2019-01-30)
...
...
R/TransfoParam_CemaNeigeHyst.R
0 → 100644
View file @
b34b5d06
TransfoParam_CemaNeigeHyst
<-
function
(
ParamIn
,
Direction
)
{
NParam
<-
4L
## check_arguments
Bool
<-
is.vector
(
ParamIn
)
if
(
Bool
)
{
ParamIn
<-
matrix
(
ParamIn
,
nrow
=
1
)
warning
(
"'ParamIn' automatically convert to 'matrix'"
)
}
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 CemaNeige module with hysteresis requires %i parameters"
,
NParam
))
}
if
(
Direction
==
"TR"
)
{
ParamOut
<-
ParamIn
ParamOut
[,
1
]
<-
(
ParamIn
[,
1
]
+
9.99
)
/
19.98
### CemaNeige X1 (weighting coefficient for snow pack thermal state)
ParamOut
[,
2
]
<-
exp
(
ParamIn
[,
2
])
/
200
### CemaNeige X2 (degree-day melt coefficient)
ParamOut
[,
3
]
<-
(
ParamIn
[,
3
]
*
5
)
+
50
### Hyst Gaccum
ParamOut
[,
4
]
<-
(
ParamIn
[,
4
]
/
19.98
)
+
0.5
### Hyst CV
}
if
(
Direction
==
"RT"
)
{
ParamOut
<-
ParamIn
ParamOut
[,
1
]
<-
ParamIn
[,
1
]
*
19.98
-
9.99
### CemaNeige X1 (weighting coefficient for snow pack thermal state)
ParamOut
[,
2
]
<-
log
(
ParamIn
[,
2
]
*
200
)
### CemaNeige X2 (degree-day melt coefficient)
ParamOut
[,
3
]
<-
(
ParamIn
[,
3
]
-
50
)
/
5
### Hyst Gaccum
ParamOut
[,
4
]
<-
(
ParamIn
[,
4
]
-
0.5
)
*
19.98
### Hyst CV
}
if
(
Bool
)
{
ParamOut
<-
as.vector
(
ParamOut
)
}
return
(
ParamOut
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment