Methods and data
Everything on this site is computed from NOAA's raw daily station files by an open pipeline. This page says exactly what was done — and what was left out.
Source
Daily maximum and minimum temperatures come from NOAA's Global Historical Climatology Network – Daily (GHCN-D), version 3.34-upd-2026082518, the same archive behind NOAA's own climate tools. We use the per-station files
(by_station/<ID>.csv.gz) refreshed nightly, and keep only values that pass NOAA's quality checks —
flagged values are shown as "withheld" in the raw tables and excluded from every count. The URL and SHA-256 of every
file used is recorded in the repository's manifests/.
Stations
We chose 26 Greater Los Angeles stations with long, still-active daily records and stable ground-level siting: Pasadena (1893–), Santa Ana (1916–), Newport Beach (1921–), Palmdale (1931–), Torrance Airport (1932–), UCLA (1933–), Culver City (1935–), Burbank (1939–), LAX (1944–), Mt. Wilson (1948–), Long Beach Airport (1949–), Woodland Hills (1949–), Palmdale Airport (1934–), Lake Elsinore (1897–), Pomona Fairplex (1893–), Claremont (1893–), Riverside (1893–), Riverside Citrus Station (1956–), Corona (1913–), Tustin Irvine Ranch (1915–), Yorba Linda (1912–), San Gabriel (1939–), Laguna Beach (1928–), Santa Monica Pier (1937–), San Fernando (1918–), El Toro MCAS (1945–). Two candidates were dropped for incompleteness (Big Tujunga Dam, Van Nuys Airport). Names and coordinates come from NOAA's station list.
The national map is different: it is not curated. It includes every US station in NOAA's inventory whose daily highs and lows span at least 50 years — 6,378 stations, closed ones included — with the same completeness rules applied year by year, and no judgment about siting. Station moves and instrument changes are common in those records (Pasadena's are described below); treat any single station's trend with that in mind, and look for agreement among neighbors.
Why the famous downtown Los Angeles record isn't here
The downtown Los Angeles record has been produced from eight different locations since 1877, with instruments from four feet to over 220 feet above the ground, mostly on rooftops, before moving to ground level at USC in 1999. It is the best-known "Los Angeles" record but not a homogeneous one. (NWS Technical Memorandum TM-261, "Weather Records at Los Angeles", p. 9-10 (PDF p. 31).) The same memorandum names Pasadena, Long Beach and Burbank among the "first-rate, stable weather records" in the region, which is why those anchor this site. Downtown's current ground-level site at USC (since 1999) is excellent, but a chart of "Los Angeles since 1877" would be stitching together eight different thermometers on eight different rooftops.
What counts as a hot day or a warm night
A hot day is a day whose maximum reached the threshold; a warm night is a day whose minimum never fell
below it. Thresholds are whole °F because that is what the observer wrote down. NOAA stores readings in tenths of
a degree Celsius, and 90°F is stored as 32.2°C — which converts back to 89.96°F. We recover the observer's whole
degree exactly (floor(t × 0.18 + 32.5)) before testing a threshold, so 90°F days are 90°F days.
Standard thresholds: highs ≥ 90/95/100/105°F, lows ≥ 65/70/75°F,
highs ≤ 50/60°F, lows ≤ 32/40°F. Any other whole-°F threshold is
computed live in your browser from the same daily data, with the same rules.
Missing data
A year is counted only if at least 90% of its days were observed (for highs and lows separately); a month needs 25 days. Anything less is never shown as a low count: the chart shows a hollow "at least N" bar (the count over the days that were observed is a true lower bound) and the station page lists the missing dates. A missing January day can't hide a 95°F afternoon at Newport Beach, though — so for each threshold we also ask how often each missing date crosses it at that station (that calendar date ±3 days, over all years). If the missing days together are expected to add fewer than half a day to the count, and at least half the period was observed, the count is treated as exact and the year counts normally; the tooltip still says which days were missing. The current year is always "so far": it appears hatched and is compared with other years only over the same calendar window ("this summer through August 23" against every other summer through August 23). Cooperative-observer stations can report weeks late, so a station's latest date is always shown.
Baseline, decades, trends
"Then" is 1951–1980: every station has a complete record over it, it is the reference period used by NASA GISS and Berkeley Earth, and it predates most of the local warming. Decade averages use complete years only (at least 5); the current decade is marked "so far". Trend labels are Theil–Sen slopes (a median-based fit that is robust to single extreme years) over complete years since 1951; a slope is shown only when its 95% confidence interval excludes zero (Kendall p < 0.05), otherwise the chart says "no clear trend". Count series that are almost all zeros — 95°F days at a beach station, frost nights at the coast — get no trend at all, because a median slope through zeros is meaningless. Daily "typical range" bands are the 10th–90th percentile of the baseline years for each calendar date (±7 days). A daily record requires at least 30 prior years of data for that date, so a record set in 1895 over two prior years doesn't count.
Observation time
21 of the stations are cooperative-observer stations (NOAA ids starting with USC): a volunteer reads a max/min thermometer once a day — typically at 8 am or 4 pm — and the 24-hour extremes are logged on the reading date. A high logged at 8 am mostly happened the previous afternoon. We never shift or adjust readings; the daily explorer shows the observation time and notes the offset. Monthly and yearly counts are essentially unaffected. Airport stations (USW) use automated instruments and calendar days.
Site and instrument changes — the Pasadena case
A century-long station record is never one instrument in one spot. NOAA's station history for Pasadena (COOP 046719, a ground-level lawn site near Pasadena City Hall) records a switch to automated equipment around 2003–04, an upgrade to an electronic MMTS sensor with a 12-foot relocation and a change of reading time from 4 pm to 8 am in August 2015, and sensor replacements after that. NOAA's homogenization of the station's monthly record (USHCN v2.5, which compares each station with its neighbors) detects steps in exactly those years: nights jumped about 2.5°F relative to neighbors in 2003, dropped about 3°F in 2015–16, and rose about 2.5°F again in 2020–21; daytime highs before 2015 were biased warm by the 4 pm reading time.
Does that explain Pasadena's rise? No — it changes the shape, not the conclusion. Applying NOAA's adjustments and recounting, Pasadena's warm nights go from about 5 per year in 1951–1980 to about 18 in the last decade (raw: 3 → 15), and its 95°F days from about 11 to about 41 (raw: 20 → 42) — the homogenized rise in hot days is steeper, because the afternoon reading time inflated the old highs. Pasadena's night warming is also matched, in kind if not in size, at every other long-record station in the region, including airports with automated instruments. For the three USHCN stations here (Pasadena, Newport Beach, Tustin) each station page lists the detected changes and the raw-vs-homogenized counts; for the others no homogenized version exists, and we show the raw record with its observation-time history.
What these charts can and can't say
Each chart is one thermometer at one place. Station surroundings change over a century — pavement, buildings, irrigation, instrument upgrades — and that shows up in the record alongside regional climate change; we don't try to separate the two, and we don't average stations into a "Los Angeles" number. That the same shift in warm nights appears at a beach, a mountain, a desert town and a college campus is the reader's evidence, not ours. Cold-season metrics (frost nights) use July–June seasons so a winter is never split across two years.
Reproduce it
The pipeline (clim acquire → ingest → check → analyze → export), the data-quality report, the station list and every
rule above live at github.com/ssorkin/climate (MIT). The Data page links every
file the site loads.