Full Text View

Volume 34 Issue 2 (February 2024)

GSA Today

Article, p. 4-9 | Abstract | PDF

Align: A User-Friendly App for Numerical Stratigraphic Correlation

Cedric J. Hagen*

College of Earth, Ocean, and Atmospheric Sciences, Oregon State University, Corvallis, Oregon 97331, USA, and Geological Sciences Department, University of Colorado Boulder, Boulder, Colorado 80309, USA

Jessica R. Creveling

College of Earth, Ocean, and Atmospheric Sciences, Oregon State University, Corvallis, Oregon 97331, USA

Peter Huybers

Dept. of Earth & Planetary Sciences, Harvard University, Cambridge, Massachusetts 02138, USA


Stratigraphic correlation underpins all understanding of Earth’s history, yet few geoscientists have access to, or expertise in, numerical codes that can generate reproducible, optimal (in a least-squares framework) alignments between two stratigraphic time-series data sets. Here we introduce Align, a user-friendly computer app that makes accessible a published dynamic time warping (DTW) algorithm that, in a minute or less, catalogs a library of alignments between two time-series data sets by systematically exploring assumptions about the temporal overlap and relative sedimentation rates between the two stratigraphic sections. The Align app, written in the free, open-source R programming language, utilizes a graphical user interface (e.g., drop-down menus for data upload and sliding bars for parameter exploration) such that no coding is required. In addition to generating alignment libraries, a user can employ Align to visualize, explore, and cull each alignment library according to thresholds on Pearson’s correlation coefficient and/or temporal overlap. Here we demonstrate Align with time-series records of carbonate stable carbon isotope composition, though Align can, in principle, align any two quantitative stratigraphic time-series data sets.

CITATION: Hagen, C.J., Creveling, J.R., and Huybers, P., 2024, Align: A User-Friendly App for Numerical Stratigraphic Correlation: GSA Today, v. 34, p. 4–9, https://doi.org/10.1130/GSATG575A.1 © 2024 The Authors. Gold Open Access: This paper is published under the terms of the CC-BY-NC license. Printed in USA.

Manuscript received 23 June 2023. Revised manuscript received 4 Oct. 2023. Manuscript accepted 11 Dec. 2023. Posted 16 Jan. 2024.

© The Geological Society of America, 2024. CC-BY-NC.




Since William Smith’s iconic geological map of England and Wales in 1815 (Sharpe, 2015), stratigraphic correlation has become the integral method to decipher and contextualize Earth’s history. Stratigraphic correlation is now facilitated by sophisticated ancillary measurements of sedimentary rocks, including stable isotope composition (e.g., McKinney et al., 1950; Knoll et al., 1986), trace element concentration (e.g., Veizer and Compston, 1974; Elderfield, 1986), and properties such as gamma-ray spectrometry (e.g., Chamberlain, 1984; Cowan and Myers, 1988) and magnetostratigraphy (e.g., Opdyke, 1972; Løvlie, 1989). Computational advances have led to quantitative tools for time-series analysis of these ancillary measurements (e.g., Agterberg and Gradstein, 1988; Tipper, 1988), including software for the correlation of biostratigraphic (e.g., Kemple et al., 1995; Sadler, 2004; Sadler et al., 2009), paleomagnetic (e.g., Clark, 1985; Hagen et al., 2020), lithostratigraphic (e.g., Lewis et al., 2011), cyclostratigraphic (e.g., Meyers, 2014; Li et al., 2019), ice core (e.g., Bay et al., 2010; Hagen and Harper, 2023), and chemostratigraphic data (e.g., Lisiecki and Lisiecki, 2002; Hay et al., 2019). Many of these correlation tools utilize dynamic time warping (DTW), an objective, time normalization algorithm that achieves least-squares alignments between two time-series. These alignments are subject to penalties on the insertion of hiatuses that stretch and squeeze the stratigraphic height/time axis (hence the colloquial term “dynamic time warping”; Sakoe and Chiba, 1978). For two geoscience examples, Lisiecki and Raymo (2005) adopted the Match algorithm of Lisiecki and Lisiecki (2002) to generate the canonical “LR04” stack of 57 Pliocene–Pleistocene benthic oxygen isotope records (although, in this case, manual adjustments were made after applying the algorithm), and the well-resolved Ordovician and Silurian time scales arose from dynamic programming-based constrained optimization (CONOP) for the temporal sequencing (or “slotting”) of graptolite first/last appearance datums (Sadler, 2004; Sadler and Cooper, 2008).

Despite the ubiquitous application of chemostratigraphy for stratigraphic correlation across the geological time scale, and this rich archive of algorithms, the stratigraphy community lacks an open-source code for a free programming environment to facilitate quantitative chemostratigraphic alignment that is operable by users without prior coding experience. Here we present Align (Fig. 1), a new free and open-source computer app that utilizes the DTW algorithm of Hay et al. (2019). Align is available to download from the GitHub data repository1 and was written in R v.4.2.2 (R Core Team, 2022) using the Shiny open-source package (Chang et al., 2017). Align utilizes the Hay et al. (2019) DTW algorithm (originally written in MATLAB), rewritten in R to run seamlessly with the app (Hagen, 2023). We chose to make the DTW algorithm of Hay et al. (2019) accessible for three reasons. First, this routine efficiently aligns every individual data point, rather than blocks of data (as the Match algorithm does). Second, the code generates a library of optimal alignments (in a least-squares sense) between two univariate stratigraphic time-series data sets. These alignments are subject to systematic assumptions about the total temporal overlap between the two time-series and the extent to which they can be stretched or squeezed (“time-warped”) to align with one another (see mathematical description below). This type of analysis is impossible to achieve with the human eye. Third, the code can be applied to any numerical (though not categorical) stratigraphic time-series data set (see GitHub repository for a description of how to upload and review data with Align). The Align interface utilizes intuitive design features such as drop-down menus, slider control elements, and toggle buttons for the execution of the underlying DTW code without any coding. Here we present a guide for applying the Align app to time-uncertain chemostratigraphic correlation by demonstrating the alignment of stable carbon isotope data from carbonate rocks (δ13Ccarb). We provide a description of the underlying mathematics of DTW.

1 The Align code archive, which includes detailed documentation and three separate example data sets, is included in the data repository on GitHub: https://github.com/CedricHagen/Align. The R version of the Hay et al. (2019) algorithm is freely available through CRAN: https://cran.r-project.org/package=align.


Uploading, Viewing, Storing, and Culling the Library of Stratigraphic Alignments

The Align interface allows a user to upload spreadsheets of up to three univariate candidate time-series data sets and a single univariate target time-series data set against which to align the candidate(s) (formatting details are in the Align documentation on GitHub). Figure 1 illustrates how the algorithm aligns a synthetic δ13Ccarb data set with a –5‰ excursion followed by a –1‰ excursion, both from a background value of 0‰ (Fig. 1A, target; from Trampush and Hajek [2017]), and a synthetic δ13Ccarb data set made by randomly subsampling the target (at 20% completeness) and adding noise (Fig. 1A, candidate) to represent a realistic record that a stratigrapher might correlate. A button generates a plot of the uploaded δ13Ccarb time-series records to verify accurate data upload and to cache necessary files for the DTW algorithm (Fig. 1A). At this stage, the user slides bars to set the range of edge and g values (which control the temporal overlap and relative accumulation rate, respectively, as discussed below) that determine the size of the alignment library (# of alignments = # of edge values × # of g values). After plotting verification, the user clicks the “Run DTW algorithm” button to command the underlying R code to generate the alignment library.

Figure 1Figure 1

The Align app for stratigraphic time-series alignment. (A) A screenshot of the Align graphical user interface (tab 1) where menus (on left) prompt the user to upload, plot, and align a target and a candidate time-series data set using the underlying dynamic time-warping (DTW) algorithm. The example target data set “Synthetic TH17” (adopted from Trampush and Hajek, 2017) and candidate data set “Noisy subsample” (see GitHub repository [text footnote 1]) are plotted with a click button (on right) to visually confirm accurate data upload. (B) A screenshot of the Align culling interface (tab 2) where sliding scales (on left) allow a user to narrow the resulting alignment libraries by the Pearson correlation coefficient (“xc cutoff”) and/or overlap percent cutoffs. The example criteria (xc cutoff = 0.9; overlap cutoff = 90%) narrow the full library of 60 alignments down to nine alignments. The user can use a drop-down menu to plot one of these alignments at a time (on right).

The Align app allows the user to vary the g and edge parameter in any continuous range between 0.95 and 1.05 and 0.01 and 0.25, respectively, with any increment; following Hay et al. (2019), the default g value range is set to 0.98–1.01 and the default edge value range is set to 0.01–0.15, both in increments of 0.01. As the underlying code runs through the default parameter space, it generates 60 alignments (60 g-edge pairings for each candidate-target time-series correlation), which are visually presented as x-y scatterplots of δ13Ccarb-stratigraphic height (Fig. 1B) and corresponding spreadsheets containing the meterage that every candidate time-series δ13Ccarb value was aligned to on the target time-series (i.e., the y-axis values for the aligned candidate). A different parameter range and increment will change the number of alignments in the alignment library, and the associated output images/files (see GitHub repository for additional discussion about g and edge values, as well as hiatal surfaces and data types). Output files are saved to the user’s computer in a folder named Output with sub-directories named for the candidate-target alignment pair. Each alignment can be viewed in the underlying Output_Images folder (or plotted in an external application using the .csv files in the underlying Output_Data folder). A subset of output alignments can be viewed in the separate alignment library viewer tab (Fig. 1B).

When a stratigrapher wants to focus on a subset of alignments that adhere to a shared criterion, a separate tab in the Align app gives the user the option to manually sort (and narrow) the alignment library according to thresholds for the Pearson’s correlation coefficient and the overlap between the aligned time-series (Fig. 1B). Figure 1B shows the Align interface for culling an alignment library, here displayed to cull the alignment library to show only those alignments with a Pearson correlation coefficient ≥0.9 (“xc cutoff”) and an overlap of the candidate to the target of ≥90% “overlap cutoff”. When the user clicks the “Narrow Alignment Library” button (Fig. 1B), Align saves those alignments that adhere to the cutoff criteria (a “culled library”) in a new folder named for the user’s inputted name for these culling criteria (e.g., 0.9,90%). For this scenario, the culled alignment library includes nine of the original 60 alignments (the culled alignments can be viewed independently by selecting their name in the drop-down menu; Fig. 1B).

Relative temporal constraints on stratigraphic sections (e.g., biostratigraphy, litho-stratigraphic markers, etc.) can be used in conjunction with the time-series data to evaluate an alignment library. For one, the user can restrict the target/candidate time-series to a certain biozone or lithostratigraphic unit (effectively aligning δ13Ccarb data presumed to be temporally equivalent). Alternatively, these constraints can be used to evaluate the alignment libraries post analysis.


How Dynamic Time Warping Produces a Library of Stratigraphic Alignments

Figure 2 illustrates a simple stratigraphic correlation using DTW with two short, synthetic carbon isotope (δ13Ccarb) time-series: a seven-sample target sequence composed of a 3.5‰ δ13Ccarb excursion over 6 m of stratigraphy (Fig. 2H) and a four-sample candidate sequence with a 4.5‰ excursion over 3 m (Fig. 2H). First, target (Figs. 1A and 2A) and candidate (Figs. 1A and 2B) matrices are constructed whose number of rows (n = 7) and columns (m = 4) equal the length of the target and candidate δ13Ccarb sequences, respectively. The seven δ13Ccarb values from the target section fill target matrix column 1 (Fig. 2A, red column) and are replicated m-1 times to fill all remaining columns. The four δ13Ccarb values from the candidate section are transposed to fill candidate matrix row 1 and replicated n-1 times to fill the remaining rows (Fig. 2B). The next step is to construct an n-by-m matrix of all of the possible δ13Ccarb pairings from the target and candidate sequences. Each matrix element is computed as the difference between an index in the target (tn) and the candidate (cm) sequences: C(n,m) = (tncm; Fig. 2C) and squared to give a squared-difference matrix (Fig. 2D; Sakoe and Chiba, 1978). Comparison of the 3‰ excursion peak in the target (Fig. 2A, row 4) and candidate sequences (Fig. 2B, column 2) gives a strong constraint because it alone gives a squared difference of 0 (Fig. 2D, cell (4,2)).

Figure 2Figure 2

Illustration of the dynamic time warping technique for aligning simple, synthetic δ13Ccarb sequences. (A–G) Step-by-step matrix operations to align the two synthetic δ13Ccarb sequences (target, original candidate) shown in frame (H). The target and original candidate δ13Ccarb sequences populate the columns and rows of the target (A) and candidate (B) matrices, respectively; subtracting the candidate matrix from the target matrix yields the difference matrix (C). Squaring the values in the difference matrix generates the squared-difference matrix (D), a measure of the similarity of all pairs of δ13Ccarb from the target and candidate sections. Multiplying the edges of the squared-difference matrix by the adopted value of the edge parameter yields the edge-modified matrix (E). The cumulative difference matrix (F) incorporates the accumulation of cost arising from the adopted value of the g parameter. The alignment path, which reveals the temporally equivalent target and candidate strata/δ13Ccarb values, begins in the lower right corner of the cumulative difference matrix and proceeds to the lowest cost cell looking two steps ahead (G). For these synthetic data, the alignment path shifts the aligned candidate section stratigraphically higher on the target sequence relative to the original candidate meterage (H). Abbreviations: Difference = the difference matrix; Sq. Diff. = the squared-difference matrix; min(aug. 8 preceding) = the minimum value of the eight preceding cumulative difference matrix cells; Edge = the edge-modified matrix.

An alignment takes the form of a “warping path” that assigns each candidate index m to an index n of the target sequence by minimizing the sum of the squared differences (“cost”) across all m (Sakoe and Chiba, 1978). This path is achieved through successive diagonal, horizontal, and vertical steps across the squared-difference matrix, each of which implies a bed-to-bed alignment (Hay et al., 2019). A warping path that begins in the lower-right corner of the squared-difference matrix (Fig. 2D, cell (7,4)) implies that the stratigraphically highest δ13Ccarb value from both the target and candidate sections are time equivalent. A warping path that exits the upper-left corner of the squared-difference matrix (Fig. 2D, cell (1,1)) aligns the lowermost values of the two sequences, implying that accumulation began concurrently at both sections. Thus, a warping path that enters and exits both corners of the squared-difference matrix indicates that sediment accumulation at the two sections spans the same interval of geological time. In contrast, when a warping path meets an edge of the squared-difference matrix, this implies that the two sections do not span the same total temporal duration.

Once the warping path enters the matrix, the DTW algorithm objectively finds an optimal pathway in terms of a sequence of diagonal, vertical, and horizontal steps that minimize the associated sum of squared residuals. A diagonal step implies an equivalent rate of relative sediment accumulation between the candidate and target time-series. A vertical or horizontal step instead inserts a hiatus in deposition at the candidate or target sections, respectively.

When aligning δ13Ccarb sequences, stratigraphers have little or no a priori information about the total temporal overlap with the target section, nor the relative rates of sediment accumulation between target and candidate sections. To address these uncertainties, the algorithm explores various optimal warping paths across the squared-difference matrix (e.g., Fig. 2G) conditional on the systematic application of the edge and g penalty functions (see below) that alter the values of the squared-difference matrix (Fig. 2D) and thereby favor specific stratal pairings.

The edge penalty function explores whether the two sequences span the same total interval of time and is so named because the right and bottom squared-difference matrix edges align the stratigraphically highest (youngest) target and candidate δ13Ccarb values whereas the left and top edges align the lowest (oldest) δ13Ccarb values. The edge value is a coefficient that modifies all squared-difference matrix edge cells in clockwise fashion, beginning with the first row and ending with the first column (Fig. 2E; yellow ellipsoids). Edge values >1 increase the value of the squared difference for a specific stratal pairing, discouraging their alignment, whereas when 0 < edge < 1, stratal pairings are encouraged. For example, an (arbitrarily adopted) edge value of 0.1 modifies squared-difference matrix element (3,4) = 9 (Fig. 2D) to the lower value of 0.9 (Fig. 2E, cell (3,4)). In this formulation, matrix corners are modified twice (once per edge; see Fig. 2E, cell (1,1)). While Figure 2 illustrates the adoption of a single (arbitrary) edge value (edge = 0.1; Fig. 2E), in practice the DTW algorithm systematically varies edge values across a user-identified range to discover alternative start/end cells for warping pathways, generating multiple δ13Ccarb alignments.

The g penalty function is useful for enforcing various levels of similarity of sediment accumulation rate(s) at the two stratigraphic sections throughout their shared deposition history using a range of g values. Values of g > 1 penalize stretching or squeezing by increasing the augmented cost of all off-diagonal matrix cells, and the opposite is true for g < 1; a g-value equal to 1 does not augment the cost matrix. For this illustration, we adopt g = 1. First, edge-modified matrix cell (1,1; Fig. 2E) is replicated to fill the corresponding cell of the cumulative difference matrix (CDM; Fig. 2F). Next, moving right across CDM row 1, every cell value is computed as the sum of values of the corresponding edge-modified matrix cell plus all preceding edge-modified matrix cells in the row (Fig. 2F; horizontal black arrow). For example, CDM (1,4; Fig. 2F) is calculated as the sum of edge-modified matrix (1,4), (1,3), (1,2), and (1,1), equal to 0.01, 0, 1.225, and 0.0025, respectively, or 1.2375 (Fig. 2F). This process is repeated vertically for CDM column 1, summing down the column (Fig. 2F; vertical black arrow).

Next, the algorithm calculates the accumulation of cost in each unfilled cell of row 2 and in each unfilled cell of column 2 (Fig. 2F; yellow arrows). These values are computed as the sum of the value in the corresponding edge-modified matrix cell (Fig. 2E) and the minimum value of the three preceding g-modified cells of the CDM computed as: g*(n, m-1), (n-1, m-1), and g*(n-1, m) (Fig. 2F; note that three preceding cells are considered only for cell calculations in row 2 and column 2, whereas cell calculations in all subsequent rows and columns consider eight preceding cells). For example, the algorithm computes CDM cell (7,2) as the sum of edge-modified matrix (7,2) = 1.6 (Fig. 2E) and the minimum of the three preceding CDM cells, in this case element (6,1) = 3.1275, yielding 4.7275 (Fig. 2F). Figure 2 adopts g = 1 for mathematical ease; had we adopted any g ≠ 1, this selection would have modified cell (7,1)—calculated as g*(n, m-1)—to be a value less than cell (6,1)—unmodified by g based on its diagonal position—and thereby changed the final value for CDM cell (7,2). Like the edge parameter, the DTW algorithm systematically varies g values across a user-defined range to discover alternative warping paths between given start/end cells.

To complete the CDM, the algorithm fills the remaining empty cells in rows 3–7 and columns 3–4 (Fig. 2F; gray arrows). These calculations proceed by summing the corresponding edge-modified matrix value and the minimum value of the eight preceding CDM cells (looking two steps forward is preferred, considering the eight preceding cells, but this is not possible in row 2 and column 2 due to the dimensions of the matrix and there being no 0th row or column, hence the consideration of only three preceding cells representing one step forward in row 2 and column 2). The CDM cells are modified by g as follows: (n-1, m) and (n, m-1) are multiplied by g; (n-1, m-2) and (n-2, m-1) are multiplied by 1.05*g; (n-2, m) and (n, m-2) are multiplied by 1.1*g (Fig. 2F). Diagonal preceding cells (n-1, m-1) and (n-2, m-2) are not modified by g. For example, CDM cell (3,4) is computed as edge-modified matrix (3,4) = 0.9 (Fig. 2E) plus CDM (1,2) = 1.2275 (because this cell has the minimum value of the eight preceding cells in the CDM: (3,2), (3,3), (2,2), (2,3), (2,4), (1,2), (1,3), and (1,4)), summing to 2.1275 (Fig. 2F).

Every possible pairing of g and edge values from the input ranges produces a CDM, and the warping path across the CDM begins at the lower-right corner and progressively steps horizontally, diagonally, or vertically (see the illustrative alignment in Fig. 2) to the minimum value of the eight adjacent cells, always looking two steps ahead (Fig. 2G, black cells, with values replicated from Fig. 2F). For each CDM, the corresponding δ13Ccarb alignment begins with the stratigraphically lowest cell of the starting edge (the right column or bottom row)—here cell (6,4; Fig. 2G)—and terminates upon meeting an end edge (the left column/top row), here cell (2,1). Note when the algorithm encounters equivalent values, such as cells (6,1) and (7,1), the diagonal is adopted to maximize temporal correspondence by minimizing the insertion of hiatuses. For the adopted edge and g parameter values, the warping path specifies the globally optimal alignment of each δ13Ccarb value of the candidate sequence with the target sequence (black cells), with empty rows representing target δ13Ccarb values with no time-equivalent at the candidate section (an imposed hiatus). Figure 2H visualizes the target-candidate δ13Ccarb alignment arising from the alignment path in Figure 2G (i.e., for edge and g values of 0.1 and 1, respectively). By repeating this process for a range of edge and g values, the algorithm systematically generates alignments that encapsulate a spectrum of assumptions about the shared temporal history (via edge) and relative rates of sediment accumulation (via g) at the target and candidate stratigraphic sections (see Hay et al., 2019). A different pairing of edge and g values can produce a visually distinct alignment from that shown in Figure 2H (e.g., choosing a g value greater than 1, which encourages dissimilar relative sedimentation rates, could increase the overlap of the shoulders of the synthetic excursion). Together, we present the objective alignments arising from all edge and g pairings as a correlation library for further parsing by statistical analyses and geological insight (see GitHub repository for a brief discussion of computation time and dynamic programming).



The user-friendly Align app makes freely available the proven DTW algorithm for objective, reproducible, and optimal stratigraphic time-series correlation (Hay et al., 2019) to anyone conducting stratigraphic research by eliminating the need for command-line coding. The Align app efficiently (~1 minute run time) and systematically generates a library of stratigraphic alignments for the stratigrapher to evaluate, a task otherwise impossible with the human eye. Align allows the user to cull an alignment library and saves all outputs in common file formats easily read into figure-design software, making Align a powerful new stratigraphy research tool. We welcome collaborations to incorporate additional features into Align to grow the capacity of this community tool.



We thank the DTW algorithm creators (C. Hay and E. Haam), app beta-testers (S. Herz, M. Schwarz, A. Martin, and R. Jones), and P. Reynolds and K. Jay for feedback. Financial support from the NSF GRFP, ARCS Foundation, Agouron Institute Geobiology Fellowship, and NSF EAR-2025735 made this work possible. We thank James Schmitt for editorial handling, as well as Benjamin Gill and an anonymous reviewer whose constructive feedback greatly improved this manuscript.


References Cited

  1. Agterberg, F.P., and Gradstein, F.M., 1988, Recent developments in quantitative stratigraphy: Earth-Science Reviews, v. 25, p. 1–73, https://doi.org/10.1016/0012-8252(88)90099-2.
  2. Bay, R.C., Rohde, R.A., Price, P.B., and Bramall, N.E., 2010, South Pole paleowind from automated synthesis of ice core records: Journal of Geophysical Research: Atmospheres, v. 115, https://doi.org/10.1029/2009JD013741.
  3. Chamberlain, A.K., 1984, Surface gamma-ray logs: A correlation tool for frontier areas: AAPG Bulletin, v. 68, p. 1040–1043, https://doi.org/10.1306/AD4616C4-16F7-11D7-8645000102C1865D.
  4. Chang, W., Cheng, J., Allaire, J., Xie, Y., and McPherson, J., 2017, Shiny: Web application framework for R: R package version, v. 1, https://CRAN.R-project.org/package=shiny.
  5. Clark, R.M., 1985, A FORTRAN program for constrained sequence-slotting based on minimum combined path length: Computers & Geosciences, v. 11, p. 605–617, https://doi.org/10.1016/0098-3004(85)90089-5.
  6. Cowan, D.R., and Myers, K.J., 1988, Surface gamma-ray logs: A correlation tool for frontier areas: Discussion: AAPG Bulletin, v. 72, p. 634–636.
  7. Elderfield, H., 1986, Strontium isotope stratigraphy: Palaeogeography, Palaeoclimatology, Palaeoecology, v. 57, p. 71–90, https://doi.org/10.1016/0031-0182(86)90007-6.
  8. Hagen, C.J., 2023, Align: A Modified DTW Algorithm for Stratigraphic Time-Series Alignment: https://cran.r-project.org/package=align (accessed 30 June 2023).
  9. Hagen, C.J., and Harper, J.T., 2023, Dynamic time warping to quantify age distortion in firn cores impacted by melt processes: Annals of Glaciology, https://doi.org/10.1017/aog.2023.52.
  10. Hagen, C.J., Reilly, B.T., Stoner, J.S., and Creveling, J.R., 2020, Dynamic time warping of palaeomagnetic secular variation data: Geophysical Journal International, v. 221, p. 706–721, https://doi.org/10.1093/gji/ggaa004.
  11. Hay, C.C., Creveling, J.R., Hagen, C.J., Maloof, A.C., and Huybers, P., 2019, A library of early Cambrian chemostratigraphic correlations from a reproducible algorithm: Geology, v. 47, p. 457–460, https://doi.org/10.1130/G46019.1.
  12. Kemple, W.G., Sadler, P.M., and Strauss, D.J., 1995, Extending Graphic Correlation to Many Dimensions: Stratigraphic Correlation as Constrained Optimization: https://archives.datapages.com/data/sepm_sp/SP53/Extending_Graphic_Correlation_to_Many_Dimensions.htm (accessed February 2023).
  13. Knoll, A.H., Hayes, J.M., Kaufman, A.J., Swett, K., and Lambert, I.B., 1986, Secular variation in carbon isotope ratios from Upper Proterozoic successions of Svalbard and East Greenland: Nature, v. 321, p. 832–838, https://doi.org/10.1038/321832a0.
  14. Lewis, K.W., Keeler, T.L., and Maloof, A.C., 2011, New software for plotting and analyzing stratigraphic data: Eos, v. 92, p. 37–38, https://doi.org/10.1029/2011EO050002.
  15. Li, M., Hinnov, L., and Kump, L., 2019, Acycle: Time-series analysis software for paleoclimate research and education: Computers & Geosciences, v. 127, p. 12–22, https://doi.org/10.1016/j.cageo.2019.02.011.
  16. Lisiecki, L.E., and Lisiecki, P.A., 2002, Application of dynamic programming to the correlation of paleoclimate records: Paleoceanography, v. 17, p. 1-1–1-12,https://doi.org/10.1029/2001PA000733.
  17. Lisiecki, L.E., and Raymo, M.E., 2005, A Pliocene-Pleistocene stack of 57 globally distributed benthic δ18O records: Paleoceanography, v. 20, https://doi.org/10.1029/2004PA001071.
  18. Løvlie, R., 1989, Paleomagnetic stratigraphy: A correlation method: Quaternary International, v. 1, p. 129–149, https://doi.org/10.1016/1040-6182(89)90012-8.
  19. McKinney, C.R., McCrea, J.M., Epstein, S., Allen, H.A., and Urey, H.C., 1950, Improvements in mass spectrometers for the measurement of small differences in isotope abundance ratios: The Review of Scientific Instruments, v. 21, p. 724–730, https://doi.org/10.1063/1.1745698.
  20. Meyers, S.R., 2014, Astrochron: An R package for astrochronology: https://cran.r-project.org/package=astrochron.
  21. Opdyke, N.D., 1972, Paleomagnetism of deep-sea cores: Reviews of Geophysics, v. 10, p. 213–249, https://doi.org/10.1029/RG010i001p00213.
  22. Sadler, P.M., 2004, Quantitative biostratigraphy: Achieving finer resolution in global correlation: Annual Review of Earth and Planetary Sciences, v. 32, p. 187–213, https://doi.org/10.1146/annurev.earth.32.101802.120428.
  23. Sadler, P.M., and Cooper, R.A., 2008, Best-fit intervals and consensus sequences, in Harries, P.J., ed., High-Resolution Approaches in Stratigraphic Paleontology: Dordrecht, Netherlands, Springer, p. 49–94, https://doi.org/10.1007/978-1-4020-9053-0_2.
  24. Sadler, P.M., Cooper, R.A., and Melchin, M., 2009, High-resolution, early Paleozoic (Ordovician-Silurian) time scales: Geological Society of America Bulletin, v. 121, p. 887–906, https://doi.org/10.1130/B26357.1.
  25. Sakoe, H., and Chiba, S., 1978, Dynamic programming algorithm optimization for spoken word recognition: IEEE Transactions on Acoustics, Speech, and Signal Processing, v. 26, p. 43–49, https://doi.org/10.1109/TASSP.1978.1163055.
  26. Sharpe, T., 2015, The birth of the geological map: Science, v. 347, p. 230–232, https://doi.org/10.1126/science.aaa2330.
  27. Team, R.C., 2022, R: A language and environment for statistical computing: R Foundation for Statistical Computing, https://www.R-project.org/.
  28. Tipper, J.C., 1988, Techniques for quantitative stratigraphic correlation: A review and annotated bibliography: Geological Magazine, v. 125, p. 475–494, https://doi.org/10.1017/S0016756800013224.
  29. Trampush, S.M., and Hajek, E.A., 2017, Preserving proxy records in dynamic landscapes: Modeling and examples from the Paleocene-Eocene Thermal Maximum: Geology, v. 45, p. 967–970, https://doi.org/10.1130/G39367.1.
  30. Veizer, J., and Compston, W., 1974, 87Sr/86Sr composition of seawater during the Phanerozoic: Geochimica et Cosmochimica Acta, v. 38, p. 1461–1484, https://doi.org/10.1016/0016-7037(74)90099-4.