Skip to content HtmlpressStatic site generator HtmlpressStatic site generator

Change theme

Keyboard shortcuts

Climate: 175 years of warming

Updated

A data story in one HTML page: warming stripes, an annotated temperature record and eight hundred thousand years of carbon dioxide, with the narrative set between the figures. Each figure is inline SVG drawn from the numbers in the page; the stripes mix their colors in the browser with color-mix(), so they follow the site's dark mode too.

Warming stripes

ColderWarmer

Each stripe is one year of global average surface temperature, from 1850 on the left to 2025 on the right, with no axis and no numbers. Blue years were cooler than the 1961–1990 average, red years warmer. For a century the colors drift; then, from the 1980s, they only go one way.

Three numbers

+1.53 °C 2024, the warmest year on record, above the 1861–1890 average
11 of 11 the eleven warmest years are the last eleven, 2015 to 2025
425.6 ppm carbon dioxide in 2025, up from 313 ppm in 1950

The record, year by year

Put the numbers back and the shape gets sharper. Natural swings are real — strong El Niño years jump, the 1991 eruption of Mount Pinatubo cooled the planet for two years — but they ride on a trend that has climbed about 0.2 °C per decade since the 1970s.

Temperature anomaly

°C, relative to 1861–1890 · hover for values
  • Annual
  • 20-year average

The Paris Agreement's 1.5 °C limit applies to the long-term average, not single years: 2024 crossed it, the 20-year average has not yet.

What drives it

Ice cores hold bubbles of ancient air. For 800,000 years, through eight ice ages, the carbon dioxide in them never rose above 300 parts per million. It crossed that line in the early 1900s and has risen almost without pause since; the warming above follows it.

CO₂ over 800,000 years

ppm · ice cores, then direct measurement
Data table
Year Anomaly, °C 20-year average, °C

How it's built

  • The stripes are 176 <rect>s whose fill is color-mix(in oklab, var(--cw-warm) N%, var(--cw-mid)): the diverging scale lives in CSS, so the dark theme swaps its poles and gray midpoint in one place.
  • The annotations are plain SVG text with leader lines, placed by year and value; on a phone the smaller ones drop out and only the record stays.
  • The CO₂ chart plots 393 ice-core and observatory points on one time axis, so the modern rise becomes a vertical line at the right edge — the point of the figure.

Sources: Met Office Hadley Centre HadCRUT5, anomalies rebased to 1861–1890; CO₂ from NOAA Global Monitoring Laboratory and EPA ice-core compilations; both as compiled by Our World in Data. Warming stripes after Ed Hawkins.

Created with ❤ and Htmlpress

Actions

Edit on GitHubView as Markdown

Contents