Weather is the second database
Every query in EquationDB so far has been about markets. Today a second database sits on the same engine: Weather.
It holds daily observations for 399 US stations, in all 50 states and updated every day, and for 55 world cities. Central Park's record starts in 1869; most stations go back to the 1940s. The same language reads it, and one statement can read weather and markets together.
Why weather
We have always said EquationDB is an engine, not a market product. Its principles say nothing about stocks: anything measured over time is a series; a change worth noticing is an event; an event is judged against its own history; what followed is measured without hindsight. Weather is the cleanest test of that claim. Nothing in it is a price, and it still fits every principle without a new idea.
It is also useful. Heating demand drives natural gas. Summer heat drives power prices. Freezes move grain. Storms move insurers and home-improvement retailers. Desks already follow these numbers; they usually live in another tool.
A station is a series, like a stock
A station is named by its airport code, its city or its station id, so weather:KORD, weather:CHICAGO and weather:USW00094846 are the same place:
GET weather:CHICAGO SELECT tmax, tmin, prcp, snow LAST 14d SERIES weather:KORD.hdd LAST 2y ALIGN monthly
Temperatures come in °F (and °C), rain and snow in inches (and mm), wind in mph. Heating and cooling degree days are ready to use, and every temperature also has an anomaly against the station's own 1991–2020 normal for that time of year.
The history checks out against the record books. SERIES weather:KNYC.tmax FROM 1936-07-08 TO 1936-07-10 returns 106 °F on 9 July 1936, still New York's record. O'Hare's −27 °F on 20 January 1985 is there too.
Events, judged against the place and the season
A 95 °F day is a heat wave in Seattle and a Tuesday in Phoenix. So every weather event is detected against that station's own thresholds for that time of year: a heat wave is three days in a row above the station's 90th percentile, a cold snap three days below its 10th. Ten event types in all: record highs and lows, heat waves, cold snaps, heavy rain, heavy snow, first freezes, hard freezes where they are rare, damaging gusts and big temperature swings.
EVENTS * IN weather.us LAST 7d SORT rarity DESC LIMIT 20
Rarity works the way it does for market events, with one change that weather needs: it is seasonal. An occurrence is ranked among the same event's earlier occurrences at the same station in the same calendar month, using only what came before it.
Weather and markets in one statement
Because every series shares one shape, weather sits on the same grid as prices with no new plumbing:
SERIES CORR weather:KORD.hdd, UNG.close LAST 5y ALIGN weekly
And OUTCOMES asks what markets did after a weather event:
OUTCOMES AFTER weather:KORD.cold_snap IN (UNG, XLE) FWD 1d, 5d, 20d SINCE 2010-01-01
Weather is published a day or more after the day it describes, so the measurement starts at the close of the first session after the event, never the same day. Each result is set against the symbol's ordinary returns over the same years, so you see the edge, not just the average.
Try it
In the app, pick Weather in the database switch under the logo. The demo sheet and the power queries then lead with about fifty weather examples, from Chicago's last two weeks to what grain funds did after early freezes in Iowa.