Articles | Volume 15, issue 3
Model description paper
10 Feb 2022
Model description paper |  | 10 Feb 2022

ShellChron 0.4.0: a new tool for constructing chronologies in accretionary carbonate archives from stable oxygen isotope profiles

Niels J. de Winter

This work presents ShellChron, a new model for generating accurate internal age models for high-resolution paleoclimate archives, such as corals, mollusk shells, and speleothems. Reliable sub-annual age models form the backbone of high-resolution paleoclimate studies. In the absence of independent sub-annual growth markers in many of these archives, the most reliable method for determining the age of samples is through age modeling based on stable oxygen isotope or other seasonally controlled proxy records. ShellChron expands on previous solutions to the age model problem by fitting a combination of a growth rate and temperature sinusoid to model seasonal variability in the proxy record in a sliding window approach. This new approach creates smoother, more precise age–distance relationships for multi-annual proxy records with the added benefit of allowing assessment of the uncertainty in the modeled age. The modular script of ShellChron allows the model to be tailored to specific archives, without being limited to oxygen isotope proxy records or carbonate archives, with high flexibility in assigning the relationship between the input proxy and the seasonal cycle. The performance of ShellChron in terms of accuracy and computation time is tested on a set of virtual seasonality records and real coral, mollusk, and speleothem archives. The result shows that several key improvements in comparison to previous age model routines enhance the accuracy of ShellChron on multi-annual records while limiting its processing time. The current full working version of ShellChron enables the user to model the age of 10-year-long high-resolution (16 samples yr−1) carbonate records with monthly accuracy within 1 h of computation time on a personal computer. The model is freely accessible on the CRAN database and GitHub. Members of the community are invited to contribute by adapting the model code to suit their research topics and encouraged to cite the original work of Judd et al. (2018) alongside this work when using ShellChron in future studies.

Please read the corrigendum first before continuing.

1 Introduction

Fast-growing carbonate archives, such as coral skeletons, mollusk shells, and speleothems, contain a wealth of information about past and present climate and environment (e.g., Urban et al., 2000; Wang et al., 2001; Steuber et al., 2005; Butler et al., 2013). Recent advances in analytical techniques have improved our ability to extract this information and obtain records of the conditions under which these carbonates precipitated at high temporal resolutions, often beyond the annual scale (Treble et al., 2007; Saenger et al., 2017; Vansteenberge et al., 2020; de Winter et al., 2020a; Ivany and Judd, 2022). Key to the interpretation of such records is the development of reliable chemical or physical proxies for climate and environmental conditions which can be measured on a sufficiently fine scale to allow variability to be reconstructed at the desired time resolution. Examples of suitable proxies include observations of variability in carbonate fabric and microstructure as well as in (trace) elemental and isotopic composition (Frisia et al., 2000; Lough, 2010; Ullmann et al., 2010; Schöne et al., 2011; Ullmann et al., 2013; Van Rampelbergh et al., 2014; de Winter et al., 2017). The unique preservation potential of carbonates in comparison with archives of climate variability at similar time resolutions, such as tree ring records and ice cores, now allows us to recover information about the climate and environment of the geological past from these proxies on the (sub-)seasonal scale (Ivany and Runnegar, 2010; Ullmann and Korte, 2015; Vansteenberge et al., 2016; de Winter et al., 2018, 2020b, c; Mohr et al., 2020). The importance of this development cannot be overstated because variability at high (daily and seasonal) resolution constitutes the most significant component of climate variability (Mitchell, 1976; Huybers and Curry, 2006; Zhu et al., 2019; von der Heydt et al., 2021). Accurate reconstructions of this type of variability are therefore fundamental to our understanding of Earth's climate system and critical for projecting its behavior in the future under anthropogenic global warming conditions (IPCC, 2021).

A reliable age model is crucial for the interpretation of high-resolution carbonate records. An age model is defined as a set of rules or markers that allows the translation of the location of a measurement or observation on the archive to the time at which the carbonate was precipitated. This translation is required for aligning records from multiple proxies or archives on a common time axis. Age alignment enables data to be intercomparable and to be interpreted in the context of processes playing a role at similar timescales. Age models are based on knowledge about the growth or accretion rate of the archive through time. Many high-resolution carbonate archives contain growth markers on which age models can be based (e.g., Jones, 1983; Le Tissier et al., 1994; Verheyden et al., 2006). These are especially valuable in some mollusk species, in which growth lines demarcate annual, daily, or even tidal cycles (e.g., Arctica islandica, Schöne et al., 2005; Pecten maximus, Chauvaud et al., 2005; and Cerastoderma edule, Mahé et al., 2010). However, in many mollusk species and most carbonate archives, such independent growth indicators are absent or too infrequent to (relatively) date high-resolution measurements (Judd et al., 2018; Huyghe et al., 2019). In such cases, age models need to be based on alternative indicators.

The oxygen isotope composition of carbonates (δ18Oc) is closely dependent on the isotopic composition of the fluid (δ18Ow) and the temperature at which the carbonate is precipitated (Urey, 1948; McCrea, 1950; Epstein et al., 1953). In most natural surface environments, either one or both factors is strongly dependent on the seasonal cycle, with one generally being dominant over the other. This causes carbonates precipitated in these environments to display strong quasi-sinusoidal variations in δ18Oc that record the seasonal cycle (e.g., Dunbar and Wellington, 1981; Jones and Quitmyer, 1996; Baldini et al., 2008). Examples of this behavior include seasonal cyclicity in sea surface temperatures recorded in the δ18Oc of corals and mollusks and seasonal cyclicity in the δ18Ow of precipitation recorded in speleothems (Dunbar and Wellington, 1981; Schöne et al., 2005; Van Rampelbergh et al., 2014). This relationship is challenged in tropical latitudes, where temperature seasonality is restricted. However, in some tropical archives, the annual cycle of δ18Ow in precipitation still allows the annual cycle to be resolved from δ18O records (e.g., Evans and Schrag, 2004). These properties make δ18Oc one of the most highly sought-after proxies for climate variability, and high-resolution δ18Oc records are abundant in the paleoclimate literature (e.g., Lachniet, 2009; Lough, 2010; Schöne and Gillikin, 2013, and references therein).

The close relationship between δ18Oc records and the seasonal cycle can also be exploited to estimate variability in growth rate of the archive. This property of δ18Oc curves has been recognized by previous authors, and attempts have been made to quantify intra-annual growth rates from the shape of δ18Oc profiles (Wilkinson and Ivany, 2002; Goodwin et al., 2003; De Ridder et al., 2006; Goodwin et al., 2009; De Brauwere et al., 2009; Müller et al., 2015; Judd et al., 2018). Over time, these so-called “growth models” have improved from fitting of sinusoids to δ18Oc data (Wilkinson and Ivany, 2002; De Ridder et al., 2006) to including increasingly complicated (inter)annual growth rate curves to the model to fit the shape of the δ18Oc data (Goodwin et al., 2003, 2009; Müller et al., 2015; Judd et al., 2018). These later models manage to fit the shape of δ18Oc records well, but they often rely on detailed a priori knowledge of growth rate or temperature patterns (e.g., Goodwin et al., 2003, 2009), which requires measurements of one or more parameters in the environment. These measurements are not available in studies on carbonate archives from the archeological or geological past. In contrast, the latest model by Judd et al. (2018; GRATAISS, or Growth Rate and Temporal Alignment of Isotopic Serial Samples) is based only on the assumption that growth and temperature follow quasi-sinusoidal patterns and can therefore work with δ18Oc data alone, making it more widely applicable. The simplified parameterization of temperature and growth rate seasonality by Judd et al. (2018) using two (skewed) sinusoids is demonstrated to approximate natural circumstances very well.

However, the GRATAISS model is still limited in its use because it requires whole, individual growth years to be analyzed separately, resulting in a discontinuous time series when applied to records containing multiple years of δ18Oc data and no solution for incomplete years. In addition, the model has no option to supply information about the less dominant factor that drives δ18Oc values (δ18Ow of seawater in the case of mollusks and corals). Furthermore, only estimates from aragonite records are supported, while the δ18Oc value of the other dominant carbonate mineral, calcite, has a different temperature relationship (Kim and O'Neil, 1997). Finally, neither of the models highlighted above except for the MoGroFun model by Goodwin et al. (2009) includes any assessment of the uncertainty of the constructed age model.

Here, a new model for estimating ages of samples in seasonal δ18Oc curves is presented which combines the advantages of previous models while attempting to negate their disadvantages. ShellChron combines a skewed growth rate sinusoid with a sinusoidal temperature curve to model δ18Oc using the Shuffled Complex Evolution model developed at the University of Arizona (SCEUA; Duan et al., 1992; following Judd et al., 2018). It applies this optimization using a sliding window through the dataset (as in Wilkinson and Ivany, 2002) and includes the option to use a Monte Carlo simulation approach to combine uncertainties in the input (δ18Oc and sample distance measurements) and the model routine (as in Goodwin et al., 2009). As a result, ShellChron produces a continuous time series with a confidence envelope, supports records from multiple carbonate minerals, and allows the user to provide information on the less dominant variable influencing δ18Oc (e.g., δ18Ow) if available (see Sect. 2). The modular design of ShellChron's functional script allows parts of the model to be adapted and interchanged, supporting a wide range of climate and environmental archives. As a result, the initial design of ShellChron for reconstructing age models in temperature-dominated δ18Oc records from marine bio-archives (e.g., corals and mollusks) presented here can be easily modified for application to other types of records. The routine is worked out into a ready-to-use package for the open-source computational programming language R and is directly available without restrictions, allowing all interested parties to freely modify and build on the base structure to adapt it to their needs (R Core Team, 2020; full package code and documentation in Supplement SI1; see also the “Code and data availability” section).

2 Scientific basis

The relationship between δ18Oc and the temperature of carbonate precipitation was first established by Urey (1948) and later refined with additional measurements and theoretical models (e.g., Epstein et al., 1953; Tarutani et al., 1969; Grossman and Ku, 1986; Kim and O'Neil, 1997; Coplen, 2007; Watkins et al., 2014; Daëron et al., 2019). Empirical transfer functions for aragonite and calcite by Grossman and Ku (1986; modified by Dettmann et al., 1999; Eq. 1) and Kim and O'Neil (1997; Eq. 2, with VSMOW to VPDB scale conversion following Brand et al., 2014; Eq. 3) have so far found most frequent use in modern paleoclimate studies and are therefore applied as default relationships in the ShellChron model (see d18O_model function).

(1) T C = 20.6 - 4.34 δ 18 O c VPDB - δ 18 O w VSMOW + 0.2 1000 ln α = 18.03 10 3 T C + 273.15 - 32.42



To apply these formulae, it is assumed that carbonate is precipitated in equilibrium with the precipitation fluid. Which carbonates are precipitated in equilibrium has long been subject to debate, and the development of new techniques for measuring the carbonate–water system (e.g., clumped and dual-clumped isotope analyses; Daëron et al., 2019; Bajnai et al., 2020) has led some authors to challenge the assumption that equilibrium fractionation is the norm (see the Supplement). The modular character of ShellChron allows the empirical transfer function to be adapted to the δ18Oc record or to the user's preference for alternative transfer functions by a small modification of the d18O_model function. Future versions of the model will include more options for changing the transfer function (see the “Model description” section).

Table 1Overview of model parameters.

Download Print Version | Download XLSX

As the name suggests, the ShellChron model was initially developed for application to δ18Oc records from marine calcifiers (e.g., mollusk shells and corals). ShellChron approximates the evolution of the calcification temperature at which the carbonate is precipitated by a sinusoidal function (see Eq. 4, Table 1, and Supplement SI4; temperature_curve function; visualized in Figs. 4a and S1), which is a good approximation of seasonal temperature fluctuations in most marine and terrestrial environments (Wilkinson and Ivany, 2002; Ivany and Judd, 2022). Variability in δ18Ow is also comparatively limited in most marine environments (except for regions with sea ice formation), making the model easy to use in these settings (LeGrande and Schmidt, 2006; Rohling, 2013). Nevertheless, ShellChron includes the option to provide a priori knowledge about δ18Ow, ranging from annual average values to detailed seasonal variability, enabling the model to work in environments with more complex interaction between δ18Ow and temperature in the δ18Oc record (see Eqs. 1 and 2). These δ18Ow data can be provided either as a vector (with the same length as the data) or a single value (assuming constant δ18Ow) through the d18Ow parameter in the run_model function.

(4) T C = T av + T amp 2 sin 2 π t d - T pha + T per 4 T per

If marine δ18Oc records represent one extreme on the spectrum of temperature versus δ18Ow influence on the δ18Oc record, cave environments, in which δ18Oc variability is predominantly driven by δ18Ow variability in the precipitation fluid, represent the other extreme (Van Rampelbergh et al., 2014). In its current form, ShellChron takes δ18Ow as a user-supplied parameter to model temperature and growth rate variability, but future versions will allow temperature to be fixed, while δ18Ow becomes the modeled variable. ShellChron's modular character makes it possible to implement this update without changing the structure of the model. Application of ShellChron to δ18Oc records from cave deposits will have to be treated with caution, since drip water δ18Ow seasonality (if present) cannot always be approximated by a sinusoidal function and equilibrium fractionation in cave deposits is less common than in bio-archives (Baldini et al., 2008; Daëron et al., 2011; Van Rampelbergh et al., 2014).

Besides temperature (or δ18Ow) seasonality, ShellChron models the growth rate of the archive to approximate the δ18Oc record (see Eq. 5, Table 1, and Supplement SI4; growth_rate_curve function; visualized in Figs. 4b and S2). Since the growth rate in many carbonate archives varies seasonally, a quasi-sinusoidal model for growth rate seems plausible (e.g., Le Tissier et al., 1994; Baldini et al., 2008; Judd et al., 2018). However, as discussed in Judd et al. (2018), the occurrence of growth cessations (growth rate: 0) and skewness in seasonal growth patterns call for a more complex growth rate model that can take these properties into account. Therefore, ShellChron uses a slightly modified version of the skewed sinusoidal growth function described by Judd et al. (2018; Eq. 5). Note that the added complexity of this function does not preclude the modeling of growth rate functions described by a simple sinusoid (no skewness; Gskw=50) or even constant growth through the year (Gamp=0; see Table 1).



(5) S = 100 - G skw 50 , if  t d - G pha < G per 100 - G skw 100 G skw 50 , if  t d - G pha G per 100 - G skw 100

Contrary to previous δ18Oc growth models, ShellChron allows uncertainties in the input variables (sampling distance and δ18Oc measurements) as well as uncertainties of the full modeling approach to be propagated, providing confidence envelopes around the chronology. Uncertainty propagation is optional and can be skipped without compromising model accuracy. Standard deviations of uncertainties in input variables (sampling distance and δ18Oc) can be provided by the user, while model uncertainties are calculated from the variability in model results of the same data point obtained from overlapping simulation windows (see growth_model function). Measurement errors are combined by projecting Monte Carlo simulated values for sampling distance and δ18Oc measurements on the modeled δ18Oc curve through an orthogonal projection (Eq. 6; mc_err_orth function; visualized in Fig. S3). The measurement uncertainty projected on the distance domain is then combined with the model uncertainty to obtain pooled uncertainties in the distance domain, which are propagated through the modeled δ18Oc record to obtain uncertainties in the model result in the age domain. As a result of the sliding window approach in ShellChron, model results for data points situated at the edges of windows are more sensitive to small changes in the modeled parameters and therefore possess a larger model uncertainty. To prevent these least certain model estimates from affecting the stability of the model, model results are given more weight the closer they are situated towards the center of the model window (see Eq. 7 in export_results function; see also Fig. S4). This weighting is also incorporated in uncertainty propagation through a weighted standard deviation (see Eq. 8 from the sd_wt function). Note that, despite the weighting solution, the size of uncertainties in the first and last positions in the δ18Oc record remains uncertain since they are based on a smaller number of overlapping windows (see, e.g., Fig. 3).


Figure 1Schematic overview of ShellChron. Names in italics refer to functions (encapsulated in rounded rectangular boxes) and operations within functions. Rectangular boxes represent data. Arrows represent the flow of information between model components. Note that some operations are encapsulated in functions (e.g., Error propagation in export results) and that some functions are only used within other functions (e.g., peakid in cumulative_day). All data structures outside wrap_function represent input and output of the model. Detailed documentation of all functions and operations in ShellChron is provided in SI1 (see also the “Code and data availability” section).


Figure 2(a) Plots of the growth rate (light green), δ18Ow (blue), and temperature (red) records (in time domain) from which the test case was produced. Black triangles on the bottom of the temperature plot indicate the ages of the samples taken from the record. (b) The δ18Oc record for the test case generated after equidistant sampling using the seasonalclumped package (de Winter et al., 2021a) with a sampling interval of 0.5 mm. Error bars on sampling distance (0.1 mm) and δ18Oc (0.1 ‰) fall within the symbols. Vertical grey dashed lines indicate user-provided year markers, and the blue bar on top of this plot shows an example of the width of a modeling window. See the Supplement for details on producing the test case δ18Oc record and SI3 for the R script used to generate the data.


3 Model description

ShellChron is organized as a series of functions that describe the step-by-step modeling process. A schematic overview of the model is given in Fig. 1. A short test case is used to illustrate the modeling steps in ShellChron. Figure 2 shows how the virtual test case was created from randomly generated seasonal growth rate, δ18Ow and temperature curves using the seasonalclumped R package (de Winter et al., 2021a; see Fig. 2 and Supplement SI2). A wrapper function (wrap_function) is included, which carries out all steps of the model procedure in succession to promote ease of use.

Figure 3Schematic overview of the structure of the result array in which ShellChron stores the raw results of each model window. Data are stored in three dimensions: the sample number (rows in the figure), the window number (columns in the figure), and the number of modeled parameters (represented by the stacked table “sheets” in the figure). Note that the first five columns of each sheet represent the user-provided input data (see example in SI2) and that the model result data start from column 6. The window length is determined by the user-provided indication of year transitions (column 3). Rows of dots in the figure are placeholders for (input or result) values. Shading of these dots in the window columns indicates differential weighting of modeled values as a function of their location relative to the sliding window. The horizontal box shows how these weighting factors within each sample window (in vertical direction) result in weighting of different estimates of modeled parameters for the same data point (in horizontal direction). The shading of input data and window number towards the bottom and right edge of the figure, respectively, indicates that the number of input values (and thus simulation windows) is only limited to the length of the input table and may therefore continue indefinitely (at the expense of longer computation times; see Fig. 8 in the “Model performance” section).


Data are imported through the data_import function, which takes a comma-separated value (CSV) text file with the input data. Data files need to contain columns containing sampling distance (D, in µm) and δ18Oc data (in ‰ VPDB), a column marking years in the record (yearmarkers), and two optional columns containing uncertainties in sampling distance (σ(D), 1 standard deviation; µm) and δ18Oc (σ(δ18Oc), 1 standard deviation; ‰) (see example in SI2 and Fig. 3). The function uses the year markers (third column) as guidelines for defining the minimum length of the model windows to ensure that all windows contain at least 1 year of growth. By default, consecutive windows are shifted by one data point, yielding a total number of windows equal to the sample size minus the length of the last window. While year markers are required for ShellChron to run (otherwise no windows can be defined), the result of the model does not otherwise depend on user-provided year markers, instead basing the age result purely on simulations of the δ18Oc data.

Figure 4Showing the steps taken to simulate δ18Oc data in the run_model function on the test case. (a) Temperature sinusoid used to approximate δ18Oc data in the first modeling window (see panel d), produced using a combination of temperature_curve and d18O_model functions. Symbols indicate the positions of δ18Oc samples on the temperature curve, with estimated δ18Oc values shown on the secondary axis (right). (b) Skewed growth rate sinusoid fit to the δ18Oc data using the growth_rate_curve function. Note the shift towards steeper growth rate increase around the 300th model day (autumn season in this example). See Fig. S2 for a detailed description of the growth rate sinusoid. (c) The modeled age–distance relationship for this window after fitting δ18Oc data, resulting from aligning the estimated age of samples (x axes in panel a) with the distance in sampling direction (x axis in panel d) using the cumulative growth rate function (b). (d)  δ18Oc profile of the test case (green) with the δ18Oc curve of the first modeling window (red), which results from the combination of temperature (a) and growth rate (b) sinusoids, plotted on top (growth_model function). (e) Result after simulating the full δ18Oc profile of the test case (green) using run_model, with the δ18Oc curves of individual modeling windows shown in red.


The core of the model consists of simulations of overlapping subsamples (windows) of the sampling distance and δ18Oc data described by the run_model function (see Figs. 1 and 3). Data and window sizes are passed from data_import to run_model along with user-provided parameters (e.g., δ18Ow information; see Fig. 1). The run_model function loops through the data windows and calls the growth_model function, which fits a modeled δ18Oc vs. distance curve through the data using the SCEUA optimization algorithm (see Duan et al., 1992; see example in Fig. 4). The simulated δ18Oc curve is produced through a combination of a temperature sinusoid (temperature_curve function; see Eq. 4, Figs. 4a and S1) and a skewed growth rate sinusoid (growth_rate_curve; see Eq. 5, Figs. 4b and S2), with temperature data converted to δ18Oc data through the d18O_model function (Eqs. 1 and 2; Fig. 4a).

Figure 5Result of testing ShellChron with various combinations of SCEUA parameters and sinusoidal regression on the test case dataset (see Fig. 2). The leftmost plots illustrate performance of ShellChron under default SCEUA parameters. Plots to the right show various combinations of parameters that deviate from the default (see labels on top and bottom of plot). (a) Fits of the model δ18Oc curves (red) with the data (black). (b) Violin plots showing the distribution of modeled δ18Oc offset from the data. (c) Age–distance plots showing modeled (red) and known (black) age–depth relationships for each scenario. (d) Violin plots showing the distribution of age offsets from the known age–depth relationship. SD: standard deviation, N: number of data points, sinres: sinusoidal regression; maxn, ngs, kstop, peps, and pcento are SCEUA parameters (see Duan et al., 1992, and explanation in Sect. 4.1). Data on test results are provided in SI11.


By default, starting values for the parameters describing temperature and growth rate curves are obtained by estimating the annual period (P) through a spectral density estimation and applying a linearized sinusoidal regression through the δ18Oc data (sinreg function; see Eq. 9). It is possible to skip this sinusoidal modeling step through the sinfit parameter in the run_model function, in which case the starting value for the annual period is set equal to the width of the model window. In addition, growth_model takes a series of parameters describing the method for SCEUA optimization (see Duan et al., 1992; Judd et al., 2018) and the upper and lower bounds for parameters describing temperature and growth rate curves (see SI4). Parameters for the SCEUA algorithm (iniflg, ngs, maxn, kstop, pcento, and peps) in the run_model function may be modified by the user to reach more desirable optimization outcomes. The effect of changing the SCEUA parameters on the model result for the test case is illustrated in Sect. 4.1 (see Fig. 5). If uncertainties in sampling distance and δ18Oc data are provided, growth_model calls the mc_err_orth function to propagate these errors through the model result (see Eq. 6 and Fig. S3).

δ18Oc VPDB=I+A2sin2πD-φ+P4P

linearized as

δ18Oc VPDB=a+bsin2πPD+ccos2πPD


(9) I = a ; A = b 2 + c 2  and  φ = P 0.25 - cos - 1 b A 2 π

The run_model function returns an array listing day of the year (1–365), temperature, δ18Oc, growth rate, and (optionally) their uncertainty standard deviations as propagated from uncertainties in the input data (“result array”; see Fig. 3 and SI5). Note that the default length of the year (Tper and Gper) is set at 365 d, but these parameters can be modified by the user in run_model. In addition, a matrix containing the optimized parameters of temperature and growth rate curves is provided, yielding information about the evolution of mean values, phases, amplitudes, and skewness of seasonality in temperature and growth rate along the record (“parameter matrix”; see Fig. 1 and SI6). To construct an age model for the entire record, the modeled timing of growth data, expressed as day relative to the 365 d year, is converted into a cumulative time series listing the number of days relative to the start of the first year represented in the record (rather than relative to the start of the year in which the data point is found). This requires year transitions (transitions from day 365 to day 1) to be recognized in all the model results. The cumulative_day function achieves this by aggregating information about places where the beginning and end of the year are recorded in individual window simulations and applying a peak identification algorithm (peakid function) to find places in the record where year transitions occur (see the Supplement). Results of the timing of growth for each sample (in day of the year) are converted to a cumulative timescale using their positions relative to these recognized year transitions (Supplement).

In a final step (described by the export_results function), the results from overlapping individual modeling windows are combined to obtain mean values and 95 % confidence envelopes of the result variables (age, δ18Oc, δ18Oc-based temperatures, and growth rates) for each sample in the input data. If uncertainties in the input variables were provided, these are combined with uncertainties in the modeling result calculated from results of the same data point on overlapping data windows by pooling the variance of the uncertainties (Eq. 10). Throughout this merging of data from overlapping windows, results from data points on the edge of windows are given less weight than those from data points near the center of a window (see Eq. 7 and Fig. S4). This weighting procedure corrects for the fact that data points near the edge of a window are more susceptible to small changes in the model parameters and are therefore less reliable than results in the center of the window. Finally, summaries of the simulation results and the model parameters including their confidence intervals are exported as comma-separated value (CSV) files. In addition, export_results supports optional exports of figures displaying the model results and files containing raw data from all individual model windows (equivalent to sheets of the result array; see Fig. 3 and SI5):

(10) VAR pooled = i N i - 1 VAR i w i i N i - n ,

in which w is the weight of the individual reconstructions, N is the sample size, and n is the number of reconstructions (indexed by i) that are combined.

Figure 6Result of applying ShellChron to two virtual datasets: Case 1 (top, see SI8) and Texel (bottom, see SI9). Leftmost panels (a, d) show the model fit of individual sample windows (red) on the data (black, including horizontal and vertical error bars), with Spearman's correlation coefficients (ρ) in the top left and standard deviations of the δ18Oc estimate (σest). Middle panels (b, e) show the resulting age model (red, including shaded 95 % confidence level) compared with the known age–distance relationship of both records. Histograms in the top left of age–distance plots show the offset between modeled and measured δ18Oc (as visualized in panels a and d) with standard deviations of the δ18Oc offset (σoff) and offset averages (μ). Histograms in the bottom right of age–distance plots show the offset between modeled and known ages (in days) of each data point, including standard deviations of the age accuracy (σacc) and mean age offset (μ). Rightmost panels (c, f) highlight age offsets binned in 12 monthly time bins based on their position relative to the annual cycle to illustrate how accuracy varies over the seasons. Grey envelopes indicate 95 % confidence levels for the monthly age offset within these monthly time bins. The horizontal red dashed line indicates no offset (modeled age is equal to the known age of the sample).


Figure 7Overview of model results for the three test datasets from real carbonate archives: (a) coral, (b) oyster, and (c) speleothem. Lower panels indicate the fit of individual model windows (in red) with the data (in black), while upper panels show the age model (in red) compared to the “true” age–distance relationship with histograms showing model accuracy (in days, top left) and model fit (δ18Oc offset in ‰, bottom right). Color scheme follows Fig. 3. Note that the true age–distance relationship is not known for these natural records but is estimated using known growth seasonality (coral), comparison with in situ temperature and salinity measurements (oyster), or simply by interpolating between annual growth lines (speleothem). See the Supplement for details and SI10 for raw data.


4 Model performance

The performance of ShellChron was first tested on three virtual datasets:

  1. the short test case used to illustrate the model steps above (see Figs. 2 and 4; SI7),

  2. a δ18Oc record constructed from a simulated temperature sinusoid with added stochastic noise (Case 1; SI8), and

  3. a record based on a known high-resolution sea surface temperature and salinity record measured on the coast of Texel island in the tidal basin of the Wadden Sea (northern Netherlands; Texel, see details in SI9 and de Winter et al., 2021a, as well as the Supplement).

Firstly, the effect of varying parameters in the SCEUA algorithm is tested on the test case (Fig. 5). Then, full model runs on Case 1 and Texel are evaluated in terms of model performance (Fig. 6). In addition to the three test cases, three modern carbonate δ18Oc records were internally dated using ShellChron (see Fig. 7): a tropical stony coral (Porites lutea; hereafter: coral) from the Pandora Reef (Great barrier Reef, NE Australia; Gagan et al., 1994; see SI10), a Pacific oyster shell (Crassostrea gigas; hereafter: oyster) from List Basin in Denmark (Ullmann et al., 2010; see SI10), and a temperate-zone speleothem from Han-sur-Lesse cave (Belgium; hereafter: speleothem; see Vansteenberge et al., 2020; see SI10). Finally, ShellChron's performance in terms of computation time and accuracy is compared to that of the most comprehensive pre-existing δ18Oc-based age model (GRATAISS model by Judd et al., 2018) on simulated temperature sinusoids of various length and sampling resolutions to which stochastic noise was added (sensu Case 1; de Winter et al., 2021a; see Fig. 8 and SI11). The latter also demonstrates the scalability of ShellChron and its application to a variety of datasets. Timing comparisons were carried out using a modern laptop (Dell XPS13–7390; Dell Inc., Round Rock, Tx, USA) with an Intel Core i7 processor (8 MB cache, 4.1 GHz clock speed, four cores, Intel Corporation, Santa Clara, CA, USA), 16 GB LPDDR3 RAM and an SSD drive running Windows 10. Note that ShellChron was built and tested successfully on Mac OS, Fedora Linux, and Ubuntu Linux as well.

Figure 8Overview of the result of timing ShellChron and the GRATAISS model on the same datasets (a), comparing the accuracies of both models (b), and comparing the accuracy as calculated by ShellChron with the known offset in the age model (c). In (a) and (b), low-resolution datasets are plotted in dark blue (ShellChron) and dark green (GRATAISS), while high-resolution datasets are plotted in light blue (ShellChron) and light green (GRATAISS). Solid lines represent ShellChron, and dashed lines show the performance of the GRATAISS model. Green dotted lines in (b) show the accuracies of the GRATAISS model on a year-by-year basis (without accumulating error due to linking consecutive years). The black box in (a) and (b) highlights the dataset used in (c). In (c), dark blue lines, bars, and box plot indicate true offset of the model from the actual sample age, while light blue lines, bars, and box plot show the accuracy of the model as calculated from the propagated errors in model and input data. Raw data are provided in SI11.


4.1 Testing model parameters

Testing different combinations of modeling parameters (Fig. 5) shows that, while the results of ShellChron can improve beyond the default SCEUA parameters and sinusoidal regression, care must be taken to evaluate the effect of changing modeling parameters on both the δ18Oc fit and the age–distance relationship. Comparative testing on the test case (Fig. 5) shows that sinusoidal regression has a negligible influence on the success of ShellChron fitting the δ18Oc curve (Fig. 5a and b; standard deviation for δ18Oc is 0.49 ‰ with sinusoidal regression and 0.50 ‰ without). However, ShellChron with sinusoidal regression performs better in terms of age approximation, with a mean age offset of only 7±32 d with sinusoidal regression against 32±35 d without (Fig. 5c and d). Age–distance plots (Fig. 5c) show that the model without sinusoidal fit shows a phase offset with respect to the known age–distance relationship, resulting in overestimation of the age for much of the record. Sinusoidal regression probably results in better initial parameter estimation, which helps to avoid phase offsets like the one shown in Fig. 5. For the remainder of the tests, sinusoidal regression was enabled.

The remainder of the tests show that the main bottleneck towards better δ18Oc fit optimization is the maximum number of function evaluations allowed within a single modeling cycle (maxn; see Fig. 5). Increasing the other SCEUA parameters, such as the number of complexes in the SCEUA routine (ngs), the number of shuffling loops that should show a significant change before convergence (kstop), and the thresholds for significant change in parameter value (peps) or result value (pcento), does not improve the result if the SCEUA algorithm is not allowed more processing time (maxn). In fact, Fig. 5 shows that increasing these SCEUA parameters can actually result in a deterioration of the δ18Oc fit and higher uncertainty in the age result (Fig. 5b and d). A fivefold increase in maxn (maxn = 50 000) almost halves the standard deviation of δ18Oc residuals (from 0.49 ‰ to 0.29 ‰; Fig. 5b) and decreases the standard deviation of the age model offset from 32 to 26 d (Fig. 5d). A combination of a 10-fold increase in function evaluations with an equal multiplication of the number of complexes in the SCEUA routine (ngs; see details in Duan et al., 1992) results in a further reduction of standard deviations of δ18Oc (0.23 ‰) and age results (12 d). These tests show that returns in terms of model precision quickly diminish with increasing processing time. Since the total modeling time linearly scales with the number of function evaluations, this trade-off towards a lower standard deviation of the modeling result is costly. These function evaluations are repeated in each modeling window, so the cost in terms of extra processing time can increase quickly, especially for larger δ18Oc datasets. In addition, in this situation the mean model offset (accuracy of the model; 7, 28 and 14 d for maxn of 1.0×104, 5.0×104 and 1.0×105, respectively; Fig. 5d) does not significantly improve with an increasing number of function evaluations. Based on these results, the default maxn parameter in ShellChron was set to 104 to compromise between keeping modeling times short while retaining high model accuracy. However, specific datasets may benefit from an increase in modeling time, so case-by-case assessment of the optimal SCEUA parameters is recommended. A detailed evaluation of the total modeling time in a typical δ18Oc dataset is discussed in Sect. 4.4.

Table 2Overview of datasets and model results.

Download Print Version | Download XLSX

4.2 Artificial carbonate records

Results of running ShellChron on the test case (Fig. 4), Case 1, and Texel datasets (Fig. 6) show that modeled δ18Oc records in individual windows closely match the data. On the level of individual windows, interannual growth rate variability is more difficult to model than the temperature sinusoid, especially when sampling resolution is limited and at the beginning and end of the record (Fig. 4b). However, after overlapping multiple windows, the accuracy of ShellChron improves significantly (Fig. 4e). Note that in Fig. 4a–c, the length of the first model window (difference in age between first and 11th data point) is less than 365 d because the 12th data point, which occurs exactly 1 year after the first point, is not part of the window. A summary of ShellChron performance statistics is given in Table 2. In all virtual datasets, δ18Oc estimates are equally distributed above and below the δ18Oc data (Δ18Oc=0.0; Spearman's ρ of 0.94, 0.98, and 0.92 for the test case, Case 1, and Texel datasets, respectively). Age offsets vary slightly over the seasons, but the difference between monthly time bins is not statistically significant on a 95 % confidence level (Fig. 6c and f; see also SI12). The fact that seasonal bias in age offset is absent in the Texel dataset, which is skewed towards growth in the winter season and includes relatively strong seasonal variability in δ18Ow, shows that ShellChron is not sensitive to such subtle (though common) variability in growth rate or δ18Ow. In general, ShellChron's mean age assignment is accurate on a monthly scale (age offsets of 4±12 d and +30±24 d for Case 1 and Texel datasets, respectively). However, age results in individual months do sometimes show significant offsets from the known value (e.g., Fig. 6c and f). This is most notable in Case 1, for which the accuracy of the age model decreases near the extreme values of the δ18Oc curve (Fig. 6b and c). This occurs because in these places the model is most sensitive to stochastic noise (simulated uncertainty) in the δ18Oc value. A small random change in the δ18Oc value at the minima or maxima of the δ18Oc curve thus results in a large change in the model fit of the δ18Oc curve, resulting in a seasonally nonuniform decrease in the accuracy of the model, as is evident from the skewed Δ18Oc distribution in Fig. 6b and c. The sampling resolution in the Texel data decreases near the end of the record (see SI9), but this does not result in reduced age model accuracy. If anything, the age of Texel samples is better approximated near the end of the record, and age offsets are larger in the central part of the record (∼30–50 mm; Fig. 6e). The lower accuracy in the third to fifth year of the Texel record is likely a result of the sub-annual variability in the record that is superimposed on the seasonal cycle. The lower sampling resolution later in the record mutes this variability and illustrates that higher sampling resolutions do not necessarily result in better age models. The constant offset of the modeled age of the Texel sample from the known age is a result of the way the model result was aligned to start at zero for comparison with the known age (Fig. 6f). This was done by adding the offset from zero of the modeled age of the first data point in the record to the entire record, thereby defining an arbitrary reference point which is sensitive to the uncertainty in the age of the first sample (see also oyster and speleothem results in Fig. 7b and c). Note that this alignment issue does not play a role in fossil data, for which model results can be aligned to growth marks in the carbonate (e.g., shell growth breaks or laminae), and that it does not affect the seasonal alignment of the proxy binned into monthly sample bins.

4.3 Natural carbonate records

Results of modeling natural carbonate records (Fig. 7; Table 2; see also SI10) illustrate the effectiveness of ShellChron for various types of records. Performance clearly depends on the resolution of the record and the regularity of seasonal variability contained within. As in the virtual datasets, modeled δ18Oc successfully mimics δ18Oc data in all records (Δ18Oc=0.0; Spearman's ρ of 0.97, 0.91, and 0.92 for coral, oyster, and speleothem, respectively). No consistent seasonal bias is observed in Δ18Oc and model accuracy (p>0.05; see Table 2 and SI12), despite significant (seasonal and interannual) variability contained in the records (especially in oyster and speleothem records). When comparing the accuracy of these records, it must be noted that the “known” age of the samples in these natural carbonates is not known. Model results are instead compared with age models constructed using conventional techniques such as matching δ18Oc profiles with local temperature and/or δ18Ow variability (oyster and coral records) or even merely by linear interpolation between annual markers in the record (speleothem record; see the Supplement). Despite this caveat, testing results clearly show that the least complicated record (coral; Fig. 7A), characterized by minimal variability in δ18Ow and growth rate as well as a high sampling density, has the best overall model result (Δ18Oc=0.0±0.14 compared to a ∼1.7 ‰ seasonal range; ρ=0.97; Δt=12±28 d; see Table 2). The oyster record (Fig. 7b), which has strong seasonal variability in growth rate and δ18Osw, also yields a reliable age model (Δ18Oc=0.0±0.39 compared to a ∼3 ‰ seasonal range; ρ=0.91; Δt=-15±43 d; see Table 2). On closer inspection, the age within the oyster record is clearly more difficult to model than within the coral, due in part to the higher variability of δ18Oc values superimposed on the seasonal cycle, the sharp growth cessations in the winters (high δ18Oc values), and the variability in sampling resolution within the record. The latter causes the first growth year of the oyster record to be less accurately modeled (Fig. 7b), while the variability in δ18Oc causes the edges of some modeling windows to predict steep increases or decreases in δ18Oc (vertical “offshoots” in modeled δ18Oc; Fig. 7b). Note that the low weighting of the edges of modeling windows combined with the high overall sampling resolution in the oyster record minimizes the effect of these offshoots on the accuracy of the model. The speleothem record (Fig. 7c), plagued by lower sampling resolution, large interannual δ18Oc variability, restricted δ18Oc seasonality, and a lack of clearly seasonal δ18Oc forcing, yields the least reliable model result (Δ18Oc=0.0±0.08 ‰ compared to a ∼0.5 ‰ seasonal range; ρ=0.92; Δt=-114±59 d; see Table 2). Note that the accuracy figure provided for the speleothem record is based on comparison with an age model relying on linear interpolation between annual growth lines. This assumption of the age–distance relationship is almost certainly erroneous, since drip water supply to (and therefore growth in) speleothems has been shown to vary seasonally (e.g., Baldini et al., 2008), including at the very site the speleothem data derive from (Han-sur-Lesse cave, Belgium; Van Rampelbergh et al., 2014; Vansteenberge et al., 2020). However, since no reliable information is available on sub-annual variability in growth rates in this record, ShellChron results cannot be validated at the sub-annual scale in this case. The high age offset (−114 d) in the speleothem model result is a consequence of the assumption in ShellChron that the highest temperature (lowest δ18Oc value) recorded in each growth year happens halfway through the year (day 183) and the alignment of the modeled age with the known age for this record (see discussion of Texel results in Sect. 4.2). While the assumption about the phase of the temperature sinusoid is approximately valid for temperature-controlled δ18Oc records (see Figs. 6 and 7), it is problematic for speleothems, in which δ18Oc is often dominated by the δ18Ow of drip water, which may not be lowest during the summer season (see Van Rampelbergh et al., 2014). The timing of the δ18Oc minimum can be set in the run_model function using the t_maxtemp parameter. Note that changing t_maxtemp does not affect relative dating within the δ18Oc record but, if set correctly, results in a phase shift of the age model result into better alignment with the seasonal cycle.

4.4 Modeling time

The performance of both ShellChron and GRATAISS in terms of computation time linearly increases with the length of the record (in years; see Figs. 8, S5 and SI11). Computation time of ShellChron for the high-resolution test dataset (50 samples yr−1) increases very steeply with the length of the record in years (∼20 min per additional year), while the low-resolution dataset (16 samples yr−1) shows a slower increase (∼3 min per additional year; Fig. 5a). This contrasts with GRATAISS, which requires only slightly more time for high-resolution data than low-resolution datasets (∼7 and ∼10 min per additional year, respectively). The difference is explained by the sliding window approach applied in ShellChron, which requires more SCEUA optimization runs per year in high-resolution datasets than in low resolution datasets. When plotted against the number of calculation windows or samples in the dataset, running ShellChron on low-resolution and high-resolution datasets require a similar increase in computation time (∼0.4 min, or 24 s, per additional sample or window; Fig. S5) under default SCEUA conditions. ShellChron outcompetes GRATAISS in terms of computation time in datasets with fewer than ∼20 samples yr−1, even though more SCEUA optimizations are required.

A key computational improvement in ShellChron is the application of a sinusoidal regression before each SCEUA optimization to estimate the initial values of the modeled parameters (sinreg function; see Eq. 9 and Fig. 1 in Model description). Since carbonate archives are rarely sampled for stable isotope measurements above 20 samples yr−1 (e.g., Goodwin et al., 2003; Schöne et al., 2005; Lough, 2010, and references therein), the disadvantage of a steep computational increase for very high-resolution archives is, in practice, a favorable trade-off for the added control on model and measurement uncertainty as well as smoother inter-year transitions ShellChron offers in comparison to previous models. The similarity of ShellChron's accuracy in the low- and high-resolution datasets demonstrates its robustness across datasets with various sampling resolutions (see also Table 2 and Fig. 7).

Longer computation times in GRATAISS result in slightly better accuracy for the modeled age compared to ShellChron on the scale of individual data points in low-resolution datasets (see Fig. 8b). However, this advantage is rapidly lost when records containing multiple years are considered (Fig. 8b). The advantage of the ShellChron model is its application of overlapping model windows, which smooth out the transitions between modeled years and eliminate accumulations of model inaccuracies when records grow longer. In addition, contrary to previous models, ShellChron does not rely on user-defined year boundaries, which may introduce mismatches between subsequent years to be propagated through the age model, even in ideal datasets such as Case 1 (Fig. 8b; see also the Supplement). By comparison, the overall accuracy of ShellChron is much more stable within and between datasets of different length, while rarely introducing offsets of more than a month. It must be noted here that the cumulative multiyear age uncertainty in the GRATAISS model (Fig. 8b) was calculated by combining the results of consecutive growth years in the record, which GRATAISS models separately, while avoiding age inversions and retaining the seasonal phase of the model results. This procedure causes gaps in time to be introduced in the cumulative age modeled by GRATAISS whenever the results of two consecutive, individually modeled growth years do not align, explaining the sharp increases in age uncertainty of the GRATAISS model result (Fig. 8b). These cumulative uncertainties are therefore not theoretically part of the model result (see year-by-year uncertainty in Fig. 8b) but are a necessary consequence of the way GRATAISS approximates growth years separately. If only within-year inaccuracies are compared, GRATAISS results are roughly equally as accurate as ShellChron results (see dotted lines in Fig. 8b).

While ShellChron considers the uncertainty in input parameters, this uncertainty is not considered in most previous models (the MoGroFun model of Goodwin et al., 2003, being the exception). The added uncertainty caused by input error is higher in less regular (sinusoidal) δ18Oc records and in records with lower sampling resolution, causing the uncertainties in GRATAISS reported here for the ideal high-resolution Case 1 dataset to be overly optimistic. If ShellChron's model accuracy is insufficient, its modular character allows the user to run the SCEUA algorithm to within more precise optimization criteria by changing the model parameters (see Sect. 4.1). However, this adaptation comes at a cost of longer computation times.

The estimated uncertainty envelope (95 % confidence interval) for the modeled age calculated by the error propagation algorithm in ShellChron (4.7±6.5 d) on average slightly underestimates the actual offset between modeled age and known age in the Case 1 record (9.3±13.1 d; Fig. 8c). The foremost difference between modeled and known uncertainty in the result is that the modeled uncertainty yields a more smoothed record of uncertainty compared to the record of actual offset of the model (Fig. 8c). ShellChron's uncertainty calculations are partly based on comparing overlapping model windows, thereby smoothing out short-term variations in model offset. The uncertainty of the model result (both known and modeled) shows regular variability with a period of half a year (Fig. 8c). Comparing this variability with the phase of the record (6 years of which are plotted in Fig. 6a) reveals that the uncertainty of the model is negatively correlated with the slope of the δ18Oc record. This is expected because in parts of the record with extreme values in the δ18Oc curve, the local age model result is more sensitive to small changes in the sampling distance, caused either by uncertainty in the model fit or propagated uncertainty in the sampling distance defined by the user (see discussion in Sect. 4.2). The slight seasonal variability in model accuracy in Case 1 is also shown in Fig. 6c and comprises a difference in uncertainty of up to 10 d depending on the time of year in which the data point is found.

5 Applications and discussion

Its new features compared to previous age model routines make ShellChron a versatile package for creating age models in a range of high-resolution paleoclimate records. The discussion above demonstrates that ShellChron can reconstruct the age of individual δ18Oc samples with monthly precision. This level of precision is sufficient for accurate reconstructions of seasonality, defined as the difference between warmest and coldest month (following USGS definitions; O'Donnell and Ignizio, 2012). While an improvement on this uncertainty could be of potential interest for ultrahigh-resolution paleoclimate studies (e.g., sub-daily variability; see Sano et al., 2012; Yan et al., 2020; de Winter et al., 2020a), the increase in computation time and the sampling resolution such detailed age models demand render age modeling from δ18Oc records inefficient for this purpose (see Sect. 4.1 and 4.4). The sampling resolution for high-resolution carbonate δ18Oc records in the literature does not typically exceed 100 µm due to limitations in sampling acquisition (e.g., micromilling), which even in fast-growing archives limits the resolution of these records to several days at best (see Gagan et al., 1994; Van Rampelbergh et al., 2014; de Winter et al., 2020c). While in some archives, high-resolution (<100µm) trace element records could be used to capture variability beyond this limit, the monthly age resolution of ShellChron is sufficient for most typical high-resolution paleoclimate studies.

The ability to produce uninterrupted age models from multiyear records while considering both variability in δ18Ow and uncertainties in input parameters represents major advantages of ShellChron over previous age modeling solutions. As a result, ShellChron can be applied to a wide range of carbonate archives (see Fig. 7 and Table 2). However, testing ShellChron on different records highlights the limitations of the model inherited through its underlying assumptions. The most accurate model results are obtained for records with minimal growth rate and δ18Ow variability as well as a nearly sinusoidal δ18Oc record, such as tropical coral records (Fig. 7a; Gagan et al., 1994). In records wherein large seasonal variability in growth rate and δ18Ow does occur, such as in intertidal oyster shells, ShellChron's accuracy slightly decreases, especially near growth hiatuses in the record (see Fig. 7b; Ullmann et al., 2010). A worst-case scenario is represented by the speleothem record, which not only suffers from much slower and more unpredictable growth rates and contains a comparatively small annual range in δ18Oc, but it also responds to δ18Ow variability in drip water in the cave rather than temperature seasonality, which is one of the assumptions underlying the current version of ShellChron (Fig. 7c; Vansteenberghe et al., 2019). Despite these problems, ShellChron yields an age model that is remarkably accurate on an annual timescale, which is as good as, or better than, the best age model that can be obtained by applying layer counting to the most clearly laminated parts of the speleothem (e.g., Verheyden et al., 2006). It must be noted that, while the close fit between modeled δ18Oc and speleothem δ18Oc data (ρ=0.92; σ=0.08 ‰) is encouraging, a major reason for the model's success is the fact that the Proserpine speleothem used in this example is known to receive significantly seasonal (though not sinusoidal) drip water volumes and concentrations (Van Rampelbergh et al., 2014). Variability in drip water properties and cave temperatures is known to differ strongly between cave systems (Fairchild et al., 2006; Lachniet, 2009). For ShellChron (or any other δ18Oc-based age model) to work reliably in speleothem records, consistent seasonal variability in either temperature or δ18Ow should be demonstrated to significantly influence the δ18Oc variability in the record. In practice, these constraints make ShellChron applicable in speleothems for which the cave environment varies in response to the seasonal cycle, such as localities overlain by thin epikarst, well-ventilated caves, or speleothems situated close to the cave entrance (Verheyden et al., 2006; Feng et al., 2014; Baker et al., 2021).

ShellChron's ability to model multiyear records with smooth transitions between the years does not compromise the accuracy of its age determination on the seasonal scale (e.g., Figs. 6 and 7). Many paleoclimatology studies investigating the seasonal cycle rely on stacking of seasonal variability relative to the annual cycle, thereby combining seasonal information from multiple years to obtain a precise reconstruction of seasonal variability in the past (e.g., de Winter et al., 2018; Judd et al., 2019; Tierney et al., 2020). While this can be achieved using age models of individual years (e.g., Judd et al., 2018), seasonally resolved archives dated using ShellChron can also be stacked along a common seasonal axis while retaining information about the multi-annual record, allowing, for example, comparison between consecutive years dated using the same age model including uncertainty in the age determination.

The difficulty of applying age model routines to speleothem records highlights one of the main advantages of ShellChron over pre-existing age model routines, namely its modular character. Since δ18Oc records from some carbonate archives, such as speleothems, cannot be described by the standard combination of temperature and growth rate sinusoids on which ShellChron is based (in its current version), the possibility to adapt the “building block” functions used to approximate these δ18Oc records (d18O_model, temperature_curve, and growth_rate_curve; see Fig. 1) while leaving the core structure of ShellChron intact greatly augments the versatility of the model. The freedom to adapt the building blocks used to approximate the δ18Oc record theoretically enables ShellChron to model sub-annual age–distance relationships in any record if the seasonal variability in the variables used to model the input data are predictable and can be represented by a function. For example, since speleothem δ18Oc records often depend on variability in the δ18Ow value of the drip water, a function describing this variability through the year can replace the temperature_curve function to create more accurate sub-annual age models for speleothems (e.g., Mattey et al., 2008; Lachniet, 2009; Van Rampelbergh et al., 2014). Similarly, the growth_rate_curve function can be modified in the case that the default skewed sinusoid does not accurately describe the extension rate of the record under study, and the d18O_model function can be adapted to feature the most fitting δ18Oc–temperature or δ18Ocδ18Ow relationship. Note that the flexibility of this approach is limited by the expression of the annual cycle in the δ18Oc record. The δ18Oc-based dating approach in ShellChron will therefore have more trouble dating records in which the annual δ18Oc variability is severely dampened, such as speleothems in deeper cave systems (e.g., Vansteenberge et al., 2016), or in which annual δ18Oc variability is not sinusoidal, such as tropical records with bimodal temperature or precipitation seasonality (Knoben et al., 2019).

Flexibility in the definition of building block functions used to approximate the input data paves the way for future application beyond carbonate δ18Oc records. The seasonal variability in δ18O in some ice cores can be approximated by a stable and unbiased temperature relationship (van Ommen and Morgan, 1997). ShellChron can therefore be modified to date sub-annual samples in these ice core records and reconstruct seasonal variability in the high latitudes through the Quaternary. Similarly, interannual δ18O variability in tree ring records is demonstrated to record variability in precipitation through the year, and this variability can be modeled to improve sub-annual age models in these records (Xu et al., 2016). More generally, the field of dendrochemistry has recently developed additional chemical proxies for seasonality (e.g., trace element concentrations), which can be measured in smaller sample volumes (and thus greater resolution) to obtain ultrahigh-resolution records on which (sub-annual) dating can be based (e.g., Poussart et al., 2006; Superville et al., 2017). A similar development has taken place in the study of carbonate bio-archives such as corals and mollusks, some of which show strong, predictable seasonal variability in trace elements (e.g., Mg/Ca and Sr/Ca ratios) which can be used to accurately date these records (de Villiers et al., 1995; Sosdian et al., 2006; Durham et al., 2017; de Winter et al., 2021b). Minor changes in the building block functions using empirical transfer functions for these trace element records will enable ShellChron to capitalize on these relationships and reconstruct sub-annual growth rates with improved precision due to the higher precision with which these proxies can be measured compared to δ18Oc records. Finally, the application of ShellChron for age model construction is not necessarily limited to the seasonal cycle, as other major cycles in climate (e.g., tidal, diurnal, or Milankovitch cycles) leave similar marks on climate records and can thus be used as a basis for age modeling (e.g., Sano et al., 2012; Huyghe et al., 2019; de Winter et al., 2020a; Sinnesael et al., 2019). It must be noted that, since ShellChron was developed for modeling based on annual periodicity, applying it to other timescales would require more thorough adaptation of the model code than merely adapting the building block functions to support additional proxy systems.

While age reconstructions are the main aim of ShellChron, the model also yields information about the temperature and growth rate parameters used in each simulation window to approximate the local δ18Oc curve (see parameter matrix in Fig. 1 and SI6). These parameters hold key information about the response of the archive to seasonal changes in the environment, such as the season of growth, relationships between growth rate and temperature, and the temperature range that is recorded. Combining these parameters with records of influential environmental variables such as seawater chlorophyll concentration or local precipitation patterns yields information about the response of the climate archive to environmental variables, in addition to the climate or environmental change it records. Study examples include the relationship between the growth rate of marine calcifies and phytoplankton abundance or the correlation between precipitation patterns and chemical variability in speleothems. While such discussion is beyond the scope of this work, examples of parameter distributions are provided in SI5, and the application of modeled growth rate parameters in bivalve sclerochronology is discussed in more detail in Judd et al. (2018). Note that the sliding window approach of ShellChron produces records of changing temperature and growth rate parameters at the scale of individual samples (albeit smoothed by the sliding window approach) rather than annually, as in Judd et al. (2018).

6 Conclusions

ShellChron offers a novel, open-source solution to the problem of dating carbonate archives for high-resolution paleoclimate reconstruction on a sub-annual scale. Based on critical evaluation of previous age models, building on their strengths while attempting to minimize their weaknesses, ShellChron provides continuous age models based on δ18Oc profiles in these archives with monthly accuracy, considering the uncertainties associated with both the model itself and the input data. The monthly accuracy of the model, as tested on a range of virtual and natural datasets, enables its application for age determination in studies of seasonal climate and environmental variability. Higher accuracies can be reached at the cost of longer computation times by adapting the model parameters, but age determinations far beyond the monthly scale are unlikely to be feasible considering the limitations on sampling resolution and measurement uncertainties in δ18Oc records. ShellChron's computation times for datasets with sampling resolutions typical for the paleoclimatology field (up to 20 samples yr−1) remain practical and comparable to previous model solutions, despite adding several features that improve the versatility and interpretation of model results. Its modular design allows ShellChron to be adapted to different situations with comparative ease. It thereby functions as a platform for age–distance modeling on a wide range of climate and environmental archives and is not limited in its application to the δ18Oc proxy, the carbonate substrate, or even to the annual cycle, as long as the relationship between the proxy and the extension rate of the archive on a given timescale can be parameterized. Future improvements will capitalize on this variability, expanding ShellChron beyond its current dependency on the δ18Oc–temperature relationship in carbonates. Members of the high-resolution paleoclimate community are invited to contribute to this effort by adapting the model for their purpose.

Code and data availability

ShellChron is worked out into a fully functioning package for the open-source computational language R (version 3.5.0 or later; R Core Team, 2020). The most recent full version (v0.4.0) of ShellChron passed the code review of the Comprehensive R Archive Network (CRAN) and is freely available for download as an R package on the CRAN server (see; de Winter, 2021a). The CRAN server entry also includes detailed line-by-line documentation of the code and working examples for every function. In addition, the latest development version of ShellChron is available on Zenodo (; de Winter, 2022). Those interested in adapting ShellChron for their research purposes are invited to do so there. Code and documentation, together with all supplementary files belonging to this study, are also available on the open-source online repository Zenodo (; de Winter, 2021b).


The supplement related to this article is available online at:

Competing interests

The contact author has declared that there are no competing interests.


Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.


Thanks go to Emily Judd for discussions about the workings of the Judd et al. (2018) model and its potential adaptation beyond aragonitic mollusk shells. High-resolution temperature and salinity data from the NIOZ jetty, which underlie the Texel dataset and the noise added to the idealized Case 1 dataset, were kindly provided by Eric Wagemaakers and Sonja van Leeuwen (Royal Dutch Institute for Sea Research, the Netherlands). The δ18Oc data series from the Crassostrea gigas (oyster) and Proserpine stalagmite (speleothem) were generously provided by Clemens V. Ullmann (University of Exeter, UK) and Stef Vansteenberge (Vrije Universiteit Brussel, Belgium), respectively. Raw data from the Porites lutea coral dataset were obtained with help of the WebPlotDigitizer (, last access: 9 February 2022) developed by Ankit Rohatgi. Preparation of the ShellChron model into an R package would not have been possible without the helpful instructions by Fong Chun Chan (, last access: 9 February 2022), Hilary Parker (, last access: 9 February 2022), and Hadley Wickham (, last access: 9 February 2022) as well as the insightful and inspiring discussions on R coding and statistics with Ilja Kocken (Utrecht University). In addition, distribution of the code in an organized way was made possible thanks to Git (, last access: 9 February 2022), GitHub (, last access: 9 February 2022), and the R Project Team (, last access: 9 February 2022), with special thanks to Uwe Ligges (University of Dortmund, Germany) and Gregor Seyer (University of Vienna, Austria) for their comments on initial submissions of the package to the CRAN database. Thanks go to William A. Huber (, last access: 9 February 2022) for providing a practical general solution to the peak identification problem in the cumulative_day function (see peakid function and, last access: 9 February 2022).

Financial support

This research has been supported by the H2020 Marie Skłodowska-Curie Actions (grant no. 843011-UNBIAS) and the Fonds Wetenschappelijk Onderzoek (grant no. 12ZB220N).

Review statement

This paper was edited by Olivier Marti and reviewed by three anonymous referees.


Bajnai, D., Guo, W., Spötl, C., Coplen, T. B., Methner, K., Löffler, N., Krsnik, E., Gischler, E., Hansen, M., Henkel, D., Price, G. D., Raddatz, J., Scholz, D., and Fiebig, J.: Dual clumped isotope thermometry resolves kinetic biases in carbonate formation temperatures, Nat. Commun., 11, 4005,, 2020. 

Baker, A., Mariethoz, G., Comas-Bru, L., Hartmann, A., Frisia, S., Borsato, A., Treble, P. C., and Asrat, A.: The Properties of Annually Laminated Stalagmites-A Global Synthesis, Rev. Geophys., 59, e2020RG000722,, 2021. 

Baldini, J. U. L., McDermott, F., Hoffmann, D. L., Richards, D. A., and Clipson, N.: Very high-frequency and seasonal cave atmosphere PCO2 variability: Implications for stalagmite growth and oxygen isotope-based paleoclimate records, Earth Planet. Sc. Lett., 272, 118–129, 2008. 

Brand, W. A., Coplen, T. B., Vogl, J., Rosner, M., and Prohaska, T.: Assessment of international reference materials for isotope-ratio analysis (IUPAC Technical Report), Pure Appl. Chem., 86, 425–467, 2014. 

Butler, P. G., Wanamaker, A. D., Scourse, J. D., Richardson, C. A., and Reynolds D. J.: Variability of marine climate on the North Icelandic Shelf in a 1357-year proxy archive based on growth increments in the bivalve Arctica islandica, Palaeogeogr. Palaeocl., 373, 141–151, 2013. 

Chauvaud, L., Lorrain, A., Dunbar, R. B., Paulet, Y.-M., Thouzeau, G., Jean, F., Guarini, J.-M., and Mucciarone, D.: Shell of the Great Scallop Pecten maximus as a high-frequency archive of paleoenvironmental changes, Geochem. Geophys. Geosyst., 6, 1–15, 2005. 

Coplen, T. B.: Calibration of the calcite–water oxygen-isotope geothermometer at Devils Hole, Nevada, a natural laboratory, Geochim. Cosmochim. Ac., 71, 3948–3957, 2007. 

Daëron, M., Guo, W., Eiler, J., Genty, D., Blamart, D., Boch, R., Drysdale, R., Maire, R., Wainer, K., and Zanchetta, G.: 13C18O clumping in speleothems: Observations from natural caves and precipitation experiments, Geochim. Cosmochim. Ac., 75, 3303–3317, 2011. 

Daëron, M., Drysdale, R. N., Peral, M., Huyghe, D., Blamart, D., Coplen, T. B., Lartaud, F., and Zanchetta, G.: Most Earth-surface calcites precipitate out of isotopic equilibrium, Nat. Commun., 10, 429,, 2019. 

de Brauwere, A., De Ridder, F., Pintelon, R., Schoukens, J., and Dehairs, F.: A comparative study of methods to reconstruct a periodic time series from an environmental proxy record, Earth-Sci. Rev., 95, 97–118, 2009. 

De Ridder, F., de Brauwere, A., Pintelon, R., Schoukens, J., Dehairs, F., Baeyens, W., and Wilkinson, B. H.: Comment on: Paleoclimatic inference from stable isotope profiles of accretionary biogenic hardparts – a quantitative approach to the evaluation of incomplete data, Palaeogeogr. Palaeocl., 248, 473–476, 2007. 

Dettman, D. L., Reische, A. K., and Lohmann, K. C.: Controls on the stable isotope composition of seasonal growth bands in aragonitic fresh-water bivalves (Unionidae), Geochim. Cosmochim. Ac., 63, 1049–1057, 1999. 

de Villiers, S., Nelson, B. K., and Chivas, A. R.: Biological controls on coral Sr/Ca and δ18O reconstructions of sea surface temperatures, Science, 269, 1247,, 1995. 

de Winter, N. J.: ShellChron: Builds Chronologies from Oxygen Isotope Profiles in Shells, 2021, CRAN [code], (last access: 9 February 2022), 2021a. 

de Winter, N. J.: Supplement to: “ShellChron: A new tool for constructing chronologies in accretionary carbonate archives from stable oxygen isotope profiles” by Niels J. de Winter, Zenodo [data set],, 2021b. 

de Winter, N. J.: ShellChron (0.4.0), Zenodo [code],, 2022. 

de Winter, N. J., Goderis, S., Dehairs, F., Jagt, J. W., Fraaije, R. H., Van Malderen, S. J., Vanhaecke, F., and Claeys, P.: Tropical seasonality in the late Campanian (late Cretaceous): Comparison between multiproxy records from three bivalve taxa from Oman, Palaeogeogr. Palaeocl., 485, 740–760, 2017. 

de Winter, N. J., Vellekoop, J., Vorsselmans, R., Golreihan, A., Soete, J., Petersen, S. V., Meyer, K. W., Casadio, S., Speijer, R. P., and Claeys, P.: An assessment of latest Cretaceous Pycnodonte vesicularis (Lamarck, 1806) shells as records for palaeoseasonality: a multi-proxy investigation, Clim. Past, 14, 725–749,, 2018. 

de Winter, N. J., Goderis, S., Malderen, S. J. M. V., Sinnesael, M., Vansteenberge, S., Snoeck, C., Belza, J., Vanhaecke, F., and Claeys, P.: Subdaily-Scale Chemical Variability in a Torreites Sanchezi Rudist Shell: Implications for Rudist Paleobiology and the Cretaceous Day-Night Cycle, Paleoceanogr. Paleocl., 35, e2019PA003723,, 2020a. 

de Winter, N. J., Ullmann, C. V., Sørensen, A. M., Thibault, N., Goderis, S., Van Malderen, S. J. M., Snoeck, C., Goolaerts, S., Vanhaecke, F., and Claeys, P.: Shell chemistry of the boreal Campanian bivalve Rastellum diluvianum (Linnaeus, 1767) reveals temperature seasonality, growth rates and life cycle of an extinct Cretaceous oyster, Biogeosciences, 17, 2897–2922,, 2020b. 

de Winter, N. J., Vellekoop, J., Clark, A. J., Stassen, P., Speijer, R. P., and Claeys, P.: The giant marine gastropod Campanile giganteum (Lamarck, 1804) as a high-resolution archive of seasonality in the Eocene greenhouse world, Geochem. Geophys. Geosyst., 21, e2019GC008794,, 2020c. 

de Winter, N. J., Agterhuis, T., and Ziegler, M.: Optimizing sampling strategies in high-resolution paleoclimate records, Clim. Past, 17, 1315–1340,, 2021. 

de Winter, N. J., Dämmer, L. K., Falkenroth, M., Reichart, G.-J., Moretti, S., Martínez-García, A., Höche, N., Schöne, B. R., Rodiouchkina, K., Goderis, S., Vanhaecke, F., van Leeuwen, S. M., and Ziegler, M.: Multi-isotopic and trace element evidence against different formation pathways for oyster microstructures, Geochim. Cosmochim. Ac., 308, 326–352,, 2021b. 

Duan, Q., Sorooshian, S., and Gupta, V.: Effective and efficient global optimization for conceptual rainfall-runoff models, Water Resour. Res., 28, 1015–1031, 1992. 

Dunbar, R. B. and Wellington, G. M.: Stable isotopes in a branching coral monitor seasonal temperature variation, Nature, 293, 453–455, 1981. 

Durham, S. R., Gillikin, D. P., Goodwin, D. H., and Dietl, G. P.: Rapid determination of oyster lifespans and growth rates using LA-ICP-MS line scans of shell Mg/Ca ratios, Palaeogeogr. Palaeocl., 485, 201–209, 2017. 

Epstein, S., Buchsbaum, R., Lowenstam, H. A., and Urey, H. C.: Revised carbonate-water isotopic temperature scale, Geolog. Soc. Am. B., 64, 1315–1326, 1953. 

Evans, M. N. and Schrag, D. P.: A stable isotope-based approach to tropical dendroclimatology, edited by: Lea, D. W., Geochim. Cosmochim. Ac., 68, 3295–3305, 2004. 

Fairchild, I. J., Smith, C. L., Baker, A., Fuller, L., Spötl, C., Mattey, D., and McDermott, F.: Modification and preservation of environmental signals in speleothems, Earth-Sci. Rev., 75, 105–153, 2006. 

Feng, W., Casteel, R. C., Banner, J. L., and Heinze-Fry, A.: Oxygen isotope variations in rainfall, drip-water and speleothem calcite from a well-ventilated cave in Texas, USA: Assessing a new speleothem temperature proxy, Geochim. Cosmochim. Ac., 127, 233–250, 2014. 

Frisia, S., Borsato, A., Fairchild, I. J., and McDermott, F.: Calcite fabrics, growth mechanisms, and environments of formation in speleothems from the Italian Alps and southwestern Ireland, J. Sediment. Res., 70, 1183–1196, 2000. 

Gagan, M. K., Chivas, A. R., and Isdale, P. J.: High-resolution isotopic records from corals using ocean temperature and mass-spawning chronometers, Earth Planet. Sc. Lett., 121, 549–558, 1994. 

Goodwin, D. H., Schöne, B. R., and Dettman, D. L.: Resolution and Fidelity of Oxygen Isotopes as Paleotemperature Proxies in Bivalve Mollusk Shells: Models and Observations, PALAIOS, 18, 110–125, 2003. 

Goodwin, D. H., Paul, P., and Wissink, C. L.: MoGroFunGen: A numerical model for reconstructing intra-annual growth rates of bivalve molluscs, Palaeogeogr. Palaeocl., 276, 47–55, 2009. 

Grossman, E. L. and Ku, T.-L.: Oxygen and carbon isotope fractionation in biogenic aragonite: temperature effects, Chem. Geol.-Isotope Geoscience section, 59, 59–74, 1986. 

Huybers, P. and Curry, W.: Links between annual, Milankovitch and continuum temperature variability, Nature, 441, 329–332, 2006. 

Huyghe, D., de Rafelis, M., Ropert, M., Mouchi, V., Emmanuel, L., Renard, M. and Lartaud, F.: New insights into oyster high-resolution hinge growth patterns, Mar. Biol., 166, 48,, 2019. 

IPCC: Climate Change 2021: The Physical Science Basis. Contribution of Working Group I to the Sixth Assessment Report of the Intergovernmental Panel on Climate Change, edited by: Masson-Delmotte, V., Zhai, P., Pirani, A., Connors, S. L., Péan, C., Berger, S., Caud, N., Chen, Y., Goldfarb, L., Gomis, M. I., Huang, M., Leitzell, K., Lonnoy, E., Matthews, J. B. R., Maycock, T. K., Waterfield, T., Yelekçi, Ö., Yu, R., and Zhou, B., Cambridge University Press, ISBN 978-92-9169-158-6, 2021. 

Ivany, L. C. and Judd, E. J.: Deciphering Temperature Seasonality in Earth's Ancient Oceans, Annu. Rev. Earth, 50, 123–152,, 2022. 

Ivany, L. C. and Runnegar, B.: Early Permian seasonality from bivalve δ18O and implications for the oxygen isotopic composition of seawater, Geology, 38, 1027–1030, 2010. 

Jones, D. S.: Sclerochronology: Reading the Record of the Molluscan Shell: Annual growth increments in the shells of bivalve molluscs record marine climatic changes and reveal surprising longevity, Am. Scientist, 71, 384–391, 1983. 

Jones, D. S. and Quitmyer, I. R.: Marking Time with Bivalve Shells: Oxygen Isotopes and Season of Annual Increment Formation, PALAIOS, 11, 340–346, 1996. 

Judd, E. J., Wilkinson, B. H., and Ivany, L. C.: The life and time of clams: Derivation of intra-annual growth rates from high-resolution oxygen isotope profiles, Palaeogeogr. Palaeocl., 490, 70–83, 2018. 

Judd, E. J., Ivany, L. C., DeConto, R. M., Halberstadt, A. R. W., Miklus, N. M., Junium, C. K., and Uveges, B. T.: Seasonally resolved proxy data from the Antarctic Peninsula support a heterogeneous middle Eocene Southern Ocean, Paleoceanogr. Paleocl., 34, 787–799, 2019. 

Kim, S.-T. and O'Neil, J. R.: Equilibrium and nonequilibrium oxygen isotope effects in synthetic carbonates, Geochim. Cosmochim. Ac., 61, 3461–3475, 1997. 

Knoben, W. J. M., Woods, R. A., and Freer, J. E.: Global bimodal precipitation seasonality: A systematic overview, Int. J. Climatol., 39, 558–567, 2019. 

Lachniet, M. S.: Climatic and environmental controls on speleothem oxygen-isotope values, Quaternary Sci. Rev., 28, 412–432, 2009. 

LeGrande, A. N. and Schmidt, G. A.: Global gridded data set of the oxygen isotopic composition in seawater, Geophys. Res. Lett., 33, 1–5, 2006. 

Le Tissier, M. D. A., Clayton, B., Brown, B. E., and Davis, P. S.: Skeletal correlates of coral density banding and an evaluation of radiography as used in sclerochronology, Mar. Ecol. Prog. Ser., 110, 29–44, 1994. 

Lough, J. M.: Climate records from corals, WIREs Climate Change, 1, 318–331, 2010. 

Mahé, K., Bellamy, E., Lartaud, F., and de Rafélis, M.: Calcein and manganese experiments for marking the shell of the common cockle (Cerastoderma edule): tidal rhythm validation of increments formation, Aquat. Living Resour., 23, 239–245, 2010. 

Mattey, D., Lowry, D., Duffet, J., Fisher, R., Hodge, E., and Frisia, S.: A 53 year seasonally resolved oxygen and carbon isotope record from a modern Gibraltar speleothem: Reconstructed drip water and relationship to local precipitation, Earth Planet. Sc. Lett., 269, 80–95, 2008. 

McCrea, J. M.: On the Isotopic Chemistry of Carbonates and a Paleotemperature Scale, J. Chem. Phys., 18, 849–857, 1950. 

Mitchell Jr., J. M.: An overview of climatic variability and its causal mechanisms, Quaternary Res., 6, 481–493, 1976. 

Mohr, R. C., Tobin, T. S., Petersen, S. V., Dutton, A., and Oliphant, E.: Subannual stable isotope records reveal climate warming and seasonal anoxia associated with two extinction intervals across the Cretaceous-Paleogene boundary on Seymour Island, Antarctica, Geology, 48, 1131–1136, 2020. 

Müller, P., Taylor, M. H., Klicpera, A., Wu, H. C., Michel, J., and Westphal, H.: Food for thought: Mathematical approaches for the conversion of high-resolution sclerochronological oxygen isotope records into sub-annually resolved time series, Palaeogeogr. Palaeocl., 440, 763–776, 2015. 

O'Donnell, M. S. and Ignizio, D. A.: Bioclimatic predictors for supporting ecological applications in the conterminous United States, US Geological Survey Data Series, 691, 1–17, 2012. 

Poussart, P. M., Myneni, S. C. B., and Lanzirotti, A.: Tropical dendrochemistry: A novel approach to estimate age and growth from ringless trees, Geophys. Res. Lett., 33, 1–5,, 2006. 

R Core Team: R: A Language and Environment for Statistical Computing, R Foundation for Statistical Computing, Vienna, Austria, (last access: 9 February 2022), 2020. 

Rohling, E. J.: Oxygen isotope composition of seawater, The Encyclopedia of Quaternary Science. Amsterdam: Elsevier, 2, 915–922, 2013. 

Saenger, C., Gabitov, R. I., Farmer, J., Watkins, J. M., and Stone, R.: Linear correlations in bamboo coral δ13C and δ18O sampled by SIMS and micromill: Evaluating paleoceanographic potential and biomineralization mechanisms using δ11B and Δ47 composition, Chem. Geol., 454, 1–14, 2017. 

Sano, Y., Kobayashi, S., Shirai, K., Takahata, N., Matsumoto, K., Watanabe, T., Sowa, K., and Iwai, K.: Past daily light cycle recorded in the strontium/calcium ratios of giant clam shells, Nat. Commun., 3, 761,, 2012. 

Schöne, B. R., Fiebig, J., Pfeiffer, M., Gleß, R., Hickson, J., Johnson, A. L., Dreyer, W., and Oschmann, W.: Climate records from a bivalved Methuselah (Arctica islandica, Mollusca; Iceland), Palaeogeogr. Palaeocl., 228, 130–148, 2005. 

Schöne, B. R., Zhang, Z., Radermacher, P., Thébault, J., Jacob, D. E., Nunn, E. V., and Maurer, A.-F.: Sr/Ca and Mg/Ca ratios of ontogenetically old, long-lived bivalve shells (Arctica islandica) and their function as paleotemperature proxies, Palaeogeogr. Palaeocl., 302, 52–64, 2011. 

Schöne, B. R. and Gillikin, D. P.: Unraveling environmental histories from skeletal diaries – Advances in sclerochronology, Palaeogeogr. Palaeocl., 373, 1–5, 2013. 

Sinnesael, M., De Vleeschouwer, D., Zeeden, C., Batenburg, S. J., Da Silva, A.-C., de Winter, N. J., Dinarès-Turell, J., Drury, A. J., Gambacorta, G. and Hilgen, F. J.: The Cyclostratigraphy Intercomparison Project (CIP): consistency, merits and pitfalls, Earth-Sci. Rev., 199, 102965,, 2019. 

Sosdian, S., Gentry, D. K., Lear, C. H., Grossman, E. L., Hicks, D., and Rosenthal, Y.: Strontium to calcium ratios in the marine gastropod Conus ermineus: Growth rate effects and temperature calibration, Geochem. Geophys. Geosyst., 7, 1–17,, 2006. 

Steuber, T., Rauch, M., Masse, J.-P., Graaf, J., and Malkoč, M.: Low-latitude seasonality of Cretaceous temperatures in warm and cold episodes, Nature, 437, 1341–1344, 2005. 

Superville, P.-J., De Winter, N., Phung, A. T., Proix, N., Baeyens, W., and Gao, Y.: Radial metal concentration profiles in trees growing on highly contaminated soils, Chemosphere, 172, 80–88, 2017. 

Tarutani, T., Clayton, R. N., and Mayeda, T. K.: The effect of polymorphism and magnesium substitution on oxygen isotope fractionation between calcium carbonate and water, Geochim. Cosmochim. Ac., 33, 987–996, 1969. 

Tierney, J. E., Poulsen, C. J., Montañez, I. P., Bhattacharya, T., Feng, R., Ford, H. L., Hönisch, B., Inglis, G. N., Petersen, S. V., Sagoo, N., Tabor, C. R., Thirumalai, K., Zhu, J., Burls, N. J., Foster, G. L., Goddéris, Y., Huber, B. T., Ivany, L. C., Turner, S. K., Lunt, D. J., McElwain, J. C., Mills, B. J. W., Otto-Bliesner, B. L., Ridgwell, A., and Zhang, Y. G.: Past climates inform our future, Science, 370,, 2020. 

Treble, P. C., Schmitt, A. K., Edwards, R. L., McKeegan, K. D., Harrison, T. M., Grove, M., Cheng, H., and Wang, Y. J.: High resolution Secondary Ionisation Mass Spectrometry (SIMS) δ18O analyses of Hulu Cave speleothem at the time of Heinrich Event 1, Chem. Geol., 238, 197–212, 2007. 

Ullmann, C. V. and Korte, C.: Diagenetic alteration in low-Mg calcite from macrofossils: a review, Geol. Quarterly, 59, 3–20, 2015. 

Ullmann, C. V., Wiechert, U., and Korte, C.: Oxygen isotope fluctuations in a modern North Sea oyster (Crassostrea gigas) compared with annual variations in seawater temperature: Implications for palaeoclimate studies, Chem. Geol., 277, 160–166, 2010. 

Ullmann, C. V., Böhm, F., Rickaby, R. E., Wiechert, U., and Korte, C.: The Giant Pacific Oyster (Crassostrea gigas) as a modern analog for fossil ostreoids: isotopic (Ca, O, C) and elemental (Mg/Ca, Sr/Ca, Mn/Ca) proxies, Geochem. Geophys. Geosyst., 14, 4109–4120, 2013. 

Urban, F. E., Cole, J. E., and Overpeck, J. T.: Influence of mean climate change on climate variability from a 155-year tropical Pacific coral record, Nature, 407, 989–993, 2000. 

Urey, H. C.: Oxygen Isotopes in Nature and in the Laboratory, Science, 108, 489–496, 1948. 

van Ommen, T. D. and Morgan, V.: Calibrating the ice core paleothermometer using seasonality, J. Geophys. Res.-Atmos., 102, 9351–9357, 1997. 

Van Rampelbergh, M., Verheyden, S., Allan, M., Quinif, Y., Keppens, E., and Claeys, P.: Monitoring of a fast-growing speleothem site from the Han-sur-Lesse cave, Belgium, indicates equilibrium deposition of the seasonal δ18O and δ13C signals in the calcite, Clim. Past, 10, 1871–1885,, 2014. 

Vansteenberge, S., Verheyden, S., Cheng, H., Edwards, R. L., Keppens, E., and Claeys, P.: Paleoclimate in continental northwestern Europe during the Eemian and early Weichselian (125–97 ka): insights from a Belgian speleothem, Clim. Past, 12, 1445–1458,, 2016. 

Vansteenberge, S., de Winter, N. J., Sinnesael, M., Verheyden, S., Goderis, S., Van Malderen, S. J. M., Vanhaecke, F., and Claeys, P.: Reconstructing seasonality through stable-isotope and trace-element analyses of the Proserpine stalagmite, Han-sur-Lesse cave, Belgium: indications for climate-driven changes during the last 400 years, Clim. Past, 16, 141–160,, 2020.  

Verheyden, S., Baele, J.-M., Keppens, E., Genty, D., Cattani, O., Cheng, H., Lawrence, E., Zhang, H., Van Strijdonck, M., and Quinif, Y.: The Proserpine stalagmite (Han-Sur-Lesse Cave, Belgium): preliminary environmental interpretation of the last 1000 years as recorded in a layered speleothem, Geol. Belgica, 9/3–4, 245–256, 2006. 

von der Heydt, A. S., Ashwin, P., Camp, C. D., Crucifix, M., Dijkstra, H. A., Ditlevsen, P., and Lenton, T. M.: Quantification and interpretation of the climate variability record, Global Planet. Change, 197, 103399,, 2021. 

Wang, Y. J., Cheng, H., Edwards, R. L., An, Z. S., Wu, J. Y., Shen, C.-C., and Dorale, J. A.: A High-Resolution Absolute-Dated Late Pleistocene Monsoon Record from Hulu Cave, China, Science, 294, 2345–2348, 2001. 

Watkins, J. M., Hunt, J. D., Ryerson, F. J., and DePaolo, D. J.: The influence of temperature, pH, and growth rate on the δ18O composition of inorganically precipitated calcite, Earth Planet. Sc. Lett., 404, 332–343, 2014. 

Wilkinson, B. H. and Ivany, L. C.: Paleoclimatic inference from stable isotope profiles of accretionary biogenic hardparts – a quantitative approach to the evaluation of incomplete data, Palaeogeogr. Palaeocl., 185, 95–114, 2002. 

Xu, C., Zheng, H., Nakatsuka, T., Sano, M., Li, Z., and Ge, J.: Inter-and intra-annual tree-ring cellulose oxygen isotope variability in response to precipitation in Southeast China, Trees, 30, 785–794, 2016. 

Yan, H., Liu, C., An, Z., Yang, W., Yang, Y., Huang, P., Qiu, S., Zhou, P., Zhao, N., Fei, H., Ma, X., Shi, G., Dodson, J., Hao, J., Yu, K., Wei, G., Yang, Y., Jin, Z., and Zhou, W.: Extreme weather events recorded by daily to hourly resolution biogeochemical proxies of marine giant clam shells, P. Natl. Acad. Sci. USA, 117, 7038–7043, 2020. 

Zhu, F., Emile-Geay, J., McKay, N. P., Hakim, G. J., Khider, D., Ault, T. R., Steig, E. J., Dee, S., and Kirchner, J. W.: Climate models can correctly simulate the continuum of global-average temperature variability, P. Natl. Acad. Sci. USA, 116, 8728–8733, 2019. 


The requested paper has a corresponding corrigendum published. Please read the corrigendum first before downloading the article.

Short summary
ShellChron is a tool for determining the relative age of samples in carbonate (climate) archives based on the seasonal variability in temperature and salinity or precipitation recorded in stable oxygen isotope measurements. The model allows dating of fossil archives within a year, which is important for climate reconstructions on the sub-seasonal to decadal scale. In this paper, I introduce ShellChron and test it on a range of real and virtual datasets to demonstrate its use.