Learn R Programming

RGENERATEPREC (version 1.2.9)

generate.PrecipitationOccurrenceModel: Stochastic Generation of a PrecipitationOccurrenceModel or PrecipitationOccurrenceMultiSiteModel model object

Description

It is an implentation of generate method

Usage

# S3 method for PrecipitationOccurrenceModel
generate(
  x,
  newdata = NULL,
  previous = NULL,
  n = 30,
  random = runif(n, min = 0, max = 1),
  exogen = NULL,
  monthly.factor = NULL,
  ...
)

# S3 method for CCGammaObjectListPerEachMonth generate(x, ...)

# S3 method for PrecipitationOccurrenceMultiSiteModel generate( x, exogen, n = 10, origin = "1961-1-1", end = "1990-1-1", previous = NULL, monthly.factor = NULL, ... )

# S3 method for PrecipitationAmountModel generate(x, ...)

Arguments

newdata

predictor or exogenous variables. See predict.PrecipitationOccurrenceModel

previous

logical vector containing previously occurred states

n

number of generations. See generate. Here it is ignored and the number of generations is given by origin,end or monthly.factor.

random

vector of random or calculated numbers ranging between 0 and 1

exogen

predictor or exogenous variables

monthly.factor

vector of factors indicating the month of the days

...

further arguments

origin, end

character strings (yyyy-dd-mm) indicating the start and/or end date of the daily weather generation.

Value

A vector or a data frame reporting generated time series for each station.

References

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, 10.1002/joc.2305, https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/joc.2305

See Also

generate,predict.glm,PrecipitationOccurrenceModel,PrecipitationOccurrenceMultiSiteModel

Examples

Run this code
# NOT RUN {
library(RGENERATEPREC)


## A function example can be found in the following script file: 
scriptfile <- system.file("example.generate.R",package="RGENERATEPREC")
## The corrent file path is given by 'scriptfile' variable:
print(scriptfile)
## To run the example file, launch the file with 'source' command (uncomment the following line)
#source(scriptfile)

## ALTERNATIVELY you can run the following lines:



data(trentino)

year_min <- 1961
year_max <- 1990

origin <- paste(year_min,1,1,sep="-")
end <- paste(year_max,12,31,sep="-")

period <- PRECIPITATION$year>=year_min & PRECIPITATION$year<=year_max
period_temp <- TEMPERATURE_MAX$year>=year_min & TEMPERATURE_MAX$year<=year_max

prec_mes <- PRECIPITATION[period,]
Tx_mes <- TEMPERATURE_MAX[period_temp,]
Tn_mes <- TEMPERATURE_MIN[period_temp,]
accepted <- array(TRUE,length(names(prec_mes)))
names(accepted) <- names(prec_mes)
for (it in names(prec_mes)) {
	acc <- TRUE
	acc <- (length(which(!is.na(Tx_mes[,it])))==length(Tx_mes[,it]))
	acc <- (length(which(!is.na(Tn_mes[,it])))==length(Tn_mes[,it])) & acc
	accepted[it]  <- (length(which(!is.na(prec_mes[,it])))==length(prec_mes[,it])) & acc
	
}

valmin <- 1.0
prec_mes <- prec_mes[,accepted]



Tx_mes <- Tx_mes[,accepted]
Tn_mes <- Tn_mes[,accepted]
prec_occurrence_mes <- prec_mes>=valmin

station <- names(prec_mes)[!(names(prec_mes) %in% c("day","month","year"))]
it <- station[2]
vect <- Tx_mes[,it]-Tn_mes[,it]
months <- factor(prec_mes$month)

 
# }
# NOT RUN {
model <- 
PrecipitationOccurrenceModel(x=prec_mes[,it],exogen=vect,
monthly.factor=months,valmin=valmin)

obs <- prec_mes[,it]>=valmin

gen <- generate(model,exogen=vect,monthly.factor=months,n=length(months))
# }
# NOT RUN {
### MultiSite Generation 


station <- station[1:2]
exogen <- Tx_mes[,station]-Tn_mes[,station]

months <- factor(prec_mes$month)


# }
# NOT RUN {
 
model_multisite <- 
PrecipitationOccurrenceMultiSiteModel(x=prec_mes[,station],
exogen=exogen,origin=origin,multisite_type="wilks")


## LOGIT-type Model 
model_multisite_logit <- 
PrecipitationOccurrenceMultiSiteModel(x=prec_mes,exogen=exogen,
origin=origin,multisite_type="logit",station=station)


obs_multisite <- prec_mes[,station]>=valmin

gen_multisite <- generate(model_multisite,exogen=exogen,origin=origin,end=end)

gen_multisite_logit <- generate(model_multisite_logit,exogen=exogen,origin=origin,end=end)
# }

Run the code above in your browser using DataLab