Time of Emergence of Climate Signals from Internal Variability

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) , Yue et al. (2002) and Sen (1968) .


toeclim

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.

Installation

# 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")

Example

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

Main functions

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

References

Hawkins, E. and Sutton, R. (2012). Time of emergence of climate signals. Geophysical Research Letters, 39, L01702. doi:10.1029/2011GL050087

How to cite

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

Author

Abul Kashem Faruki Fahim (ORCID 0000-0002-8554-4730), University of Dhaka. Contact: [email protected]

License

MIT

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("toeclim")

0.1.0 by Abul Kashem Faruki Fahim, 10 hours ago


Browse source code at https://github.com/cran/toeclim


Authors: Abul Kashem Faruki Fahim [aut, cre, cph] (ORCID:


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports graphics, grDevices, stats

Suggests knitr, rmarkdown, testthat


See at CRAN