METHOD
Where every number comes from, how it is computed, and what this site refuses to claim.
The two sources
EVERYTHING ON THIS SITE COMES FROM ONE OF THEM- NOAA/NCEI nClimDiv — the Climate Divisional Database. Monthly mean, maximum and minimum temperature, total precipitation, the Palmer Drought Severity Index, and heating and cooling degree days, for California and its seven climate divisions, January 1895 to the present. Fetched by tools/fetch_climdiv.py from ncei.noaa.gov.
- NOAA/CPC Oceanic Niño Index — the three-month running mean sea-surface temperature anomaly in the Niño 3.4 region, 1950 to the present. Fetched by tools/fetch_oni.py from cpc.ncep.noaa.gov.
Both fetchers cache what they download and neither runs during a deploy — a deploy must not depend on a third party being up. The derived statistics are computed by tools/build_climate.py, which is pure arithmetic over the committed tables and does run on every deploy, so a published page can never be built against numbers nobody recomputed.
Why divisions and not stations
THE CHOICE THAT SHAPES EVERYTHING ELSEA century-scale trend computed from a single weather station is mostly a history of that station. Instruments were replaced, shelters changed, sites moved, and the time of day observations were taken drifted from afternoon to morning across much of the US network — a change that alone can shift a station's apparent mean by more than a degree. Every one of those is a step change in the data that looks exactly like climate.
nClimDiv is built from GHCN-Daily after homogenisation and bias adjustment, gridded to 5 km and averaged over the division polygon. That is what makes a 131-year trend defensible. The cost is real and is stated on every page that uses it: divisional averaging discards exactly the terrain detail that makes California interesting.
Geography is authored. Climate is measured. They are never mixed. The companion weather site keeps its 57 station normals in one file and its geography in another and joins them only at render time; this site keeps the divisional record and the ENSO index in separate files and joins them only where a page says it is doing so. Neither site has ever hand-entered a climate number — the weather site checked its hand-entered figures against NOAA once, found 66 of them materially wrong, and deleted the columns rather than correcting them.
How the trends are computed
AND WHY THE INTERVALS ARE WIDER THAN USUALEvery trend on this site is an ordinary least-squares fit to annual values, reported per decade and per century with a 95% confidence interval. Three details matter.
- Only complete years are used. NCEI publishes the current year as soon as January exists and pads the remaining months with a missing-value sentinel. An annual mean built over a partial year would arrive on a chart as the most dramatic point in the record; the builder returns nothing unless all twelve months are present.
- Precipitation is summed on the water year, October through September, which is the convention California's own agencies use. A calendar total splits every wet season in half and correlates one winter's storms with the next one's.
- The intervals are adjusted for autocorrelation. A standard OLS interval assumes each year is independent of the last. Climate series are not: a warm year tends to follow a warm year, so the effective number of independent samples is smaller than the number of years and the naive interval is too narrow. This site applies the standard lag-1 correction, n_eff = n(1−r)/(1+r), computed on the residuals.
It is the difference between two conclusions this site publishes. For California's statewide temperature the adjustment reduces the effective sample from 131 years to about 80, and the trend survives comfortably. For water-year precipitation, the trend was never significant either way — and the adjustment is what stops a site like this one from quietly reporting a slope as if it were a fact. The narrower interval would have been the more impressive-looking number.
Where a page says a trend is "significant" it means one specific and limited thing: the adjusted 95% interval excludes zero. It is a statement about this series. It is not a detection-and-attribution result, and this site does not make those.
Baselines
TWO OF THEM, USED FOR DIFFERENT JOBS- 1901–2000, the twentieth century, for temperature anomalies and the stripe fields. The modern 1991–2020 normal already contains most of the warming, so measuring against it would systematically hide the thing the chart exists to show.
- 1991–2020, the current WMO normal, for percent-of-normal precipitation. Here the question is "how did this year compare with what people currently expect", which is what a current normal is for — and it is the same period the companion weather site's station normals use, so the two sites are commensurable.
Every chart states which baseline it is on. A departure without a stated baseline is not a number.
How the charts are built
AND THE RULES THEY FOLLOW- The anomaly ramp is diverging and symmetric. Eleven steps, two hues, a neutral midpoint, and mirror-symmetric in perceptual lightness — so a +2°F year and a −2°F year are equally loud. A ramp darker on one side would make one sign of the anomaly look more important than the other, which on this subject is an argument, not a scale.
- The colours were checked, not chosen by eye. The two poles clear 4.5:1 against the page and separate by ΔE 21 under protanopia and 29 under tritanopia, so a red-green colourblind reader can still tell the ends apart. On a site where every chart is blue against red that is not a nicety.
- Colour is never the only channel. Every chart carries a text alternative, a hover readout and a collapsible table of the underlying numbers, so the figures survive print, screen readers and forced-colour modes.
- No chart on this site has two y-axes, and no quantity is plotted against a second one on a different scale. Where two measures need comparing they either share a unit or they get two charts.
- There is no choropleth of the climate divisions, because this repository holds no divisional polygons. Painting the weather site's eighteen overlapping rectangular region viewports by divisional value would look like a map of the divisions while being a map of something else, so the divisional charts are ordered dot plots instead.
What this site will not claim
THE LIMITS, LISTEDThis site will not say that a particular storm, heatwave or fire season was caused by, or made worse by, climate change. Event attribution is a formal discipline with its own methods — large model ensembles run with and without the human forcing — and running a trend line through a divisional average is not it.
There is no live observation feed here. This site cannot tell you the temperature, what fell yesterday, or how deep the snowpack is, and it will not estimate. The most recent complete year in the record is the most recent thing it knows.
No forecast, seasonal or otherwise, is issued here. The outlook page quantifies how much historical skill ENSO provides and then points at the Climate Prediction Center, which issues the real thing.
No model output is carried. The projections page summarises published work with links and states plainly that it contains no computed numbers of its own, and nothing modelled is ever plotted on the same axis as something measured.