Instrumental Validation Report

Validation of the custom LMR reconstruction against instrumental observations and the published LMRv2.1, following the methodology of PReSto2k validation.

0.452
Spatial Correlation (geo. mean)
-0.040
Spatial CE (geo. mean)
0.881
GMST R vs GISTEMP
0.747
GMST CE vs GISTEMP

GMST Validation Metrics (1880–2000)

Performance of the ensemble-median global mean surface temperature (GMST) against instrumental datasets over the validation window. Two metrics are reported for each reconstruction/reference pair.

Pearson correlation (R): linear association between the two time series. R measures pattern agreement but is insensitive to systematic offsets or amplitude errors.

Nash–Sutcliffe Coefficient of Efficiency (CE; Nash & Sutcliffe, 1970):
  CE = 1 − Σ(yŶ)2  /  Σ(yȲ)2,
where y is the observation, Ŷ is the reconstruction, and Ȳ is the mean of the observations over the validation window. CE captures pattern, amplitude, and bias simultaneously:

CE is sensitive to outliers, so a single large miss can dominate it.

Reference datasets: GISTEMP (NASA GISS surface temperature analysis, ERSSTv4 ocean; data.giss.nasa.gov); HadCRUT5 (Met Office Hadley Centre / CRU analysis; metoffice.gov.uk); Consensus — the arithmetic mean of the instrumental datasets listed above, taken over the years where all inputs have data. This is not an authoritative product; it is a local summary used here to smooth between-dataset differences when evaluating the reconstruction.

ReconstructionReferenceRCE
Custom Recon GISTEMP 0.8811 0.7470
LMRv2.1 GISTEMP 0.9319 0.8329
Custom Recon HadCRUT5 0.9094 0.6782
LMRv2.1 HadCRUT5 0.9329 0.5648
Custom Recon Consensus 0.9000 0.7561
LMRv2.1 Consensus 0.9367 0.7336
Custom Recon LMRv2.1 (850-2000) 0.6860 0.0093

Spatial Validation vs GISTEMP

Grid-point R and CE between the custom reconstruction and GISTEMP over 1880–2000. Each cell's score is computed against its own 1951–1980 climatology (for anomalies) and its own time-series mean over the validation window (for the CE denominator); the geographic mean reported with each map is area-weighted.

Why the geographic-mean CE is so much lower than the GMST CE. The two numbers measure different things. At any single grid cell, most of the observed variance is local — weather noise, regional modes (ENSO, NAO, AMO, PDO) — which a paleoclimate reconstruction does not resolve. The reconstruction primarily captures the large-scale, slowly varying forced signal (volcanic, solar, anthropogenic), which is a small fraction of local variance. So per-cell CE is typically low or negative across much of the globe. When those cells are averaged into the global mean, the local noise averages towards zero and the forced signal dominates the residual variance, so the global-mean CE ends up much higher. In other words, the geographic mean of per-cell CE is not the CE of the geographic-mean time series — these are two different statistics and should not be expected to match.

Spatial correlation and CE maps
Individual maps Spatial correlation map Spatial CE map

GMST Time Series

Custom reconstruction ensemble spread compared against LMRv2.1, GISTEMP, and HadCRUT5.

GMST time series

GMST Ensemble Members (1000 total)

Every ensemble member plotted individually, showing the full spread of the reconstruction across all iterations and seeds.

GMST all ensemble members

Instrumental Period (1880-2000)

Zoomed view of ensemble members during the instrumental overlap period, with GISTEMP and HadCRUT5 overlaid.

Ensemble members instrumental period

Instrumental Period Detail

Zoomed view of the validation period (1880-2000) with ensemble spread and all reference datasets.

Instrumental detail

GMST Difference (Custom - LMRv2.1)

Year-by-year difference between the custom reconstruction and LMRv2.1 ensemble medians. Red = warmer, Blue = cooler.

GMST difference plot
Proxy Database Comparison vs PReSto2k (shared 0, custom-only 101, PReSto2k-only 683)

Comparison of the proxy records used in this reconstruction (those assimilated into the Kalman filter together with those withheld for evaluation) against the published PReSto2k reference database, matched on paleoData_TSid.

Record-selection funnel

Attrition of records from presto's initial TSID request through pipeline filtering, PSM calibration, and final assimilation.

0
Requested
240
In pickle
101
PSM-calibrated
75
Assimilated

Side-by-side statistics

StatisticCustom (assimilated + evaluation)PReSto2k
Number of records101683
Distinct archive types110
Distinct proxy types122
Earliest record start (Year CE)850850
Latest record end (Year CE)20102016
Median record length (years)235545
Median observations per record993488

Compilation membership

Records counted by compilation, aggregated across all versions (hover the compilation name to see the versions present). A record is counted under every compilation its LiPD metadata claims membership of, so a record listed in both iso2k and CoralHydro2k is counted in both rows.

Source of membership data. Custom-run memberships come from each record's paleoData_inCompilationBeta field, extracted in lipd_to_pdb.py. PReSto2k records do not carry that field in presto2k_pdb.pkl; their memberships fall back to lipdverse's single paleoData_mostRecentCompilations tag (one compilation per record), so the PReSto2k counts are a lower bound. Records with no membership land in the (none) bucket.

A zero count is not a bug. Each compilation curates its own set of paleoclimate records, often with different paleoData_TSid namespaces. If presto's tsids request happens not to intersect a given compilation's records (e.g. the user requests iso2k corals, which are physically distinct samples from CoralHydro2k's corals), that compilation will show 0 even though the request listed it under compilation in query_params.json.

Compilations requested in query_params.json: Pages2kTemperature

CompilationCustomCSVPReSto2kCSVSharedCustom-onlyPReSto2k-only
(none)101⬇ CSV001010
CoralHydro2k044⬇ CSV0044
Pages2kTemperature0636⬇ CSV00636
iso2k03⬇ CSV003

Records by archive type

ArchiveSharedPReSto2k onlyCustom onlyTotal
Borehole0303
Coral092092
Documents015015
Hybrid0101
Ice049049
Lake043043
Marine057057
Other00101101
Sclerosponge0505
Speleothem0404
Tree04140414
Total0683101784
Detailed breakdown by proxy type
ptypeSharedPReSto2k onlyCustom only
00101
borehole030
coral.SrCa0130
coral.calc020
coral.d18O0770
documents0150
hybrid010
ice.d18O0390
ice.dD080
ice.melt020
lake.BSi020
lake.accumulation010
lake.chironomid080
lake.other0190
lake.reflectance040
lake.varve_thickness090
marine.MgCa0230
marine.alkenone0210
marine.other0130
sclerosponge.d18O050
speleothem.d18O040
tree.MXD0600
tree.TRW03540

Temporal coverage

Record counts by year, partitioned by source (custom run on top, PReSto2k below). Switch between archive-type and proxy-type (ptype) colouring.

Temporal coverage by archive type

Spatial distribution

Spatial maps

Records exclusive to PReSto2k (683)

Records present in the PReSto2k reference but absent from the custom reconstruction (for example, archives excluded by filter_proxydb_kwargs, or TSIDs not included in the custom query).

TSIDArchiveptypeDatasetYearsn_obs
AB20MEN02_d18OCoralcoral.d18OAB20MEN021770–1820592
AB20MEN03_d18OCoralcoral.d18OAB20MEN031678–1699236
AB20MEN04_d18OCoralcoral.d18OAB20MEN041641–1684497
AB20MEN05_d18OCoralcoral.d18OAB20MEN051532–1601832
AB20MEN06_d18OCoralcoral.d18OAB20MEN061452–15471072
AB20MEN07_d18OCoralcoral.d18OAB20MEN071267–1305466
AB20MEN08_d18OCoralcoral.d18OAB20MEN081256–1270164
AB20MEN09_d18OCoralcoral.d18OAB20MEN091240–1262260
Africa_001Speleothemspeleothem.d18OAfr-ColdAirCave.Sundqvist.20131635–1992339
Africa_004Lakelake.otherAfr-LakeTanganyika.Tierney.2010851–198660
Ant_005Iceice.d18OAnt-BerknerIsland.Mulvaney.20021000–1992991
Ant_006Iceice.d18OAnt-SiteDML07.Graf.20021000–1994986
Ant_007Iceice.d18OAnt-SiteDML05.Graf.2002850–19961147
Ant_008Iceice.d18OAnt-SiteDML17.Graf.20021000–1997984
Ant_009Iceice.d18OAnt-DomeF1993.Uemura.2014854–1467143
Ant_010Iceice.d18OAnt-DomeF2001.Uemura.2008853–1875105
Ant_011Iceice.d18OAnt-DSS.Moy.2012850–19951146
Ant_012Iceice.d18OAnt-DomeC.Stenni.2001854–191886
Ant_013Iceice.dDAnt-DomeC.Jouzel.2001854–191886
Ant_014Iceice.dDAnt-Ferrigno.Thomas.20131703–2010308
Ant_017Iceice.d18OAnt-CoastalDML.Thamban.20121533–1994462
Ant_022Iceice.dDAnt-JamesRossIsland.Mulvaney.2013850–20071158
Ant_023Iceice.d18OAnt-PlateauRemote.Mosley-Thompson.2013850–19861137
Ant_024Iceice.d18OAnt-SipleStation.Mosley-Thompson.19901417–1983567
Ant_025Iceice.d18OAnt-TALDICE.Stenni.2010856–1990117

⬇ Download full CSV (683 rows)

Records exclusive to the custom run (101)

Records requested in this reconstruction that do not appear in the PReSto2k reference.

TSIDArchiveptypeDatasetYearsn_obs
Ant-BerknerIsland.Mulvaney.2002Other1000–1992993
Ant-CoastalDML.Thamban.2012Other1533–1994462
Ant-DSS.Moy.2012Other850–19951146
Ant-PlateauRemote.Mosley-Thompson.2013Other850–19861137
Ant-SipleStation.Mosley-Thompson.1990Other1417–1983567
Ant-SiteDML05.Graf.2002Other850–19961147
Ant-SiteDML07.Graf.2002Other1000–1994995
Ant-SiteDML17.Graf.2002Other1000–1997998
Ant-WDC05A.Steig.2013Other850–20051156
Ant-WDC06A.Steig.2013Other850–200523120
Arc-Agassiz.Vinther.2008Other850–19721123
Arc-Austfonna.Isaksson.2005Other1400–1998554
Arc-BigRoundLake.Thomas.2009Other971–20031033
Arc-BlueLake.Bird.2008Other850–20001151
Arc-CampCentury.Fisher.1969Other1242–1967726
Arc-Crete.Vinther.2010Other850–19731124
Arc-Dye.Vinther.2010Other850–19781129
Arc-GISP2.Grootes.1997Other850–19871138
Arc-GRIP.Vinther.2010Other850–19791130
Arc-Hvitarvatn.Larsen.2011Other850–20001151
Arc-LakeC2.Lamoureux.1996Other850–19871138
Arc-LakeDonardBaffinIsland.Moore.2001Other850–19921143
Arc-Lomonosovfonna.Divine.2011Other850–19971148
Arc-NGRIP1.Vinther.2006Other850–19951146
Arc-NGTB16.Schwager.1998Other1478–1992515

⬇ Download full CSV (101 rows)

Records discarded during processing

ReasonRecords
filtered after pickle (ptype filter or PSM calibration)139

⬇ Download full list

← Back to results