Detects when a forced climate change signal emerges from
internal variability ('time of emergence') in annual climate time series
such as temperature or precipitation. The signal is estimated with a
linear, quadratic or locally weighted smoother and compared with noise
estimated from a baseline period. Emergence is defined through
configurable signal-to-noise thresholds and persistence rules.
Uncertainty in the time of emergence is quantified by autoregressive
or moving-block bootstrap resampling. Helpers are provided for
multi-member ensembles, threshold sensitivity, anomaly and annual
aggregation, Mann-Kendall trend tests with trend-free prewhitening,
and synthetic data generation. The approach builds on Hawkins and
Sutton (2012)
toeclim answers a simple question: when does the climate change signal in my time series emerge from natural variability?
It estimates a smooth signal, measures noise from a baseline period, and reports the time of emergence (ToE) with bootstrap uncertainty, threshold-sensitivity analysis and ensemble support. It has no dependencies beyond base R.
# From CRAN (once released)
install.packages("toeclim")
# Development version: install from a local tarball
install.packages("toeclim_0.1.0.tar.gz", repos = NULL, type = "source")
library(toeclim)
d <- toe_simulate(n_years = 150, slope = 0.03, onset = 1970, seed = 10)
fit <- toe_emerge(d$member_01, d$year, baseline = c(1900, 1950),
k = 2, persist = 5, n_boot = 500, seed = 1)
fit
plot(fit)
toe_prob(fit, times = c(1990, 2000, 2010))
toe_sensitivity(d$member_01, d$year, baseline = c(1900, 1950))
| Function | Purpose |
|---|---|
toe_emerge() |
Time of emergence for one series, with optional bootstrap |
toe_ensemble() |
Emergence across ensemble members, plus pooled estimate |
toe_prob() |
Probability of emergence by a given time |
toe_sensitivity() |
ToE over a grid of thresholds and persistence lengths |
toe_trend() |
Sen's slope and Mann-Kendall test with trend-free prewhitening |
toe_noise() |
Noise standard deviation, autocorrelation, effective sample size |
toe_annual(), toe_anomaly() |
Prepare monthly/daily data |
toe_simulate(), toe_example |
Synthetic data with a known signal |
Hawkins, E. and Sutton, R. (2012). Time of emergence of climate signals. Geophysical Research Letters, 39, L01702. doi:10.1029/2011GL050087
If you use toeclim in your work, please cite it. In R, run:
citation("toeclim")
which gives:
Fahim A (2026). toeclim: Time of Emergence of Climate Signals from Internal Variability. R package version 0.1.0.
Please also cite the method that this package builds on:
Hawkins, E. and Sutton, R. (2012). Time of emergence of climate signals. Geophysical Research Letters, 39, L01702. doi:10.1029/2011GL050087
Abul Kashem Faruki Fahim (ORCID 0000-0002-8554-4730), University of Dhaka. Contact: [email protected]
MIT