| Type: | Package |
| Title: | Wavelet-Based Quantile Mapping for Postprocessing NumericalWeather Predictions |
| Version: | 0.1.4 |
| Author: | Ze Jiang |
| Maintainer: | Ze Jiang <ze.jiang@unsw.edu.au> |
| Description: | The wavelet-based quantile mapping (WQM) technique is designed to correct biases in spatio-temporal precipitation forecasts across multiple time scales. The WQM method effectively enhances forecast accuracy by generating an ensemble of precipitation forecasts that account for uncertainties in the prediction process. For a comprehensive overview of the methodologies employed in this package, please refer to Jiang, Z., and Johnson, F. (2023) <doi:10.1029/2022EF003350>. The package relies on two packages for continuous wavelet transforms: 'WaveletComp', which can be installed automatically, and 'wmtsa', which is optional and available from the CRAN archivehttps://cran.r-project.org/src/contrib/Archive/wmtsa/. Users need to manually install 'wmtsa' from this archive if they prefer to use 'wmtsa' based decomposition. |
| License: | GPL (≥ 3) |
| Encoding: | UTF-8 |
| LazyData: | true |
| Depends: | R (≥ 3.5.0) |
| Imports: | MBC, WaveletComp, matrixStats, ggplot2 |
| Suggests: | stats, tidyr, dplyr, wmtsa, scales, data.table, graphics,testthat (≥ 3.0.0), knitr, rmarkdown, bookdown |
| Config/testthat/edition: | 3 |
| RoxygenNote: | 7.3.2 |
| VignetteBuilder: | knitr |
| NeedsCompilation: | no |
| Packaged: | 2024-10-07 22:38:30 UTC; z5154277 |
| Repository: | CRAN |
| Date/Publication: | 2024-10-11 08:00:18 UTC |
Australia NWP rainfall forecasts at lead 1h over Sydney region
Description
A dataset containing 160 stations including observation and raw forecasts.
Usage
data(NWP.rain)Verification Rank and Histogram
Description
Verification Rank and Histogram
Usage
RankHist(forecasts, observations, do.plot = FALSE)Arguments
forecasts | A matrix of ensemble forecasts, in which the rows corresponds to locations and times and the columns correspond to the individual ensemble members. |
observations | A vector of observations corresponding to the locations and times of the forecasts. |
do.plot | Logical value of plot. |
Value
A vector giving the rank of verifying observations relative to the corresponding ensemble forecasts. The verification rank historgram is plotted.
References
ensembleBMA::verifRankHist
CWT based quantile mapping
Description
CWT based quantile mapping
Usage
bc_cwt( data, subset, variable, theta = 0.1, QM = c("MBC", "MRS", "QDM"), number_sim = 5, wavelet = "morlet", dt = 1, dj = 1, method = "M2", block = 3, seed = NULL, PR.cal = FALSE, do.plot = FALSE, ...)Arguments
data | a list of input dataset |
subset | a index of number denoting the subset for calibration |
variable | a character string denoting the type of variable. |
theta | threshold of rainfall. |
QM | a character string denoting the qm method used. |
number_sim | The total number of realizations. |
wavelet | a character string denoting the wavelet filter to use in calculating the CWT. |
dt | sampling resolution in the time domain. |
dj | sampling resolution in the frequency domain. |
method | Shuffling method, M1: non-shuffling and M2: shuffling. M2 by default. |
block | Block size. |
seed | Seed for shuffling process. |
PR.cal | Logical value for phase randomization of calibration. |
do.plot | Logical value for ploting. |
... | Additional arguments for QDM. |
Value
a list of post-processed data
Function: Total number of decomposition levels
Description
Function: Total number of decomposition levels
Usage
fun_cwt_J(n, dt, dj)Arguments
n | sample size. |
dt | sampling resolution in the time domain. |
dj | sampling resolution in the frequency domain. |
Value
the total number of decomposition levels.
Inverse of continuous wavelet transform
Description
Inverse of continuous wavelet transform
Usage
fun_icwt(x.wave, dt, dj, flag.wav = "WaveletComp", scale = NULL)Arguments
x.wave | input complex matrix. |
dt | sampling resolution in the time domain. |
dj | sampling resolution in the frequency domain. |
flag.wav | String for two different CWT packages. |
scale | Wavelet scales. |
Value
reconstructed time series
References
fun_stoch_sim_wave in PRSim, Brunner and Furrer, 2020.
Examples
set.seed(100)dt<-1dj<-1/8flag.wav <- switch(2, "wmtsa", "WaveletComp")n <- 100x <- rnorm(n)x.wave <- t(WaveletComp::WaveletTransform(x=x)$Wave)rec <- fun_icwt(x.wave, dt, dj, flag.wav)x.wt <- WaveletComp::analyze.wavelet(data.frame(x=x),"x",dt=dt,dj=dj)rec_orig <- WaveletComp::reconstruct(x.wt,only.sig = FALSE, plot.rec = FALSE)$series$x.r### compare to original seriesop <- par(mfrow = c(1, 1), mar=c(3,3,1,1), mgp=c(1, 0.5, 0))plot(1:n, x, type="l", lwd=5, xlab=NA, ylab=NA)lines(1:n, rec, col="red",lwd=3)lines(1:n, rec_orig, col="blue", lwd=1)legend("topright",legend=c("Raw","Inverse","Inverse_orig"), lwd=c(5,3,1),bg="transparent",bty = "n", col=c("black","red","blue"),horiz=TRUE)par(op)Inverse Fourier transform
Description
Inverse Fourier transform
Usage
fun_ifft(x, do.plot = FALSE)Arguments
x | input time series. |
do.plot | Logical value of plot. |
Value
reconstruction time series
References
fun_stoch_sim in PRSim, Brunner and Furrer, 2020.
Examples
x <- rnorm(100)x.new <- fun_ifft(x, do.plot=TRUE)Phase randomization and shuffling
Description
Phase randomization and shuffling
Usage
prsim( modulus, phases, noise_mat, method = c("M1", "M2")[2], size = 3, seed = NULL)Arguments
modulus | Modulus of complex values. |
phases | Argument of complex values. |
noise_mat | Complex matrix from random time series. |
method | Shuffling method, M1: non-shuffling and M2: shuffling. M2 by default. |
size | Block size. |
seed | Seed for shuffling process. |
Value
A new complex matrix
Sample data: Rainfall forecasts data
Description
A dataset containing 2 stations including observation and raw forecasts.
Usage
data(sample)