MonteCarloArray: Monte Carlo simulation of age-perturbed core array

Description Usage Arguments Details Value Author(s) See Also

Description

For a core array of nc proxy records, this wrapper function creates nc identical surrogate time series, independently age-perturbs each series following the model in Comboul et al. (2014) and averages the age-perturbed time series. The process is repeated ns times. For a common signal recorded by the core array, the approach allows one to study the effect of independent age errors on this signal upon averaging across the core array.

Usage

1
2
3
MonteCarloArray(t = 100:1, acp = c(t[1], NA), nt = length(t), nc = 1,
  ns = 100, model = "poisson", rate = 0.05, resize = 1,
  surrogate.fun = rnorm, ...)

Arguments

t

numeric vector of integer values providing a reference chronology for the age perturbations (starting with the youngest age)

acp

numeric vector of age control points where the age uncertainty is assumed to be zero. Per default, a two-element vector where the first element is the start age (t[1]) and the second element NA resulting in an unconstrained age perturbation process; see ?PerturbCoreArray for details.

nt

the length of the records (i.e. the number of data points) to simulate; per default set to length(t).

nc

the number of cores in the modelled core array

ns

the number of Monte Carlo simulations

model

name string of the random process to use for perturbing the age model; must be either "poisson" (the default) or "bernoulli"; see Comboul et al. (2014) for details on the two models.

rate

numeric vector of probability rate(s) that an age band is perturbed; you can specify a vector of two rates where the first entry is the probability for a missing band and the second entry the probability for a double-counting of a band. If only a single value is specified (per default 0.05), symmetric perturbations are assumed.

resize

the resizing option in case of shorter/longer than original time axes: 0 = do not resize, -1 = resize to shortest realisation, 1 = resize to longest realisation (default).

surrogate.fun

the random number generator to use for creating the surrogate time series; per default the base R white noise generator.

...

additional parameters passed to surrogate.fun

Details

Note the principle difference between using PerturbCoreArray alone and using MonteCarloArray: While PerturbCoreArray can also realise ns age perturbation realisations, these realisations are applied to the same data set in the cores. Here, ns simulations are run over different surrogate data sets of the cores (however, for the same data in each core) and each simulation run corresponds to one set of age perturbation realisations across the cores. In other words, MonteCarloArray runs ns simulations where for each simulation PerturbCoreArray is called setting the ns parameter in the function call there to 1.

Value

a list with components input and stack, where both are nt * ns arrays:

Author(s)

Thomas Münch

See Also

PerturbCoreArray


EarthSystemDiagnostics/simproxyage documentation built on May 7, 2019, 9:52 p.m.