This guide explains how atmospheric CO2 data is measured and reconstructed across time windows, where to obtain each source, and how to assemble a clear long-run chart for non-specialist visitors.
Orientation map. Horizontal position uses a logarithmic years-BP axis (older left, recent right), with a small right-edge extension for post-1950 CE observations.
For non-expert visitors, the safest chart is a tiered hybrid: direct + ice-core + vetted product by default, with archive proxy data optional and clearly labeled as lower-standardized extension material.
Every source should be converted into one harmonized table before plotting:
../../data/paleo_co2/co2_unified.csv.
key: source key from manifestarchive: source family label used for layer/tier controlsproxy_type: method familyfilename: original file nameyear_CE: normalized year axis (negative = BCE)co2_ppm: CO2 value in ppm
Provenance file: ../../data/paleo_co2/manifest_downloads.csv.
python3.cd /Users/mintz/code/jim/trumps-tariffs.com python3 -m venv .venv source .venv/bin/activate python3 -m pip install --upgrade pip python3 -m pip install pandas openpyxl
cd /Users/mintz/code/jim/trumps-tariffs.com python3 frontend/jim_cornelius_site/scripts/parse_all_co2_to_csv.py
python3 - <<'PY'
import csv
from collections import Counter
from pathlib import Path
p = Path('frontend/jim_cornelius_site/data/paleo_co2/co2_unified.csv')
rows = list(csv.DictReader(p.open()))
print('rows', len(rows))
print('archives', dict(Counter(r['archive'] for r in rows)))
PY
Current expected shape for this repository (as of May 2026): row count around 9.3k, with archive families including Modern instrumental, Merged Antarctic ice-core CO2, Byrd ice core, and CenCO2PIP vetted product.
cd /Users/mintz/code/jim/trumps-tariffs.com/frontend/jim_cornelius_site python3 -m http.server 8000 # default: http://localhost:8000/pages/climate/co2_long_run_hybrid.html # optional custom host if configured: http://jim-cornelius.localhost:8000/pages/climate/co2_long_run_hybrid.html
If you rebuild or replace the chart, keep these controls and defaults so the output is interpretable.