Built 2026-10-14 (14 October 2026)

Data Downloads: CSV and JSON Files With a Field Dictionary

Every table behind the site as CSV and JSON, the meaning of each field, and the compact daily history file format the threshold explorer reads. Free to reuse with attribution.

Key Facts

  • 8,896 tables are available as CSV and as JSON, one pair for each data page.
  • Temperatures are in degrees Celsius with one decimal and precipitation in millimetres with one decimal in every file; Fahrenheit and inches are shown on pages only.
  • Dates are ISO 8601 (YYYY-MM-DD). Every JSON file carries a data as of date, a last revised date, the source and the licence.
  • 0 cities have a compact daily history file in format wem-history-1: one row per day, the date as YYYYMMDD and five values in tenths.

How the Download Links Work

  • Every data page has a Download the Data section with a CSV and a JSON link for the table it shows.
  • The files live at /data/files/{family}/{id}.csv and .json: for example /data/files/records.csv.
  • CSV files have one header row, comma separators and quoted text where needed. JSON files hold the same rows as objects, with the field dictionary, the data as of date, the last revised date, the source and the licence.
  • Data comes from NOAA GHCN-Daily (US Government open data (NOAA NCEI)) and is free to reuse with attribution. Records are computed by this site and are not official.
Downloadable tables by page family Tables available for download by page family: records 420, countries 1,883, regions 64, cities 162, stations 6,000, thresholds 1, on-this-day 366. 02,0004,0006,000records: 420countries: 1,883regions: 64cities: 162stations: 6,000thresholds: 1on-this-day: 366recordscountriesregionscitiesstationsthresholdson-this-day
Tables available for download by page family: records 420, countries 1,883, regions 64, cities 162, stations 6,000, thresholds 1, on-this-day 366.
Downloadable tables by page family
Page familyTables
records420
countries1,883
regions64
cities162
stations6,000
thresholds1
on-this-day366

Start Here

Field Dictionary

Record events (records, day, timescale, country and on this day files)

Record events (records, day, timescale, country and on this day files)
FieldMeaning
idStable record id: station, date, type and timescale.
station_idGHCN-Daily station id.
station_nameStation name.
countryISO 3166 alpha-2 country code.
typeRecord type: tmax_high, tmax_low, tmin_high, tmin_low, prcp_high, snow_high or snwd_high.
timescaledaily, monthly or all-time.
dateDate the record was set, YYYY-MM-DD.
valueRecord value in degrees Celsius or millimetres.
unitc for degrees Celsius, mm for millimetres.
previous_valueThe record it replaced, in the same unit. Empty for a first record.
previous_dateDate of the replaced record.
marginHow far the new value beat the old record, a non negative magnitude in the same unit. Zero for a tie.
years_stoodWhole years the replaced record had stood.
significanceRecord Significance Score from 0 to 100 (see /methodology/).
tieTrue when the value tied the record.
provisionalTrue while the record is inside the 60 day provisional window.
latStation latitude in decimal degrees.
lonStation longitude in decimal degrees.

Records per day (year, month and hub files)

Records per day (year, month and hub files)
FieldMeaning
dateDate, YYYY-MM-DD.
totalAll records set or tied that day.
tmax_highRecords of type tmax_high.
tmax_lowRecords of type tmax_low.
tmin_highRecords of type tmin_high.
tmin_lowRecords of type tmin_low.
prcp_highRecords of type prcp_high.
snow_highRecords of type snow_high.
snwd_highRecords of type snwd_high.

Threshold days by year (city and station threshold files)

Threshold days by year (city and station threshold files)
FieldMeaning
thresholdThreshold id, for example tmax_ge_40c.
yearCalendar year.
daysDays in the year at or beyond the threshold.
firstFirst qualifying date of the year.
lastLast qualifying date of the year.
longest_streakLongest run of consecutive qualifying days inside the year.

Standing records by year (city, station and region files)

Standing records by year (city, station and region files)
FieldMeaning
yearYear in which the standing records were set.
standing_recordsRecords set that year that still stand.

Daily History File Format

wem-history-1

The threshold explorer reads one compact full-history file per city (and per eligible station in the production export). A file holds the date and five values for every day of the record.

{
  "format": "wem-history-1",
  "id": "phoenix",
  "name": "Phoenix",
  "asOf": "",
  "revised": "",
  "fields": ["tmax","tmin","prcp","snow","snwd"],
  "scale": 10,
  "rows": [
    
  ]
}
  • Each row is [YYYYMMDD, tmax, tmin, prcp, snow, snwd]. The date is a whole number such as 19480101.
  • Values are whole numbers in tenths: tenths of a degree Celsius for temperature and tenths of a millimetre for precipitation, snowfall and snow depth. Divide by scale (10) for degrees or millimetres. A missing value is null.
  • Rows are sorted by date and cover every calendar day with any observation. Files are served gzip compressed.
  • A threshold of 40 C is 400; a threshold of 100 F is converted once to tenths of a degree Celsius, rounding half up, which is 378.
  • The same engine runs in the browser and in the build; tests compare it with a slow reference implementation and with the per year counts on the city pages.

Source: NOAA National Centers for Environmental Information, Global Historical Climatology Network Daily (GHCN-Daily). Records are computed by World Extreme Weather Monitor and are not official NOAA products. (US Government open data (NOAA NCEI)) Data as of 2026-10-12 (12 October 2026). Records are computed by this site and are not official.

Data as of . Last revised (2026-10-13).