Barometric Pressure

Methodology

Where the numbers come from, exactly what each term means, and how often the site is rebuilt.

Data source

The historical statistics on every city page come from Open-Meteo’s historical weather API, which serves ECMWF ERA5 reanalysis. For each city we pull hourly sea-level pressure (pressure_msl) for the ten calendar years 2015–2024 — 87,672 hourly values per city — at the city’s centroid coordinates.

Reanalysis is not the same thing as a single station’s barograph. It is a physically consistent model reconstruction constrained by observations, which makes cities directly comparable to each other — the point of this site — at the cost of smoothing the sharpest very local excursions.

Live conditions and forecasts are a separate request: your browser calls the Open-Meteo forecast API directly for the last 7 days plus a 16-day forecast. Nothing about your location or your reading is sent to this site’s servers.

Sea level vs. station pressure

All comparative figures are sea-level-reduced pressure, the standard for cross-city comparison and what weather reports quote. A barometer in your house that is set to display raw station pressure will read lower — substantially lower at altitude. Each city page lists its mean station pressure alongside the sea-level figures so you can tell which number your device is showing.

Conversions on this site use 1 hPa = 0.02953 inHg. Tables show both; the live chart has an inHg/hPa toggle.

Pressure zones on the live chart

The live chart on every city page is drawn over five coloured background bands. The thresholds are fixed absolute sea-level values, identical for every city — conventional meteorological reading points rather than per-city percentiles. That is deliberate: 1002 hPa means the same thing in Denver as it does in Miami, so the bands let you compare cities and read an unfamiliar city’s chart at a glance. The trade-off is that steady, low-variance cities sit inside the “normal” band nearly all the time; for those places the shape of the line and the outlook calendar carry the information, not the band colour.

ZonehPainHgTypical association
Very lowbelow 995below 29.38Deep low-pressure system; storm conditions
Low995–100529.38–29.68Unsettled, cloud and precipitation more likely
Normal1005–102029.68–30.12Ordinary conditions; standard atmosphere is 1013.25 hPa
High1020–103030.12–30.42Settled, drier, often clear
Very highabove 1030above 30.42Strong anticyclone; cold, stable air masses

The bands are anchored in hPa and the chart’s vertical scale is computed in hPa, so switching the chart to inHg moves the tick labels but not the bands — a reading in the “low” band is in the low band in either unit. The zone key under the chart restates each threshold in whichever unit is selected.

“Normal” is drawn unshaded, on purpose. Most cities sit inside it most of the time, and tinting it meant tinting four-fifths of the chart a flat colour that the eye simply reads as the background — which left the bands that actually matter with nothing to contrast against. White is the baseline instead, so any coloured band on the chart means the pressure has left the normal range. Each threshold that falls inside the visible range is also drawn as a dashed line in its zone colour, so a boundary is legible even when only a sliver of the band is on screen.

Chart scale: a minimum window of 20 hPa

The live chart fits its vertical axis to the data, but never to a window narrower than 20 hPa (0.59 inHg). Without a floor, a calm week in a steady city gets stretched to fill the full chart height, and a 2 hPa wobble takes on the same dramatic shape as a genuine 25 hPa storm cycle in Denver. That is a misleading picture, and it is exactly the kind of amplitude inflation this site should avoid. With the floor in place, visual steepness means the same thing on every city page: small changes look small.

The floor is deliberately wider than the 15 hPa “normal” band, which means at least one zone threshold is almost always on screen — so the chart keeps a fixed reference line rather than floating free. Cities whose pressure genuinely ranges wider than 20 hPa in the plotted window are auto-fitted as before, with padding; the floor only ever widens a window, never narrows one, so no reading is ever clipped.

These are interpretive conventions, not a standard: pressure zones are a long-standing way of reading a barometer dial, and the exact cut points vary between sources. What matters for this site is that they are the same cut points everywhere. Note also that these are sea-level-reduced values — a barometer showing raw station pressure at altitude will read well below every band.

Swing days, big-swing days, drop days

These are counted on rolling 24-hour changes across every hour of the record, then collapsed to calendar days and averaged per year:

The 6 and 10 hPa cut points are conventional bins in the pressure-and-headache literature rather than clinically validated thresholds. They exist so that cities can be ranked on a consistent yardstick.

Percentiles (p5, median, p95) and the “top 5% of 24-hour changes” figure are computed over all hourly values in the ten-year window. Records are the single highest and lowest hourly sea-level values in that window.

The migraine / pressure-sensitivity outlook

The calendar on each city page is computed in your browser from a single Open-Meteo request covering the past 30 days and the next 16. For every local day in that window it finds the largest-magnitude 24-hour pressure change ending in that day and bins it:

This is association language, deliberately. Studies have repeatedly found a statistical association between barometric pressure change and migraine onset in some people, and no association in others; effect sizes are modest and individual sensitivity varies widely. The strip describes the weather, not you: it says a day is forecast to carry the kind of pressure change that pressure-sensitive people commonly report as a trigger. It does not predict a headache, does not diagnose anything, and is not medical advice. If migraine is affecting your life, that is a conversation for a clinician.

The 30 days of history exist for exactly one purpose: personal correlation. Forward-looking risk strips are hard to evaluate — you cannot tell whether one was right. Looking backwards, you can. If you had a bad day on the 12th, find the 12th on the calendar and see what the barometer was doing. Do that over a month or two and you will have a far better answer about your own sensitivity than any threshold on this site can give you. Days before today are filled in solid; forecast days are drawn with a dashed outline, and today is ringed, so the boundary between what happened and what is predicted is never ambiguous.

Past days use analysed values for that location rather than the forecast that was issued at the time, so the history reflects what the pressure actually did, not what was predicted a week earlier.

The most useful way to read it is retrospectively: keep your own symptom log, compare it against the calendar, and see whether your pattern tracks pressure at all.

Regeneration cadence

The historical statistics are recomputed annually, after the calendar year closes, so the ten-year window rolls forward. The written analysis for each city is regenerated in the same pass. Live charts and outlooks are not cached at all — they are fetched fresh by your browser on every page view.

City pages are static HTML rendered by a single script from the stored statistics and written analysis; adding a city means adding its data and rerunning the render. The sitemap is generated in the same pass, so new cities are discoverable immediately.

Limitations

All cities · Check any US location