continuity_ratio
and adds the corresponding gaussian correlation matrix for no-precipitation occurrence.R/Gamma.R
CCGamma.Rd
This function extends continuity_ratio
and adds the corresponding gaussian correlation matrix for no-precipitation occurrence.
CCGamma(
data,
lag = 0,
p0_v1 = NULL,
p = NA,
valmin = 0.5,
nearPD = (lag >= 0),
interval = c(-1, 1),
tolerance = .Machine$double.eps,
only.matrix = FALSE,
return.value = NULL,
null.gcorrelation = 1e-05,
sample = NULL,
origin = "1961-1-1",
...
)
data frame or 'zoo' R object containing daily precipitation time series for several gauges (one gauge time series per column). See continuity_ratio
.
numeric lag (expressed as number of days) used for computation for "cross" continuity ratio and joint probability of prercipitation (no)occurrence. See continuity_ratio
.
positive integer parameter. Default is NA
, otherwise, lag
is calculated as the vector 0:p
.
threshold precipitation value [mm] for wet/dry day indicator.
If precipitation is lower than valmin
, day is considered dry. Default is 0.5 mm. See continuity_ratio
.
see omega_inv
. Default is (lag==0)
.
see omega_inv
logical value. If TRUE
the function returns only the gaussian correlaton matrix. Deafaul is FALSE
.
string. If it is not either NULL
(Default) and NA
, function returns only the argument indicated by this argument.
numerical value nooccurrence_gcorrelation
under which is considered to be 0.
character string indicated if function must be calculated differently for subset of the year, e.g. monthly. Admitted values are NULL
(Default), "all"
or "monthly"
.
character string (yyyy-dd-mm) indicated the date of the first row of "data"
. It is used if data
and sample
are not NULL
.
additional agruments of omega_inv
or CCGamma
An object which is a list containing the following fields:
continuity_ratio
: lag
-day lagged continuity ratio, as returned by continuity_ratio
;
occurrence
: joint probability of lag
-day lagged precipitation occurrence, as returned by continuity_ratio
;
nooccurrence
: joint probability of lag
-day lagged no precipitation occurrence, as returned by continuity_ratio
;
lag
: number of days lagged between the two compared events (see argument lag
);
p0_v1
: vector of marginal probability of no precipitation occurrence. If lag
is 0, it corresponds to the diagonal of nooccurrence
matrix (see argument p0_v1
);
nooccurrence_gcorrelation
corresponding gaussian correlation for no precipitation occurrence obtained by applying omega_inv
to nooccurrence
,
If the argument only.matrix
is TRUE
, only nooccurrence_gcorrelation
is returned as a matrix.
In case the argument lag
is a vector wirh length more than one, the function returns a list of the above-cited return object for each value of the vector lag
.
This functon is useful to generate the serial cross-correlation matrices for no precipitation occurrence for Yule-Walker Equations. In case lag
is a vactor, nearPD
must be a vector of the same size,
default is (lag==0)
.
See the R code for major details
D.S. Wilks (1998), Multisite Generalization of a Daily Stochastic Precipitation Generation Model, Journal of Hydrology, Volume 210, Issues 1-4, September 1998, Pages 178-191, https://www.sciencedirect.com/science/article/pii/S0022169498001863
Muamaraldin Mhanna and Willy Bauwens (2011) A Stochastic Space-Time Model for the Generation of Daily Rainfall in the Gaza Strip, International Journal of Climatology, Volume 32, Issue 7, pages 1098-1112, doi:10.1002/joc.2305 , https://rmets.onlinelibrary.wiley.com/doi/10.1002/joc.2305
data(trentino)
year_min <- 1961
year_max <- 1990
origin <- paste(year_min,1,1,sep="-")
period <- PRECIPITATION$year>=year_min & PRECIPITATION$year<=year_max
station <- names(PRECIPITATION)[!(names(PRECIPITATION) %in% c("day","month","year"))]
prec_mes <- PRECIPITATION[period,station]
## removing nonworking stations (e.g. time series with NA)
accepted <- array(TRUE,length(names(prec_mes)))
names(accepted) <- names(prec_mes)
for (it in names(prec_mes)) {
accepted[it] <- (length(which(!is.na(prec_mes[,it])))==length(prec_mes[,it]))
}
prec_mes <- prec_mes[,accepted]
## the dateset is reduced!!!
prec_mes <- prec_mes[,1:2]
CCGamma <- CCGamma(data=prec_mes,lag=0,tolerance=0.001,only.matrix=FALSE)
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
# \donttest{
## Not Run in the examples, uncomment to run the following line
CCGamma <- CCGamma(data=prec_mes,lag=0:2,tolerance=0.001,only.matrix=FALSE)
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 1
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 2
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
## Not Run in the examples, uncomment to run the following line
CCGamma_monthly <- CCGamma(data=prec_mes,lag=0,tolerance=0.001,only.matrix=FALSE,
sample="monthly",origin=origin)
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
#> lag
#> 0
#> Hmm... p0 - first argument - must be a matrix of probabilities!!!
# }