PerturbCoreArray: Age perturb proxy core array

Description Usage Arguments Details Value Author(s) References See Also

Description

PerturbCoreArray age perturbs the proxy data of a similarly dated core array.

Usage

1
2
PerturbCoreArray(X, t, acp = c(t[1], NA), ns = 1000, model = "poisson",
  rate = 0.05, resize = 1)

Arguments

X

an nt * nc array of the proxy data from the core array, where the number of rows (nt) is the length of the cores (i.e. the length of the proxy data) and the number of columns (nc) the number of cores in the array.

t

numeric vector providing the original layer-counted chronology. Must equal the length of the proxy data, thus dim(X)[1].

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 process; see details for handling more age control points.

ns

integer number of age perturbation realisations for each core.

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).

Details

The function allows one to model the age uncertainty of proxy records with several age control points (ACP) where the age uncertainty evolves according to the model of Comboul et al. (2014) between the age control points but is forced back to zero time uncertainty at the ACPs following a Brownian Bridge process.

Per default, the start age (i.e. the youngest age at the core top) is assumed to be the first ACP, thus, if not set explicitly in the vector acp, the youngest age is added as its first element. You can specify an arbitrary number of additional ACPs. Between each pair of ACPs (starting at the core top), ns number of constrained age perturbation realisations are performed following the Comboul et al. (2014) model and the Brownian Bridge concept. If the last ACP equals the oldest age in t (i.e. the last proxy data point), the last core segment also follows a Brownian Bridge process. Alternatively, if the last ACP is younger than the final age, NA is added as the last element to the vector acp which results in an unconstrained age perturbation process for the last core segment.

ACPs lying outside the time interval defined by t will be removed from the vector acp with a warning.

The actual age perturbations are performed by calling PerturbCoreSegment for each consecutive time interval between two ACPs.

Value

A list of two components:

Tp:

an nt * nc * ns array of age perturbation realisations for the core array.

Xp:

an nt * nc * ns array of the corresponding age pertubed proxy data.

However, the dimension of the arrays depend on the values of nc (number of cores) and ns (number of realisations). If one or both values equal 1, the output arrays are converted to the lowest possile dimensionality.

Author(s)

Thomas Münch

References

Comboul, M., Emile-Geay, J., Evans, M. N., Mirnateghi, N., Cobb, K. M. and Thompson, D. M.: A probabilistic model of chronological errors in layer-counted climate proxies: applications to annually banded coral archives, Clim. Past, 10(2), 825-841, doi: 10.5194/cp-10-825-2014, 2014.

See Also

BAM, BrownianBridge, PerturbCoreSegment, MonteCarloArray


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