Validation of the custom Holocene Data Assimilation reconstruction against
published Holocene global temperature reconstructions. Reference datasets
are discovered at runtime from reference_data/ — any CSV
with columns age_BP, median, q05, q95 or
age_BP, anomaly, uncertainty_1sigma will be used.
Pearson correlation (R) and Nash–Sutcliffe coefficient of efficiency (CE) of the ensemble-median GMST against each reference over their common age range. CE = 1 is perfect; CE = 0 equals climatology; CE < 0 is worse than climatology.
| Reference | Overlap | R | CE |
|---|---|---|---|
| erb2022_gmst | 99.0–11899.0 BP (60 pts) | 0.9671 | 0.9271 |
| kaufman2020_temp12k | 99.0–11899.0 BP (60 pts) | 0.8030 | -1.1691 |
Mean temperature anomaly for 5500–6500 BP relative to 0–1000 BP baseline. Robinson projection.
Side-by-side 6 ka temperature anomaly for the custom reconstruction and each spatial reference, plus their difference. Pattern correlation (R) and area-weighted RMSE are computed after nearest-neighbor regridding of the reference onto the reconstruction grid.
| Reference | Pattern R | RMSE (°C) | Recon geo mean | Ref geo mean |
|---|---|---|---|---|
| erb2022 | 0.9550 | 0.0647 | +0.067 °C | +0.085 °C |
For each proxy site, the reconstruction’s 6 ka anomaly is sampled via nearest-neighbor on the model grid, then compared to the proxy’s own 6 ka anomaly (5500–6500 BP relative to 0–1000 BP baseline, falling back to the record mean if the modern baseline is absent). R, RMSE, and bias (recon − proxy) summarize the match.
| Dataset | N | R | RMSE (°C) | Bias (°C) |
|---|---|---|---|---|
| temp12k_v102_proxies | 1174 | 0.0907 | 1.8643 | -0.2413 |
Comparison of the proxy records in this run’s
lipd_legacy.pkl against
Temp12k 1.0.2 (Erb et al. 2022), the version used by the published
Erb et al. 2022 reconstruction. Records are matched on
paleoData_TSid after the same
paleoData_inCompilation == Temp12k +
paleoData_units == degC filter that
da_load_proxies.py applies at runtime.
| Statistic | Custom | Temp12k 1.0.2 (Erb et al. 2022) |
|---|---|---|
| Records | 1,015 | 1,276 |
| Distinct archive types | 6 | 8 |
| Earliest record start (yr BP) | 1,277,346 | 1,277,346 |
| Latest record end (yr BP) | -240 | -275 |
| Median record length (yr) | 11690 | 11403 |
| Median observations per record | 73 | 71 |
| Archive | Shared | Custom-only | Temp12k 1.0.2 (Erb et al. 2022)-only | Total |
|---|---|---|---|---|
| LakeSediment | 510 | 10 | 184 | 704 |
| MarineSediment | 262 | 42 | 95 | 399 |
| Peat | 163 | 4 | 28 | 195 |
| GlacierIce | 10 | 3 | 5 | 18 |
| Midden | 8 | 0 | 2 | 10 |
| Speleothem | 3 | 0 | 2 | 5 |
| Wood | 0 | 0 | 3 | 3 |
| Ice-other | 0 | 0 | 1 | 1 |
| Total | 956 | 59 | 320 | 1335 |
Records covering each 250-yr age bin, partitioned by which database they belong to.
Records present in this reconstruction’s proxy database but absent from Temp12k 1.0.2 (Erb et al. 2022) — typically records added in later Temp12k versions or pulled from filtered queries.
| TSID | Archive | Dataset | Age range (BP) | n_obs |
|---|---|---|---|---|
GH2d963782 | MarineSediment | BS79_38.Cacho.2001 | 867–24,517 | 71 |
GH6edd69de | MarineSediment | GeoB33131.Lamy.2002 | 283–6,990 | 75 |
LPD52d54dc4 | MarineSediment | GEOFAR_KF16_MgCa.Repschlager.2016 | 524–11,258 | 98 |
LPD5d932ca5 | MarineSediment | PP10-07.Mary.2016 | 422–10,150 | 206 |
LPD71287822 | MarineSediment | TTR17_434G.Rodrigo-Gamiz.2014 | 27–13,728 | 92 |
LPD73260700 | MarineSediment | PP10-07.Mary.2016 | 422–10,150 | 206 |
LPD74bc6584 | LakeSediment | LittlePondRoyalston.Marsicek.2013 | 0–11,000 | 221 |
LPD779b21dc | LakeSediment | BloodPond.Marsicek.2013 | 0–11,000 | 221 |
LPD7abab671-dup | GlacierIce | LawDome.Dahl-Jensen.1999 | -45–8,692 | 35 |
LPD92d845a8 | MarineSediment | PP10-07.Mary.2016 | 422–10,150 | 206 |
LPD9c79485dxxxx | MarineSediment | ODP658C_UK37.Zhao.1995 | 137–22,589 | 203 |
LPDa0c55c63 | MarineSediment | PP10-07.Mary.2016 | 422–10,150 | 206 |
LPDadaae75f | MarineSediment | SN-6.Tiwari.2015 | 154–4,772 | 36 |
LPDc82d344d | MarineSediment | GEOFAR_KF16_MgCa.Repschlager.2016 | 524–11,258 | 98 |
PYT917S9C8J | MarineSediment | GIK17748-2.Kim.2002 | 1,080–16,070 | 54 |
PYTDSG9BNO2 | MarineSediment | GIK23258.Sarnthein.2003 | 698–13,987 | 285 |
PYTH91MXU0Z | MarineSediment | P1003.Sejrup.2011 | -48–7,881 | 649 |
PYTRS33LNIK | MarineSediment | GIK23258.Sarnthein.2003 | 698–13,987 | 285 |
PYTUQPUNFJT | Peat | Corser.Nichols.2014 | 103–11,116 | 36 |
R60yDfufGWZ | Peat | StaroselskyMoch.Novenko.2018 | -19–9,792 | 56 |
R7erF84XRXy | MarineSediment | DANA12_11_2_GC01.VanNieuwenhove.2018 | -54–11,810 | 80 |
RCP5UgOcOkR | LakeSediment | Gunnarsfjorden.Allen.2007 | -40–9,124 | 104 |
RGIi8rzDMmj | MarineSediment | GeoB10042_1.Setiawan.2015 | 4,200–39,420 | 106 |
RI2vCrHM2fw | MarineSediment | M35003_4.R_hlemann.1999 | 0–24,540 | 91 |
RJ64ej30dlD | MarineSediment | MD03_2607-Assemblage.LopesdosSantos.2013 | 1,100–134,800 | 172 |
RKz0xLW2LFh | MarineSediment | MD06_3067.Bolliet.2011 | 3,390–158,200 | 484 |
RMpGVpFWptO | LakeSediment | Duranunlak.EPD | 368–11,501 | 36 |
RNAQJ20Sh7j | MarineSediment | RR1313_23PC.MoffaSanchez.2019 | 1,280–16,186 | 120 |
RPZj5YKrFr0 | LakeSediment | PupukePollen.VandenBos.2018 | 1,001–16,138 | 62 |
RQ6N1Ktr5Ai | LakeSediment | Duranunlak.EPD | 368–11,501 | 36 |
Records used by the published reconstruction but missing from this custom run — typically records dropped by the user’s filter or removed from later Temp12k versions.
| TSID | Archive | Dataset | Age range (BP) | n_obs |
|---|---|---|---|---|
GH06e59526 | MarineSediment | MD79-257.Levi.2007 | 1,554–15,695 | 47 |
GH194ddf83 | Peat | HomesteadScarp.McGlone.2010 | -39–12,247 | 170 |
GH73726cce | Peat | MountHoney.McGlone.2010 | -18–12,563 | 109 |
LPD27f34021 | Peat | Yakumo.Leipe.2013 | 40–5,506 | 38 |
LPD3267fe5d | MarineSediment | PP10-07.Mary.2016 | 422–10,150 | 206 |
LPD575ea390 | LakeSediment | SihailongwanMaar.Stebich.2015 | 150–11,992 | 206 |
LPD5c8693b4 | MarineSediment | MD01-2416.Sarnthien.2004 | 5,727–11,920 | 41 |
LPD5c89a1b5 | LakeSediment | HAP0212.vanderBilt.2016 | 534–11,117 | 60 |
LPD6e0eacd1 | LakeSediment | LagoDellAccesa.Finsinger.2010 | 4,479–11,552 | 86 |
LPD7abab671 | GlacierIce | LawDome.Dahl-Jensen.1999 | -45–8,692 | 35 |
LPD801dea7f | MarineSediment | MD01-2446.Salguero.2014 | 2,290–20,012 | 55 |
LPD8d84bf64 | Wood | GreatBasin.Salzer.2014 | -56–4,524 | 4,581 |
LPD91355717 | LakeSediment | LagoVerdarolo.Samartin.2011 | -59–13,720 | 50 |
LPDbf7cf949 | Peat | SouthernCalifornia.Ohlwein.2012 | 408–11,446 | 28 |
LPDbfac52bb | LakeSediment | Qinghai.Hou.2016 | 0–15,629 | 184 |
LPDd2a984fe | LakeSediment | AMP112.vanderBilt.2016 | 1,144–12,353 | 66 |
LPDf97892fc | LakeSediment | XingyunLake.Wu.2018 | -27–14,192 | 67 |
M2L1fcqp9rpP | LakeSediment | EC1.Gajewski.1993 | 58–6,610 | 32 |
M2L1r9snju2P | LakeSediment | Atocas.Gauthier.1981 | 0–11,977 | 41 |
M2L4ptir6l2P | LakeSediment | BanksIsland-12.Gajewski.2000 | 175–10,183 | 33 |
M2L68fmqq0lP | LakeSediment | Atocas.Gauthier.1981 | 0–11,977 | 41 |
M2L68iw0l2eP | LakeSediment | NorthPond.Whitehead.1978 | -105–13,083 | 55 |
M2L6qbln98nP | LakeSediment | LoneFoxLake.MacDonald.1985 | -32–12,638 | 37 |
M2L726ed2xjP | LakeSediment | CH2.Garralla.1992 | 1–8,332 | 89 |
M2L7thzxje2P | LakeSediment | Hams.Bennett.1987 | -29–11,945 | 82 |
M2L8sc7gn3mP | LakeSediment | Hams.Bennett.1987 | -29–11,945 | 82 |
M2LdjjxzkgtP | LakeSediment | Queens.Moser.1990 | 0–8,840 | 33 |
M2Lfut6kmdqP | LakeSediment | Queens.Moser.1990 | 0–8,840 | 33 |
M2Lg77nq75zP | LakeSediment | EC1.Gajewski.1993 | 58–6,610 | 32 |
M2Lh4fhttxhP | LakeSediment | CH2.Garralla.1992 | 1–8,332 | 89 |
Custom reconstruction ensemble spread alongside reference medians. X-axis runs from the oldest age (left) to present (right).
Every ensemble member plotted individually (subsampled to 200 for readability), showing the full reconstruction spread.
Year-by-year difference between the custom reconstruction median and the primary reference. Red = warmer, Blue = cooler.