NWS surface-station extreme-weather intelligence: daily
Daily extreme-weather digest over 164 principal U.S. surface stations (major airports + AK/HI/PR/GU/AS/MP): hourly NWS observations for the last complete UTC day collapsed to daily Tmax/Tmin/Tmean (degC), total precipitation (mm), max wind gust (m/s), and observation completeness. Each station gets a documented 0-100 extreme_weather_score (25% heat + 25% cold + 25% precipitation + 25% gust, ramped 0-1 intensities) ranked as extreme_rank, top-10 category leaderboards (hottest/coldest/wettest/windiest), and extreme flags (heat >=100F, freeze <=32F, heavy precip >=1in, strong gust >=40kt). Stations with <12 valid temperature observations are dropped; precipitation totals are honest null under <6 hourly readings. Primary key: (obs_date, station_id). Cadence: daily; obs_date is the window's complete UTC day, so identical input produces an identical content hash. Caveats: principal-station roster, not a full NWS census; stations in outage are absent that day; precip sums are reported hourly increments. NWS data is U.S. public domain — commercial_use = yes. Sample use: order by extreme_rank for the day's most extreme stations, or filter hottest_rank <= 10 for the day's heat leaders.
- Rows
- 162
- Columns
- 27
- Source cadence
- Daily
- Last refreshed
- Sep 26, 2026
- Theme
- environment
| Column | Type | Description |
|---|---|---|
| obs_date | string | The last complete UTC day the digest covers. Fixed per run so identical input produces an identical content hash. (unit: date) |
| station_id | string | NWS station identifier (ICAO id, e.g. KJFK). Together with obs_date it is the primary key. (unit: id) |
| station_name | string | Station name as reported by GET /stations/{id} (e.g. 'New York, Kennedy International Airport'). |
| time_zone | string | IANA time zone reported for the station (e.g. America/New_York). |
| latitude | float | Station latitude (degrees). (unit: deg) |
| longitude | float | Station longitude (degrees). (unit: deg) |
| country_code | string | ISO alpha-3 country code (USA for every roster station, incl. territories). |
| n_obs | integer | Number of observation records parsed for the station on obs_date. (unit: count) |
| obs_completeness | float | Share of the 24 UTC hours of obs_date with at least one valid observation (0-1). (unit: share) |
| tmax_c | float | Day's maximum 2m air temperature. (unit: degC) |
| tmin_c | float | Day's minimum 2m air temperature. (unit: degC) |
| tmean_c | float | Mean of the day's valid temperature readings. (unit: degC) |
| precip_mm | float | Total precipitation: sum of the day's valid hourly precipitationLastHour readings (mm). Honest null when fewer than 6 hourly readings are valid. (unit: mm) |
| precip_valid_hours | integer | Number of valid hourly precipitation readings behind precip_mm. (unit: count) |
| max_gust_ms | float | Day's maximum reported wind gust, normalized from the API's km/h to m/s. (unit: m/s) |
| heat_flag | boolean | True when tmax_c >= 37.8 (100F). (unit: bool) |
| freeze_flag | boolean | True when tmin_c <= 0.0 (32F). (unit: bool) |
| heavy_precip_flag | boolean | True when precip_mm >= 25.4 (1 inch). (unit: bool) |
| strong_gust_flag | boolean | True when max_gust_ms >= 20.6 (40 knots). (unit: bool) |
| extreme_weather_score | float | Documented 0-100 composite = min(100, 25*heat_i + 25*cold_i + 25*precip_i + 25*gust_i) with ramped 0-1 intensities: heat_i = clip((tmax-30)/15), cold_i = clip((-15-tmin)/20), precip_i = clip((precip_mm-5)/45), gust_i = clip((gust-10)/25). (unit: score) |
| extreme_rank | integer | Station rank within the day's snapshot (1 = highest extreme_weather_score; ties broken by tmax_c desc, then station_id asc). (unit: rank) |
| hottest_rank | integer | Rank by tmax_c desc within the day's top 10; null when not in the top 10. (unit: rank) |
| coldest_rank | integer | Rank by tmin_c asc within the day's top 10; null when not in the top 10. (unit: rank) |
| wettest_rank | integer | Rank by precip_mm desc within the day's top 10; null when not in the top 10 (or precip_mm null). (unit: rank) |
| windiest_rank | integer | Rank by max_gust_ms desc within the day's top 10; null when not in the top 10. (unit: rank) |
| source_url | string | Canonical api.weather.gov URL for the station. (unit: URL) |
| row_hash | string | SHA-256 (16 hex chars) over the row's content fields; identical input yields an identical hash, so a re-run on an unchanged window is a no-op. (unit: hash) |
First 10 sample rows — a preview, not the complete dataset.
| obs_date | station_id | station_name | time_zone | latitude | longitude | country_code | n_obs | obs_completeness | tmax_c | tmin_c | tmean_c | precip_mm | precip_valid_hours | max_gust_ms | heat_flag | freeze_flag | heavy_precip_flag | strong_gust_flag | extreme_weather_score | extreme_rank | hottest_rank | coldest_rank | wettest_rank | windiest_rank | source_url | row_hash |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-09-24 | PHTO | Hilo, Hilo International Airport | Pacific/Honolulu | 19.722 | -155.056 | USA | 30 | 0.833 | 27.2 | 23.3 | 25 | 57.2 | 17 | 0 | false | false | true | false | 25 | 1 | — | — | 1 | — | https://api.weather.gov/stations/PHTO | 66c215b4b89d6b42 |
| 2026-09-24 | KBFL | Bakersfield, Meadows Field Airport | America/Los_Angeles | 35.434 | -119.057 | USA | 200 | 0.667 | 38 | 19 | 27.9 | — | 0 | 8.8 | true | false | false | false | 13.33 | 2 | 1 | — | — | — | https://api.weather.gov/stations/KBFL | 9f3a4c1ed1a3c8a7 |
| 2026-09-24 | KFAT | Fresno, Fresno Air Terminal | America/Los_Angeles | 36.78 | -119.719 | USA | 200 | 0.667 | 38 | 19 | 27 | — | 0 | 0 | true | false | false | false | 13.33 | 3 | 2 | — | — | — | https://api.weather.gov/stations/KFAT | 063f3fab3bf5d49d |
| 2026-09-24 | KHRL | Harlingen, Rio Grande Valley International Airport | America/Chicago | 26.23 | -97.655 | USA | 200 | 0.667 | 37 | 23.9 | 30.8 | — | 0 | 11.3 | false | false | false | false | 12.99 | 4 | 5 | — | — | — | https://api.weather.gov/stations/KHRL | 7b49f2508028e7c4 |
| 2026-09-24 | KBRO | Brownsville, Brownsville / South Padre Island International Airport | America/Chicago | 25.914 | -97.423 | USA | 200 | 0.667 | 37 | 27 | 31.7 | — | 0 | 10.8 | false | false | false | false | 12.47 | 5 | 4 | — | — | — | https://api.weather.gov/stations/KBRO | aa3391326b6b1b97 |
| 2026-09-24 | KAUS | Austin-Bergstrom International Airport | America/Chicago | 30.183 | -97.68 | USA | 200 | 0.667 | 37 | 22 | 29.6 | — | 0 | 8.2 | false | false | false | false | 11.67 | 6 | 3 | — | — | — | https://api.weather.gov/stations/KAUS | b14b2c76005c9f35 |
| 2026-09-24 | TJSJ | San Juan, Luis Munoz Marin International Airport | America/Puerto_Rico | 18.45 | -66 | USA | 21 | 0.708 | 31.7 | 26.7 | 28.5 | 10.4 | 6 | 15.4 | false | false | false | false | 11.23 | 7 | — | — | 5 | 6 | https://api.weather.gov/stations/TJSJ | d8c666990819ba61 |
| 2026-09-24 | KLRD | Laredo, Laredo International Airport | America/Chicago | 27.544 | -99.461 | USA | 200 | 0.667 | 36 | 25 | 29.5 | — | 1 | 10.8 | false | false | false | false | 10.8 | 8 | 7 | — | — | — | https://api.weather.gov/stations/KLRD | f9dc879b985a0481 |
| 2026-09-24 | KDRT | Del Rio, Del Rio International Airport | America/Chicago | 29.375 | -100.924 | USA | 200 | 0.667 | 35 | 25 | 29.4 | — | 0 | 12.4 | false | false | false | false | 10.73 | 9 | 9 | — | — | — | https://api.weather.gov/stations/KDRT | b65748b2b36d4bb8 |
| 2026-09-24 | KORF | Norfolk, Norfolk International Airport | America/New_York | 36.904 | -76.192 | USA | 200 | 0.667 | 20 | 18 | 19 | 0 | 11 | 20.1 | false | false | false | false | 10.1 | 10 | — | — | — | 1 | https://api.weather.gov/stations/KORF | bb9ffc258687c0c2 |
Profiled Sep 26, 2026 from snapshot 20260926T000847Z-8af57c086633
Measured- Completeness
- 82.8%
- Rows
- 162
- Columns
- 27
- Columns with gaps
- 5
| Column | Missing | Distinct | Range | Distribution |
|---|---|---|---|---|
| obs_datevarchar | 0% | 1 | — |
|
| station_idvarchar | 0% | 172 | — |
|
| station_namevarchar | 0% | 215 | — |
|
| time_zonevarchar | 0% | 20 | — |
|
| latitudedouble | 0% | 179 | 13.48 → 71.29median 38.99 | 4 outside 1st–99th percentile |
| longitudedouble | 0% | 157 | -165.45 → 145.73median -95.77 | 4 outside 1st–99th percentile |
| country_codevarchar | 0% | 1 | — |
|
| n_obsbigint | 0% | 12 | 15 → 200median 200 | 2 outside 1st–99th percentile |
| obs_completenessdouble | 0% | 7 | 0.625 → 1median 0.6667 | |
| tmax_cdouble | 0% | 43 | -1 → 38median 23 | 4 outside 1st–99th percentile |
| tmin_cdouble | 0% | 45 | -4 → 27median 13.9 | 3 outside 1st–99th percentile |
| tmean_cdouble | 0% | 107 | -2.5 → 31.7median 17.5 | 4 outside 1st–99th percentile |
| precip_mmdouble | 90.1% | 12 | 0 → 57.2median 4.85 | 1 outside 1st–99th percentile |
| precip_valid_hoursbigint | 0% | 16 | 0 → 21median 0 | 2 outside 1st–99th percentile |
| max_gust_msdouble | 0% | 24 | 0 → 20.1median 8.8 | 2 outside 1st–99th percentile |
| heat_flagboolean | 0% | 2 | — |
|
| freeze_flagboolean | 0% | 2 | — |
|
| heavy_precip_flagboolean | 0% | 2 | — |
|
| strong_gust_flagboolean | 0% | 1 | — |
|
| extreme_weather_scoredouble | 0% | 50 | 0 → 25median 0 | 1 outside 1st–99th percentile |
| extreme_rankbigint | 0% | 169 | 1 → 162median 81.5 | 4 outside 1st–99th percentile |
| hottest_rankbigint | 93.8% | 11 | 1 → 10median 5.5 | 2 outside 1st–99th percentile |
| coldest_rankbigint | 93.8% | 11 | 1 → 10median 5.5 | 2 outside 1st–99th percentile |
| wettest_rankbigint | 93.8% | 11 | 1 → 10median 5.5 | 2 outside 1st–99th percentile |
| windiest_rankbigint | 93.8% | 11 | 1 → 10median 5.5 | 2 outside 1st–99th percentile |
| source_urlvarchar | 0% | 146 | — |
|
| row_hashvarchar | 0% | 180 | — |
|
- Current
20260926T000847Z-8af57c086633 · sha256 8af57c086633…
162 rows · first snapshot
Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).
curl "https://datazimuts.com/v1/datasets/nws_station_extremes/nws_station_extremes_daily" | jq '{title, rows, columns_count, license}'import requests
ds = requests.get("https://datazimuts.com/v1/datasets/nws_station_extremes/nws_station_extremes_daily").json()
print(ds["title"], ds["rows"], "rows")
# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
print(row)API endpoint: https://datazimuts.com/v1/datasets/nws_station_extremes/nws_station_extremes_daily
Tip: fetch /llms.txt for the full machine-readable catalog.
Where this data comes from and what was made from it. Other people's work shows as counts; only shared projects are named.
Cite this snapshot
Pinned to snapshot 20260926T000847Z-8af57c086633 and its content hash, so readers get exactly the data you used.
NWS Surface-Station Extreme Weather Intelligence. (2026). NWS surface-station extreme-weather intelligence: daily [Data set, snapshot 20260926T000847Z-8af57c086633, sha256 8af57c086633]. Datazimuts. Retrieved 2026-09-26, from https://datazimuts.com/en/datasets/nws_station_extremes/nws_station_extremes_daily?snapshot=20260926T000847Z-8af57c086633
@misc{dz_nws_station_extremes_nws_station_extreme_8af57c08,
title = {{NWS surface-station extreme-weather intelligence: daily}},
author = {{NWS Surface-Station Extreme Weather Intelligence}},
year = {2026},
publisher = {Datazimuts},
howpublished = {\url{https://datazimuts.com/en/datasets/nws_station_extremes/nws_station_extremes_daily?snapshot=20260926T000847Z-8af57c086633}},
note = {Snapshot 20260926T000847Z-8af57c086633, sha256 8af57c08663362673d1ebc879843a9526e0f6a90e71457b43a34062bec569baa; accessed 2026-09-26}
}Embed a table or a chart
Paste this into any page. The embed is pinned to the same snapshot, follows the reader's light or dark setting, and always shows the source, license and a link back.
<iframe src="https://datazimuts.com/embed/chart?dataset=nws_station_extremes%2Fnws_station_extremes_daily&lang=en&theme=auto&snapshot=20260926T000847Z-8af57c086633&x=obs_date&y=latitude&agg=avg" title="NWS surface-station extreme-weather intelligence: daily" width="100%" height="380" style="border:0" loading="lazy"></iframe>
Ask about this dataset. Answers come only from its catalog record, measured profile and change history, and list the facts they used.