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
d75dad9e
Commit
d75dad9e
authored
Jun 22, 2017
by
unknown
Browse files
v1.0.8.9 warning messages updated in CreateRunOptions
parent
ae762bd1
Changes
2
Hide whitespace changes
Inline
Side-by-side
DESCRIPTION
View file @
d75dad9e
Package: airGR
Type: Package
Title: Suite of GR Hydrological Models for Precipitation-Runoff Modelling
Version: 1.0.8.
8
Version: 1.0.8.
9
Date: 2017-06-22
Authors@R: c(
person("Laurent", "Coron", role = c("aut", "trl")),
...
...
R/CreateRunOptions.R
View file @
d75dad9e
...
...
@@ -146,10 +146,6 @@ CreateRunOptions <- function(FUN_MOD, InputsModel, IndPeriod_WarmUp = NULL, IndP
stop
(
"IniStates must be an object of class IniStates\n"
)
return
(
NULL
)
}
# print(str(IniStates))
# print(ObjectClass)
# print(class(IniStates))
# print(sum(ObjectClass %in% class(IniStates)))
if
(
sum
(
ObjectClass
%in%
class
(
IniStates
))
<
2
)
{
stop
(
paste0
(
"Non convenient IniStates for this FUN_MOD\n"
))
return
(
NULL
)
...
...
@@ -159,15 +155,15 @@ CreateRunOptions <- function(FUN_MOD, InputsModel, IndPeriod_WarmUp = NULL, IndP
return
(
NULL
)
}
if
((
identical
(
FUN_MOD
,
RunModel_GR5J
)
|
identical
(
FUN_MOD
,
RunModel_CemaNeigeGR5J
))
&
!
all
(
is.na
(
IniStates
$
UH
$
UH1
)))
{
## GR5J
stop
(
paste0
(
"Non convenient IniStates for this FUN_MOD. In IniStates, UH1 ha
ve
to be a vector of NA for GR5J \n"
))
stop
(
paste0
(
"Non convenient IniStates for this FUN_MOD. In IniStates, UH1 ha
s
to be a vector of NA for GR5J \n"
))
return
(
NULL
)
}
if
((
identical
(
FUN_MOD
,
RunModel_GR6J
)
|
identical
(
FUN_MOD
,
RunModel_CemaNeigeGR6J
))
&
is.na
(
IniStates
$
Store
$
Exp
))
{
## GR6J
stop
(
paste0
(
"Non convenient IniStates for this FUN_MOD. GR6J need an exponential store value in IniStates\n"
))
stop
(
paste0
(
"Non convenient IniStates for this FUN_MOD. GR6J need
s
an exponential store value in IniStates
\n"
))
return
(
NULL
)
}
if
(
!
(
identical
(
FUN_MOD
,
RunModel_GR6J
)
|
identical
(
FUN_MOD
,
RunModel_CemaNeigeGR6J
))
&
!
is.na
(
IniStates
$
Store
$
Exp
))
{
## except GR6J
stop
(
paste0
(
"Non convenient IniStates for this FUN_MOD\n"
))
stop
(
paste0
(
"Non convenient IniStates for this FUN_MOD
. No exponential store value needed in IniStates
\n"
))
return
(
NULL
)
}
# if (length(na.omit(unlist(IniStates))) != NState) {
...
...
@@ -183,68 +179,13 @@ CreateRunOptions <- function(FUN_MOD, InputsModel, IndPeriod_WarmUp = NULL, IndP
IniStates
$
Store
$
Rest
<-
rep
(
NA
,
4
)
IniStates
<-
unlist
(
IniStates
)
IniStates
[
is.na
(
IniStates
)]
<-
0
# print(IniStates)
if
(
"monthly"
%in%
ObjectClass
)
{
IniStates
<-
IniStates
[
seq_len
(
NState
)]
# print(NState)
# print(IniStates)
}
}
else
{
IniStates
<-
as.double
(
rep
(
0.0
,
NState
))
}
# if (is.null(IniStates) & is.null(IniResLevels) & verbose) {
# warning("\t Model states initialisation not defined -> default configuration used \n")
# }
# if("CemaNeige" %in% ObjectClass){ NLayers <- length(InputsModel$LayerPrecip); } else { NLayers <- 0; }
# NState <- NULL;
# if("GR" %in% ObjectClass | "CemaNeige" %in% ObjectClass){
# if("hourly" %in% ObjectClass){ NState <- 3*24*20 + 7; }
# if("daily" %in% ObjectClass){ if (identical(FUN_MOD,RunModel_GR5J)){NState <- 2*20 + 2*NLayers + 7; } else {NState <- 3*20 + 2*NLayers + 7; }}
# if("monthly" %in% ObjectClass){ NState <- 2; }
# if("yearly" %in% ObjectClass){ NState <- 1; }
# }
# if (!is.null(IniStates)) {
# if (!is.vector( IniStates) | !is.numeric(IniStates)) {
# stop("IniStates must be a vector of numeric values \n")
# return(NULL)
# }
# if (length(IniStates) != NState) {
# stop(paste0("The length of IniStates must be ", NState, " for the chosen FUN_MOD \n"))
# return(NULL)
# }
# } else {
# IniStates <- as.double(rep(0.0, NState))
# IniStates[1:3] <- NA
# }
# if ("GR" %in% ObjectClass & ("monthly" %in% ObjectClass | "daily" %in% ObjectClass | "hourly" %in% ObjectClass)) {
# if (!is.null(IniResLevels)) {
# if (!is.vector(IniResLevels) | !is.numeric(IniResLevels)) {
# stop("IniResLevels must be a vector of numeric values \n")
# return(NULL)
# }
# if ((identical(FUN_MOD, RunModel_GR4H) |
# identical(FUN_MOD, RunModel_GR4J) | identical(FUN_MOD, RunModel_CemaNeigeGR4J) |
# identical(FUN_MOD, RunModel_GR5J) | identical(FUN_MOD, RunModel_CemaNeigeGR5J) |
# identical(FUN_MOD, RunModel_GR2M)) &
# length(IniResLevels) != 2) {
# stop("The length of IniStates must be 2 for the chosen FUN_MOD \n")
# return(NULL)
# }
# if ((identical(FUN_MOD,RunModel_GR6J) | identical(FUN_MOD,RunModel_CemaNeigeGR6J)) &
# length(IniResLevels) != 3) {
# stop("The length of IniStates must be 3 for the chosen FUN_MOD \n")
# return(NULL)
# }
# } else {
# IniResLevels <- as.double(c(0.3, 0.5, 0))
# }
# } else {
# if (!is.null(IniResLevels)) {
# stop("IniResLevels can only be used with monthly or daily or hourly GR models \n")
# }
# }
##check_Outputs_Cal_and_Sim
...
...
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