CSTools (version 2.0.0)

CST_QuantileMapping: Quantiles Mapping for seasonal or decadal forecast data

Description

This function is a wrapper from fitQmap and doQmap from package 'qmap'to be applied in CSTools objects of class 's2dv_cube'. The quantile mapping adjustment between an experiment, tipically a hindcast, and observations is applied to the experiment itself or to a provided forecast.

Usage

CST_QuantileMapping(exp, obs, exp_cor = NULL, sample_dims = c("sdate",
  "ftime", "member"), sample_length = NULL, method = "QUANT",
  ncores = NULL, ...)

Arguments

exp

an object of class s2dv_cube

obs

an object of class s2dv_cube

exp_cor

an object of class s2dv_cube in which the quantile mapping correction will be applied. If it is not specified, the correction is applied in object exp.

sample_dims

a character vector indicating the dimensions that can be used as sample for the same distribution

sample_length

a numeric value indicating the length of the timeseries window to be used as sample for the sample distribution and correction. By default, NULL, the total length of the timeseries will be used.

method

a character string indicating the method to be used: 'PTF','DIST','RQUANT','QUANT','SSPLIN'. By default, the empirical quantile mapping 'QUANT' is used.

ncores

an integer indicating the number of parallel processes to spawn for the use for parallel computation in multiple cores.

...

additional arguments passed to the method specified by method.

Value

an oject of class s2dv_cube containing the experimental data after applyingthe quantile mapping correction. ) <- c(dataset = 1, member = 10, sdate = 20, ftime = 60 ,

Details

The different methods are:

  • 'PTF' fits a parametric transformations to the quantile-quantile relation of observed and modelled values. See fitQmapPTF.

  • 'DIST' fits a theoretical distribution to observed and to modelled time series. See fitQmapDIST.

  • 'RQUANT' estimates the values of the quantile-quantile relation of observed and modelled time series for regularly spaced quantiles using local linear least square regression. See fitQmapRQUANT.

  • 'QUANT' estimates values of the empirical cumulative distribution function of observed and modelled time series for regularly spaced quantiles. See fitQmapQUANT.

  • 'SSPLIN' fits a smoothing spline to the quantile-quantile plot of observed and modelled time series. See fitQmapSSPLIN.

All methods accepts some common arguments:

  • wet.day logical indicating whether to perform wet day correction or not.(Not available in 'DIS' method)

  • qstep NULL or a numeric value between 0 and 1.

See Also

fitQmap and doQmap

Examples

Run this code
# NOT RUN {
library(qmap)
exp <- 1 : (1 * 5 * 10 * 6 * 2 * 3)
dim(exp) <- c(dataset = 1, member = 10, sdate = 5, ftime = 6 , 
             lat = 2, lon = 3)
exp <- list(data = exp)
class(exp) <- 's2dv_cube'
obs <- 101 : (100 + 1 * 1 * 5 * 6 * 2 * 3)
dim(obs) <- c(dataset = 1, member = 1, sdate = 5, ftime = 6 ,
             lat = 2, lon = 3)
obs <- list(data = obs)
class(obs) <- 's2dv_cube'
res <- CST_QuantileMapping(exp, obs, method = 'RQUANT')
# }
# NOT RUN {
exp <- lonlat_data$exp
obs <- lonlat_data$obs
res <- CST_QuantileMapping(exp, obs)

data(obsprecip)
data(modprecip)
exp <- modprecip$MOSS[1:10000]
dim(exp) <- c(time = length(exp))
exp <- list(data = exp)
class(exp) <- 's2dv_cube'
obs <- obsprecip$MOSS[1:10000]
dim(obs) <- c(time = length(obs))
obs <- list(data = obs)
class(obs) <- 's2dv_cube'
res <- CST_QuantileMapping(exp = exp, obs = obs, sample_dims = 'time',
                          method = 'DIST')
# }

Run the code above in your browser using DataLab