Quickstart¶
This walkthrough takes a raw ring-width file all the way to a crossdated site
chronology. It uses ca533.rwl (Campito Mountain bristlecone pine), one of the
classic dplR/ITRDB example collections. Every code block shows real dplPy
output.
1. Load ring widths¶
readers returns a pandas DataFrame indexed by year, one column per series:

2. Inspect the data¶
series first last year mean median stdev skew kurtosis gini ar1
1 CAM011 1530 1983 454 0.440 0.40 0.222 1.029 1.102 0.273 0.696
2 CAM021 1433 1983 551 0.424 0.40 0.185 0.946 1.110 0.237 0.701
3 CAM031 1356 1983 628 0.349 0.29 0.214 0.690 -0.366 0.341 0.808
3. Detrend (standardize)¶
Remove each series' biological growth trend to produce ring-width index (RWI) series. The default is a smoothing spline:
See Detrending & standardization for
the other curves (ModNegExp, ModHugershoff, Mean, AgeDepSpline) and the
rcs, ssf, ads, and powt methods.
4. Build a chronology¶
Average the detrended series into a site chronology. By default this is a Tukey's-biweight robust mean with a sample-depth column:

For AR-modelled or variance-stabilized chronologies, see Building chronologies.
5. Crossdate¶
xdate correlates each series, segment by segment, against a leave-one-out
master to flag possible dating problems. It returns a dictionary of per-segment
correlations and flags:
result = dpl.xdate(rwl) # dplR-faithful default
result["seg_corr"] # per-series, per-segment correlations
For a COFECHA-style run and a full formatted report, use the COFECHA preset and
xdate_report:
The Crossdating & COFECHA guide covers flags, segment
settings, the COFECHA emulation, and dating floating series with
xdate_floater.
Where to go next¶
- Reading & writing data
- Coming from dplR — a function-by-function map
- API Reference