Alert archive / California / Fresno County
Weather alerts in Fresno County, California, 2025
228 weather alerts in 2025, from the National Weather Service and the Storm Prediction Center. An alert counts here when it covered this county.
Fresno County and its neighbors
Each county as a circle sized by its count in 2025. Tap one for its archive.
- Alerts
- 228
- Warnings
- 26
- Watches
- 27
- Advisories
- 115
- Busiest month
- December39 alerts
- Busiest day
- August 26, 202514 alerts
Over time
By month
Warning verification
How often warnings here had a storm report inside them, and how much warning the reports had.
Fresno County, 2025
| Warnings | With a report | False alarm ratio | Reports | Inside a warning | Mean lead time | |
|---|---|---|---|---|---|---|
| Tornado warnings | 0 | 0 | ||||
| Severe thunderstorm warnings | 3 | 0 | 100% | 0 | ||
| Flash flood warnings | 4 | 1 | 75% | 11 | 9% | 33 min |
Each office's whole area, 2025
| Warnings | With a report | False alarm ratio | Reports | Inside a warning | Mean lead time | |
|---|---|---|---|---|---|---|
| NWS Hanford, CA: tornado warnings | 2 | 0 | 100% | 0 | ||
| NWS Hanford, CA: severe thunderstorm warnings | 16 | 0 | 100% | 0 | ||
| NWS Hanford, CA: flash flood warnings | 31 | 9 | 71% | 53 | 21% | 81 min |
An office's figures cover every county it serves, including across state lines.
Verified by the Iowa Environmental Mesonet's Cow, which matches each storm-based warning with the local storm reports inside its polygon while it was in force, within 15 km of its edge: a tornado warning counts as verified on a tornado report, a severe thunderstorm warning on hail of 1 inch or more, a gust of 58 mph or more, or wind damage, a flash flood warning on a flash flood report. The false alarm ratio is the share of warnings with no such report; "inside a warning" is the probability of detection, the share of reports that fell inside one; lead time runs from the warning's issue to each report inside it, counting zero for a report that came first. A warning with no report is not proof nothing happened: reports come from spotters, the public and damage surveys, and are thin where few people live.
The alerts
Every alert, in the order issued. Times are local, Pacific Time. Each opens its own page with the text, the map, the radar and the sounding.
| Issued | Product | Office | Lasted |
|---|---|---|---|
| Jan 3, 9:41 PM PST | Dense Fog Advisory | HNX | 11 hr |
| Jan 5, 7:51 AM PST | Dense Fog Advisory | HNX | 5 hr |
| Jan 5, 12:47 PM PST | Wind Advisory | HNX | 66 hr |
| Jan 6, 3:02 AM PST | Dense Fog Advisory | HNX | 9 hr |
| Jan 10, 12:35 PM PST | Freeze Watch | HNX | 24 hr |
| Jan 11, 12:31 PM PST | Freeze Warning | HNX | 4 days |
| Jan 12, 2:52 AM PST | Dense Fog Advisory | HNX | 5 hr |
| Jan 18, 5:07 AM PST | Dense Fog Advisory | HNX | 6 hr |
| Jan 19, 9:06 AM PST | Freeze Watch | HNX | 27 hr |
| Jan 20, 4:23 AM PST | Dense Fog Advisory | HNX | 7 hr |
| Jan 20, 11:54 AM PST | Freeze Warning | HNX | 45 hr |
| Jan 23, 10:58 AM PST | Winter Weather Advisory | HNX | 4 days |
| Jan 25, 5:44 PM PST | Special Weather Statement | HNX | 31 min |
| Jan 26, 11:23 AM PST | Freeze Watch | HNX | 23 hr |
| Jan 27, 7:24 AM PST | Dense Fog Advisory | HNX | 4 hr |
| Jan 27, 10:41 AM PST | Freeze Warning | HNX | 70 hr |
| Jan 30, 12:11 PM PST | Winter Storm Warning | HNX | 56 hr |
| Feb 2, 2:11 AM PST | Winter Storm Watch | HNX | 10 hr |
| Feb 2, 11:50 AM PST | Winter Storm Warning | HNX | 70 hr |
| Feb 5, 9:38 AM PST | Winter Storm Warning | HNX | 48 hr |
| Feb 7, 10:54 AM PST | Freeze Warning | HNX | 4 days |
| Feb 10, 12:19 PM PST | Winter Storm Watch | HNX | 24 hr |
| Feb 10, 12:34 PM PST | Flood Watch | HNX | 4 days |
| Feb 11, 12:28 PM PST | Winter Storm Warning | HNX | 3 days |
| Feb 12, 11:09 AM PST | Wind Advisory | HNX | 32 hr |
| Feb 13, 6:39 AM PST | Areal Flood Advisory | HNX | 7 hr |
| Feb 13, 7:25 AM PST | High Wind Warning | HNX | 12 hr |
| Feb 13, 8:27 AM PST | Areal Flood Advisory | HNX | 8 hr |
| Feb 13, 10:00 AM PST | Areal Flood Advisory | HNX | 4 hr |
| Feb 13, 5:54 PM PST | Areal Flood Advisory | HNX | 111 min |
| Feb 13, 7:12 PM PST | Areal Flood Advisory | HNX | 2 hr |
| Feb 21, 4:48 AM PST | Dense Fog Advisory | HNX | 5 hr |
| Feb 28, 11:02 AM PST | Winter Weather Advisory | HNX | 66 hr |
| Mar 2, 12:51 PM PST | Special Weather Statement | HNX | 24 min |
| Mar 2, 2:41 PM PST | Special Weather Statement | HNX | 34 min |
| Mar 2, 3:14 PM PST | Special Weather Statement | HNX | 31 min |
| Mar 2, 3:42 PM PST | Special Weather Statement | HNX | 33 min |
| Mar 2, 4:34 PM PST | Special Weather Statement | HNX | 41 min |
| Mar 3, 1:01 PM PST | Winter Storm Warning | HNX | 72 hr |
| Mar 6, 3:45 PM PST | Special Weather Statement | HNX | 45 min |
| Mar 6, 4:24 PM PST | Special Weather Statement | HNX | 36 min |
| Mar 7, 1:18 AM PST | Freeze Watch | HNX | 16 hr |
| Mar 7, 5:35 PM PST | Freeze Warning | HNX | 13 hr |
| Mar 9, 12:52 PM PDT | Winter Storm Watch | HNX | 24 hr |
| Mar 10, 4:31 AM PDT | High Wind Watch | HNX | 37 hr |
| Mar 10, 12:32 PM PDT | Winter Storm Warning | HNX | 4 days |
| Mar 10, 12:32 PM PDT | Winter Weather Advisory | HNX | 5 days |
| Mar 10, 12:38 PM PDT | High Wind Warning | HNX | 5 days |
| Mar 10, 12:38 PM PDT | Wind Advisory | HNX | 5 days |
| Mar 12, 8:05 PM PDT | Special Weather Statement | HNX | 25 min |
| Mar 12, 9:27 PM PDT | Areal Flood Advisory | HNX | 6 hr |
| Mar 12, 9:47 PM PDT | Areal Flood Advisory | HNX | 5 hr |
| Mar 13, 3:08 PM PDT | Special Weather Statement | HNX | 37 min |
| Mar 13, 3:12 PM PDT | Special Weather Statement | HNX | 33 min |
| Mar 13, 3:24 PM PDT | Special Weather Statement | HNX | 36 min |
| Mar 13, 3:40 PM PDT | Special Weather Statement | HNX | 35 min |
| Mar 13, 3:47 PM PDT | Severe Thunderstorm Warning | HNX | 28 min |
| Mar 15, 2:25 AM PDT | Winter Storm Watch | HNX | 8 hr |
| Mar 15, 6:22 AM PDT | Dense Fog Advisory | HNX | 4 hr |
| Mar 15, 10:08 AM PDT | Winter Weather Advisory | HNX | 67 hr |
| Mar 17, 1:42 PM PDT | Special Weather Statement | HNX | 33 min |
| Mar 17, 2:42 PM PDT | Special Weather Statement | HNX | 33 min |
| Mar 17, 4:04 PM PDT | Special Weather Statement | HNX | 26 min |
| Mar 29, 12:15 PM PDT | Winter Storm Warning | HNX | 4 days |
| Mar 29, 12:15 PM PDT | Winter Weather Advisory | HNX | 4 days |
| Mar 31, 12:55 PM PDT | Special Weather Statement | HNX | 35 min |
| Mar 31, 1:25 PM PDT | Special Weather Statement | HNX | 35 min |
| Mar 31, 1:35 PM PDT | Areal Flood Advisory | HNX | 70 min |
| Apr 1, 2:56 PM PDT | Special Weather Statement | HNX | 34 min |
| Apr 1, 3:25 PM PDT | Special Weather Statement | HNX | 35 min |
| Apr 1, 3:26 PM PDT | Special Weather Statement | HNX | 34 min |
| Apr 1, 4:03 PM PDT | Special Weather Statement | HNX | 27 min |
| Apr 1, 5:18 PM PDT | Special Weather Statement | HNX | 42 min |
| Apr 24, 1:36 PM PDT | Winter Weather Advisory | HNX | 69 hr |
| May 3, 10:34 AM PDT | Special Weather Statement | HNX | 26 min |
| May 20, 9:24 AM PDT | Fire Weather Watch | HNX | 48 hr |
| May 26, 11:29 AM PDT | Extreme Heat Watch | HNX | 24 hr |
| May 27, 11:49 AM PDT | Heat Advisory | HNX | 5 days |
| Jun 2, 3:01 PM PDT | Areal Flood Advisory | HNX | 95 min |
| Jun 2, 3:08 PM PDT | Areal Flood Advisory | HNX | 90 min |
| Jun 2, 3:48 PM PDT | Areal Flood Advisory | HNX | 2 hr |
| Jun 8, 3:55 PM PDT | Severe Thunderstorm Warning | HNX | 35 min |
| Jun 20, 1:43 PM PDT | Red Flag Warning | HNX | 39 hr |
| Jul 10, 9:44 AM PDT | Heat Advisory | HNX | 6 days |
| Aug 9, 6:44 AM PDT | Heat Advisory | HNX | 64 hr |
| Aug 13, 3:56 PM PDT | Areal Flood Advisory | HNX | 82 min |
| Aug 18, 11:23 AM PDT | Extreme Heat Watch | HNX | 27 hr |
| Aug 19, 2:11 PM PDT | Heat Advisory | HNX | 6 days |
| Aug 19, 2:11 PM PDT | Extreme Heat Warning | HNX | 6 days |
| Aug 22, 3:51 PM PDT | Areal Flood Advisory | HNX | 3 hr |
| Aug 23, 12:28 PM PDT | Areal Flood Advisory | HNX | 2 hr |
| Aug 23, 12:47 PM PDT | Areal Flood Advisory | HNX | 118 min |
| Aug 23, 1:30 PM PDT | Special Weather Statement | HNX | 30 min |
| Aug 23, 1:46 PM PDT | Special Weather Statement | HNX | 29 min |
| Aug 23, 2:04 PM PDT | Special Weather Statement | HNX | 26 min |
| Aug 24, 9:19 AM PDT | Flood Watch | HNX | 12 hr |
| Aug 24, 2:49 PM PDT | Areal Flood Advisory | HNX | 112 min |
| Aug 24, 3:32 PM PDT | Areal Flood Advisory | HNX | 3 hr |
| Aug 25, 9:11 AM PDT | Flood Watch | HNX | 14 hr |
| Aug 25, 1:01 PM PDT | Areal Flood Advisory | HNX | 3 hr |
| Aug 25, 1:57 PM PDT | Severe Thunderstorm Warning | HNX | 27 min |
| Aug 25, 2:22 PM PDT | Areal Flood Advisory | HNX | 5 hr |
| Aug 25, 2:37 PM PDT | Areal Flood Advisory | HNX | 4 hr |
| Aug 25, 5:57 PM PDT | Special Weather Statement | HNX | 33 min |
| Aug 26, 6:09 AM PDT | Special Weather Statement | HNX | 36 min |
| Aug 26, 6:13 AM PDT | Areal Flood Advisory | HNX | 3 hr |
| Aug 26, 6:46 AM PDT | Special Weather Statement | HNX | 29 min |
| Aug 26, 7:00 AM PDT | Areal Flood Advisory | HNX | 3 hr |
| Aug 26, 7:17 AM PDT | Flood Watch | HNX | 14 hr |
| Aug 26, 7:20 AM PDT | Special Weather Statement | HNX | 40 min |
| Aug 26, 7:39 AM PDT | Areal Flood Advisory | HNX | 3 hr |
| Aug 26, 8:01 AM PDT | Special Weather Statement | HNX | 29 min |
| Aug 26, 8:27 AM PDT | Special Weather Statement | HNX | 33 min |
| Aug 26, 8:28 AM PDT | Special Weather Statement | HNX | 32 min |
| Aug 26, 8:31 AM PDT | Special Weather Statement | HNX | 29 min |
| Aug 26, 8:56 AM PDT | Special Weather Statement | HNX | 34 min |
| Aug 26, 9:46 AM PDT | Special Weather Statement | HNX | 29 min |
| Aug 31, 10:48 AM PDT | Heat Advisory | HNX | 37 hr |
| Sep 1, 12:11 PM PDT | Flood Watch | HNX | 50 hr |
| Sep 2, 7:27 AM PDT | Special Weather Statement | HNX | 33 min |
| Sep 2, 1:41 PM PDT | Areal Flood Advisory | HNX | 2 hr |
| Sep 2, 2:07 PM PDT | Areal Flood Advisory | HNX | 113 min |
| Sep 7, 3:51 PM PDT | Dense Smoke Advisory | HNX | 67 hr |
| Sep 17, 12:22 PM PDT | Flood Watch | HNX | 52 hr |
| Sep 24, 8:00 AM PDT | Areal Flood Advisory | HNX | 3 hr |
| Sep 25, 3:08 PM PDT | Areal Flood Advisory | HNX | 3 hr |
| Sep 28, 3:01 PM PDT | Areal Flood Advisory | HNX | 3 hr |
| Oct 2, 6:44 PM PDT | Blowing Dust Advisory | HNX | 76 min |
| Oct 2, 9:33 PM PDT | Special Weather Statement | HNX | 27 min |
| Oct 2, 10:01 PM PDT | Special Weather Statement | HNX | 29 min |
| Oct 2, 10:34 PM PDT | Special Weather Statement | HNX | 41 min |
| Oct 2, 10:49 PM PDT | Special Weather Statement | HNX | 41 min |
| Oct 2, 11:11 PM PDT | Special Weather Statement | HNX | 34 min |
| Oct 2, 11:35 PM PDT | Special Weather Statement | HNX | 25 min |
| Oct 2, 11:57 PM PDT | Special Weather Statement | HNX | 33 min |
| Oct 3, 1:14 PM PDT | Special Weather Statement | HNX | 31 min |
| Oct 3, 1:39 PM PDT | Special Weather Statement | HNX | 36 min |
| Oct 3, 1:44 PM PDT | Areal Flood Advisory | HNX | 3 hr |
| Oct 3, 1:56 PM PDT | Areal Flood Advisory | HNX | 3 hr |
| Oct 3, 2:21 PM PDT | Areal Flood Advisory | HNX | 3 hr |
| Oct 3, 2:33 PM PDT | Special Weather Statement | HNX | 27 min |
| Oct 10, 12:35 PM PDT | Winter Storm Watch | HNX | 36 hr |
| Oct 12, 12:59 AM PDT | Winter Storm Warning | HNX | 3 days |
| Oct 12, 2:17 PM PDT | Flood Watch | HNX | 51 hr |
| Oct 14, 6:19 AM PDT | Areal Flood Advisory | HNX | 3 hr |
| Oct 14, 4:38 PM PDT | Special Weather Statement | HNX | 37 min |
| Oct 16, 7:12 AM PDT | Dense Fog Advisory | HNX | 4 hr |
| Oct 16, 2:16 PM PDT | Dense Fog Advisory | HNX | 18 hr |
| Oct 20, 7:17 AM PDT | Dense Fog Advisory | HNX | 71 min |
| Oct 21, 7:23 AM PDT | Dense Fog Advisory | HNX | 101 min |
| Oct 22, 8:35 AM PDT | Special Weather Statement | HNX | 25 min |
| Oct 22, 9:01 AM PDT | Special Weather Statement | HNX | 29 min |
| Oct 22, 9:32 AM PDT | Special Weather Statement | HNX | 28 min |
| Oct 22, 10:21 AM PDT | Special Weather Statement | HNX | 24 min |
| Oct 22, 10:42 AM PDT | Special Weather Statement | HNX | 33 min |
| Oct 22, 11:10 AM PDT | Special Weather Statement | HNX | 35 min |
| Oct 22, 11:41 AM PDT | Special Weather Statement | HNX | 34 min |
| Oct 22, 12:13 PM PDT | Special Weather Statement | HNX | 32 min |
| Oct 23, 4:52 AM PDT | Dense Fog Advisory | HNX | 6 hr |
| Oct 23, 5:43 PM PDT | Dense Fog Advisory | HNX | 16 hr |
| Oct 28, 3:48 AM PDT | Dense Fog Advisory | HNX | 8 hr |
| Oct 29, 4:41 AM PDT | Dense Fog Advisory | HNX | 5 hr |
| Nov 2, 4:44 AM PST | Dense Fog Advisory | HNX | 4 hr |
| Nov 2, 9:35 PM PST | Dense Fog Advisory | HNX | 11 hr |
| Nov 5, 4:31 PM PST | Dense Fog Advisory | HNX | 17 hr |
| Nov 6, 5:22 PM PST | Dense Fog Advisory | HNX | 14 hr |
| Nov 7, 4:06 PM PST | Dense Fog Advisory | HNX | 19 hr |
| Nov 8, 4:13 PM PST | Dense Fog Advisory | HNX | 15 hr |
| Nov 10, 11:40 AM PST | Winter Storm Watch | HNX | 24 hr |
| Nov 11, 10:54 AM PST | Wind Advisory | HNX | 61 hr |
| Nov 11, 11:33 AM PST | Winter Storm Warning | HNX | 70 hr |
| Nov 12, 11:00 AM PST | Flood Watch | HNX | 3 days |
| Nov 13, 12:37 PM PST | Special Weather Statement | HNX | 23 min |
| Nov 15, 2:32 AM PST | Winter Weather Advisory | HNX | 4 days |
| Nov 15, 2:54 PM PST | Areal Flood Advisory | HNX | 3 hr |
| Nov 15, 7:06 PM PST | Areal Flood Advisory | HNX | 3 hr |
| Nov 15, 8:12 PM PST | Areal Flood Advisory | HNX | 4 hr |
| Nov 15, 8:41 PM PST | Areal Flood Advisory | HNX | 5 hr |
| Nov 15, 9:45 PM PST | Flood Watch | HNX | 46 hr |
| Nov 17, 3:34 PM PST | Areal Flood Advisory | HNX | 85 min |
| Nov 17, 3:56 PM PST | Areal Flood Advisory | HNX | 2 hr |
| Nov 17, 4:45 PM PST | Areal Flood Advisory | HNX | 109 min |
| Nov 18, 3:59 PM PST | Dense Fog Advisory | HNX | 19 hr |
| Nov 20, 2:23 AM PST | Winter Weather Advisory | HNX | 32 hr |
| Nov 20, 11:05 PM PST | Dense Fog Advisory | HNX | 11 hr |
| Nov 21, 1:09 PM PST | Dense Fog Advisory | HNX | 23 hr |
| Nov 22, 2:01 PM PST | Dense Fog Advisory | HNX | 21 hr |
| Nov 23, 1:55 PM PST | Dense Fog Advisory | HNX | 23 hr |
| Nov 24, 1:35 PM PST | Dense Fog Advisory | HNX | 4 days |
| Dec 1, 6:30 PM PST | Dense Fog Advisory | HNX | 17 hr |
| Dec 2, 10:40 AM PST | Cold Weather Advisory | HNX | 46 hr |
| Dec 2, 8:30 PM PST | Dense Fog Advisory | HNX | 19 hr |
| Dec 5, 1:58 AM PST | Dense Fog Advisory | HNX | 8 days |
| Dec 13, 7:36 PM PST | Dense Fog Advisory | HNX | 15 hr |
| Dec 14, 8:09 PM PST | Dense Fog Advisory | HNX | 15 hr |
| Dec 17, 2:13 AM PST | Dense Fog Advisory | HNX | 9 hr |
| Dec 17, 11:30 PM PST | Dense Fog Advisory | HNX | 10 hr |
| Dec 18, 8:20 PM PST | Dense Fog Advisory | HNX | 12 hr |
| Dec 19, 8:39 AM PST | Flood Watch | HNX | 7 days |
| Dec 19, 1:29 PM PST | Flood Watch | HNX | 7 days |
| Dec 19, 1:40 PM PST | Winter Storm Watch | HNX | 68 hr |
| Dec 20, 4:01 AM PST | Winter Storm Warning | HNX | 7 days |
| Dec 22, 1:12 AM PST | High Wind Watch | HNX | 18 hr |
| Dec 22, 7:01 PM PST | Wind Advisory | HNX | 3 days |
| Dec 24, 5:53 AM PST | Areal Flood Advisory | HNX | 29 min |
| Dec 24, 6:00 AM PST | Areal Flood Advisory | HNX | 6 hr |
| Dec 24, 6:22 AM PST | Flash Flood Warning | HNX | 3 hr |
| Dec 24, 6:25 AM PST | Areal Flood Advisory | HNX | 5 hr |
| Dec 24, 6:36 AM PST | Areal Flood Advisory | HNX | 7 hr |
| Dec 24, 6:42 AM PST | Flash Flood Warning | HNX | 4 hr |
| Dec 24, 7:48 AM PST | Areal Flood Advisory | HNX | 5 hr |
| Dec 24, 10:32 AM PST | Areal Flood Advisory | HNX | 2 hr |
| Dec 25, 4:49 AM PST | Areal Flood Advisory | HNX | 107 min |
| Dec 25, 7:20 AM PST | Areal Flood Advisory | HNX | 3 hr |
| Dec 25, 8:25 AM PST | Special Weather Statement | HNX | 35 min |
| Dec 25, 8:27 AM PST | Areal Flood Advisory | HNX | 110 min |
| Dec 25, 8:39 AM PST | Areal Flood Advisory | HNX | 6 hr |
| Dec 25, 8:44 AM PST | Areal Flood Advisory | HNX | 2 hr |
| Dec 25, 9:29 AM PST | Flash Flood Warning | HNX | 9 hr |
| Dec 25, 9:32 AM PST | Special Weather Statement | HNX | 28 min |
| Dec 25, 10:21 AM PST | Areal Flood Advisory | HNX | 4 hr |
| Dec 25, 12:11 PM PST | Areal Flood Advisory | HNX | 90 min |
| Dec 25, 1:26 PM PST | Flash Flood Warning | HNX | 3 hr |
| Dec 26, 6:23 AM PST | Areal Flood Advisory | HNX | 3 hr |
| Dec 28, 3:09 AM PST | Dense Fog Advisory | HNX | 7 hr |
| Dec 28, 8:48 PM PST | Dense Fog Advisory | HNX | 14 hr |
| Dec 29, 4:56 PM PST | Dense Fog Advisory | HNX | 19 hr |
| Dec 30, 10:47 PM PST | Dense Fog Advisory | HNX | 27 hr |
By product
Every kind of product issued here, grouped by hazard. Each opens the same place narrowed to that product.
| Product | Alerts |
|---|---|
| Severe storms | |
| Severe Thunderstorm Warning | 3 |
| Special Weather Statement | 60 |
| Flooding | |
| Flash Flood Warning | 4 |
| Flood Watch | 11 |
| Areal Flood Advisory | 53 |
| Winter | |
| Winter Storm Warning | 10 |
| Winter Storm Watch | 7 |
| Winter Weather Advisory | 8 |
| Heat | |
| Extreme Heat Warning | 1 |
| Extreme Heat Watch | 2 |
| Heat Advisory | 5 |
| Cold | |
| Freeze Warning | 5 |
| Freeze Watch | 4 |
| Cold Weather Advisory | 1 |
| Wind and dust | |
| High Wind Warning | 2 |
| High Wind Watch | 2 |
| Blowing Dust Advisory | 1 |
| Wind Advisory | 5 |
| Fire | |
| Red Flag Warning | 1 |
| Fire Weather Watch | 1 |
| Fog and smoke | |
| Dense Fog Advisory | 41 |
| Dense Smoke Advisory | 1 |
The busiest days
Days with the most alerts issued, by UTC date.
Nearby
Alerts in force nowTornadoes on recordForecastThe radar archive20242026
Sources
National Weather Service watches, warnings, advisories and statements from the Iowa Environmental Mesonet's VTEC archive, which reconstructs tornado, severe thunderstorm, flash flood and marine warnings back to 1986 from the NWS text archive. Storm Prediction Center watches and mesoscale discussions from SPC's archive through the Mesonet. County centers from the US Census Bureau. Warning verification from the Mesonet's Cow. Rebuilt daily.