Tornadoes · United States · North Dakota · 2025
EF0 tornado, Hunter to Gardner, North Dakota, June 20, 2025
From Hunter to Gardner, this EF0 tornado ran 5.8 miles across Cass County on June 20, 2025, touching down at 10:38 PM CDT and reaching 300 yards wide. It killed nobody.
The rating scale
Tracks are drawn in the color of the rating. The Enhanced Fujita scale rates the damage rather than measuring the wind: the speeds are what that damage is taken to imply.
EF065 to 85 mphthis tornado
Light damage. Surface peeled off some roofs, gutters and siding damaged, branches broken, shallow-rooted trees pushed over.
EF186 to 110 mph
Moderate damage. Roofs badly stripped, mobile homes overturned or badly damaged, exterior doors lost, windows broken.
EF2111 to 135 mph
Considerable damage. Roofs torn off well-built houses, frame homes shifted on their foundations, mobile homes destroyed, large trees snapped or uprooted, cars lifted off the ground.
EF3136 to 165 mph
Severe damage. Whole stories of well-built houses destroyed, large buildings badly damaged, trains overturned, trees debarked, heavy cars lifted and thrown.
EF4166 to 200 mph
Devastating damage. Well-built houses leveled, structures with weak foundations moved some distance, cars thrown and large missiles generated.
EF5over 200 mph
Incredible damage. Strong frame houses swept off their foundations, car-sized missiles thrown more than 100 meters, steel-reinforced concrete badly damaged, high-rise buildings deformed.
Unrated
The survey recorded a tornado but could not put a number on it, most often because it crossed open country and damaged nothing a rating can be read from.
The record
- Rating
- EF0
- Date
- June 20, 2025
- Touchdown
- 10:38 PM CDT (03:38 UTC)
- Lifted
- 10:44 PM CDT (03:44 UTC)
- On the ground
- 6 minutes
- Path length
- 5.8 miles (9.4 km)
- Path width
- 300 yards (274 m)
- Deaths
- 0
- Injuries
- 0
- County
- Cass County
- Touchdown point
- 47.190, -97.260
- Lift-off point
- 47.211, -97.140
- Record number
- 2506202138-01
The damage survey
17 damage points were recorded along this path by NWS FGF, in the Damage Assessment Toolkit the survey teams carry. The strongest indicator was rated EF1. The highest wind the damage implies is 104 mph.
- Radar confirmed TDS and satellite imagery shows scouring in fields.
- Radar confirmed TDS and satellite imagery shows scouring in field.
- Shelterbelt tree damage and satellite imagery shows scouring in field.
- Satellite imagery shows scouring in field.
Survey points are preliminary and are the raw material the published rating was built from. Source: NWS Damage Assessment Toolkit.
What the Weather Service recorded
During the evening of Friday, June 20th into the early morning hours of June 21st, much of the region was affected by severe weather. Supercell thunderstorms developed across southeast North Dakota ahead of an approaching convective complex, producing multiple strong, destructive, and fatal tornadoes. This was followed by a powerful line of severe thunderstorms categorized as a derecho, which tracked across much of the region resulting in widespread straight line wind damage. After the derecho passed through the region, there was a period of prolonged destructive winds that affected portions of central and east central North Dakota, as well as adjacent portions of Minnesota. This was a unique event due to the combination of the violent tornadoes ahead of the derecho, and the long duration of significant winds that followed the derecho. Based on estimates provided by North Dakota Agriculture Commissioner Doug Goehring, the state lost anywhere from 50 to 80 million bushels of grain storage capacity from these storms.
Tornado confirmed by radar TDS signature. Satellite imagery shows scouring in field.
Tornado was confirmed by radar TDS signature. Shelterbelt tree damage, and satellite imagery shows scouring in fields intermittent for roughly 6 miles.
Satellite imagery and ground survey concluded that the tornado tracked intermittently for for approximately 12 miles. There was damage to bean fields and shelterbelts along with 1 farmstead which lost several grains bins, a hoop shed, machine shop and sustained roof damage to 2 story house. Satellite imagery suggests the tornado was a half mile at its widest.
From NOAA NCEI's Storm Events Database, the narrative the local forecast office wrote for Storm Data.
The warnings
42 minutes of warning. NWS FGF issued a tornado warning for this county at 02:56 UTC, 42 minutes before the tornado touched down, in force until 03:45 UTC.
The county was under a tornado watch, issued at 00:54 UTC and running to 08:00 UTC.
| Issued (UTC) | Expired | Product | Office |
|---|---|---|---|
| 00:54 UTC | 08:00 UTC | Tornado Watch | FGF |
| 02:56 UTC | 03:45 UTC | Tornado Warning | FGF |
| 03:41 UTC | 04:45 UTC | Severe Thunderstorm Warning | FGF |
| 03:42 UTC | 04:30 UTC | Tornado Warning | FGF |
| 04:17 UTC | 05:00 UTC | Severe Thunderstorm Warning | FGF |
| 04:20 UTC | 04:45 UTC | Tornado Warning | FGF |
| 04:24 UTC | 05:00 UTC | Severe Thunderstorm Warning | FGF |
| 04:25 UTC | 05:00 UTC | Tornado Warning | FGF |
| 04:49 UTC | 05:45 UTC | Severe Thunderstorm Warning | FGF |
| 04:49 UTC | 05:00 UTC | Tornado Warning | FGF |
| 04:52 UTC | 05:45 UTC | Severe Thunderstorm Warning | FGF |
| 05:16 UTC | 06:15 UTC | Severe Thunderstorm Warning | FGF |
| 05:32 UTC | 08:30 UTC | Flash Flood Warning | FGF |
| 05:51 UTC | 06:45 UTC | Severe Thunderstorm Warning | FGF |
| 06:07 UTC | 07:00 UTC | Severe Thunderstorm Warning | FGF |
| 06:12 UTC | 07:00 UTC | Severe Thunderstorm Warning | FGF |
| 06:43 UTC | 07:45 UTC | Severe Thunderstorm Warning | FGF |
| 06:56 UTC | 07:30 UTC | Severe Thunderstorm Warning | FGF |
Every warning and watch covering the touchdown point that day, from the Iowa Environmental Mesonet's archive of National Weather Service products. Lead time is measured from the issue of the warning in force to the touchdown time in the database, both of which were recorded to the minute by different people.
The forecast that day
The Storm Prediction Center had this point in a Moderate Risk, with a 0.10 chance of a tornado within 25 miles, in the hatched area where significant tornadoes were expected. The outlook in force was issued at 01:16 UTC.
SPC's Day 1 convective outlook as it stood when the tornado began, read at the touchdown point. The same archive is on the radar archive.
The air that afternoon
The radiosonde launches on either side of the tornado, from the nearest station that was launching then, drawn and analyzed the way Storm Lab does: the same diagram, the same parcel and shear definitions SPC's mesoanalysis uses.
Bismarck Municip, ND (KBIS), 00:00Z
3.6 hours before the tornado, 270 km from the path. June 21, 2025.
- Mixed-layer CAPE
- 1726 J/kg
- Mixed-layer CIN
- -39 J/kg
- Surface CAPE
- 2669 J/kg
- Mixed-layer LCL
- 1897 m above ground
- 0-6 km bulk shear
- 52 kt
- 0-1 km bulk shear
- 17 kt
- 0-1 km storm-relative helicity
- 180 m²/s²
- 0-3 km storm-relative helicity
- 480 m²/s²
- Significant tornado parameter
- 0.5
- Supercell composite
- 26.8
- 0-3 km lapse rate
- 7.9 K/km
Bismarck Municip, ND (KBIS), 12:00Z
8.4 hours after it, 270 km from the path. June 21, 2025.
- Mixed-layer CAPE
- 0 J/kg
- Mixed-layer CIN
- -7074 J/kg
- Surface CAPE
- 0 J/kg
- Mixed-layer LCL
- 1518 m above ground
- 0-6 km bulk shear
- 44 kt
- 0-1 km bulk shear
- 10 kt
- 0-1 km storm-relative helicity
- 32 m²/s²
- 0-3 km storm-relative helicity
- 147 m²/s²
- Significant tornado parameter
- 0.0
- Supercell composite
- 0.0
- 0-3 km lapse rate
- 1.7 K/km
The surface observations
Fargo (FAR), 42 km from the path, in the two hours either side.
| Time (UTC) | Temp (°F) | Dew point (°F) | Wind | Gust (kt) | Pressure (mb) | Weather |
|---|---|---|---|---|---|---|
| 01:40 UTC | 100° 13 kt | 997 | ||||
| 01:45 UTC | 100° 14 kt | 996.6 | ||||
| 01:50 UTC | 100° 14 kt | 996.3 | ||||
| 01:53 UTC | 80 | 72 | 100° 14 kt | 22 | 995.9 | |
| 01:55 UTC | 100° 13 kt | 995.9 | ||||
| 02:00 UTC | 90° 13 kt | 995.9 | ||||
| 02:05 UTC | 100° 13 kt | 995.6 | ||||
| 02:10 UTC | 100° 16 kt | 22 | 995.3 | |||
| 02:15 UTC | 100° 13 kt | 995.6 | ||||
| 02:20 UTC | 100° 13 kt | 995.6 | ||||
| 02:21 UTC | 79 | 71 | 100° 12 kt | 995.6 | VCTS | |
| 02:25 UTC | 100° 13 kt | 18 | 995.6 | |||
| 02:30 UTC | 90° 14 kt | 19 | 995.6 | |||
| 02:35 UTC | 100° 9 kt | 995.9 | ||||
| 02:36 UTC | 79 | 71 | 90° 10 kt | 20 | 995.9 | |
| 02:40 UTC | 100° 10 kt | 995.9 | ||||
| 02:45 UTC | 100° 9 kt | 995.9 | ||||
| 02:50 UTC | 100° 10 kt | 995.3 | ||||
| 02:53 UTC | 79 | 71 | 100° 11 kt | 995.3 | ||
| 02:55 UTC | 100° 8 kt | 995.6 | ||||
| 03:00 UTC | 110° 10 kt | 994.9 | ||||
| 03:05 UTC | 110° 10 kt | 994.6 | ||||
| 03:10 UTC | 130° 13 kt | 994.9 | ||||
| 03:15 UTC | 120° 14 kt | 993.9 | ||||
| 03:20 UTC | 130° 17 kt | 26 | 993.2 | |||
| 03:25 UTC | 130° 20 kt | 24 | 993.2 | |||
| 03:30 UTC | 130° 16 kt | 23 | 993.2 | |||
| 03:35 UTC | 130° 18 kt | 22 | 992.9 | |||
| 03:40 UTC | 130° 17 kt | 24 | 992.9 | |||
| 03:45 UTC | 140° 18 kt | 22 | 992.6 | |||
| 03:50 UTC | 140° 19 kt | 27 | 992.2 | |||
| 03:53 UTC | 80 | 71 | 140° 17 kt | 29 | 992.2 | VCTS |
| 03:55 UTC | 24 | 992.2 | ||||
| 04:00 UTC | 30 | 991.5 | ||||
| 04:05 UTC | 130° 16 kt | 991.9 | ||||
| 04:10 UTC | 130° 14 kt | 992.2 | ||||
| 04:15 UTC | 140° 15 kt | 992.6 | ||||
| 04:20 UTC | 80 | 72 | 140° 12 kt | 27 | 992.9 | TS |
| 04:20 UTC | 140° 11 kt | 992.9 | ||||
| 04:25 UTC | 994.2 | |||||
| 04:30 UTC | 995.6 | -RA | ||||
| 04:35 UTC | 28 | -RA | ||||
| 04:40 UTC | 28 | 995.9 | -RA | |||
| 04:41 UTC | 72 | 67 | 350° 17 kt | 28 | 995.6 | -TSRA |
| 04:45 UTC | 28 | 994.9 | -RA | |||
| 04:50 UTC | 28 | 995.9 | +RA BR | |||
| 04:53 UTC | 70 | 67 | 350° 17 kt | 28 | 996.6 | +TSRA BR |
| 04:55 UTC | 19 kt | 996.3 | +RA BR | |||
| 04:56 UTC | 69 | 67 | 340° 19 kt | 996.6 | +TSRA BR | |
| 04:59 UTC | 69 | 67 | 330° 37 kt | 64 | 997.6 | +TSRA BR SQ |
| 05:00 UTC | 997.6 | +RA BR SQ | ||||
| 05:04 UTC | 66 | 62 | 280° 29 kt | 64 | 998.6 | +TSRA BR SQ |
| 05:05 UTC | 35 | +RA BR SQ | ||||
| 05:10 UTC | 64 | 62 | 250° 22 kt | 46 | 1000 | +TSRA FG |
| 05:10 UTC | 250° 21 kt | 1000 | +RA FG | |||
| 05:15 UTC | 27 | 1000 | +RA BR | |||
| 05:20 UTC | 240° 11 kt | 1000 | +RA BR | |||
| 05:23 UTC | 64 | 62 | 5 kt | 27 | 999 | +TSRA BR |
| 05:25 UTC | 0° 0 kt | 998.6 | +RA BR | |||
| 05:30 UTC | 150° 4 kt | 999 | +RA BR | |||
| 05:33 UTC | 64 | 62 | 180° 5 kt | 999.3 | +TSRA BR | |
| 05:35 UTC | 14 | RA BR |
From the Iowa Environmental Mesonet's archive of airport observations.
The radar
The Fargo/Grand Forks radar (KMVX), 38 km away, was scanning. The volume nearest the touchdown began at 03:35 UTC.
Open the radar archive at this moment, over the track
Reflectivity and velocity, decoded from the Level II archive in the browser. Volumes take a few seconds to open the first time.
What was reported nearby
Local storm reports within 60 km of the path, in the three hours either side.
| Time (UTC) | Report | Where | County | Remark |
|---|---|---|---|---|
| 04:31 UTC | HAIL 1 | Chaffee | Cass, ND | |
| 04:41 UTC | TSTM WND GST 57 | 6 N Leonard | Cass, ND | Corrects time of previous tstm wnd gst report from 6 N Leonard. Mesonet station 324969 Leonard ND NDAWN. |
| 04:42 UTC | TSTM WND GST 67 | 5 E Amenia | Cass, ND | Corrects previous tstm wnd gst report from 5 E Amenia. 10 meter gust from mesonet station 327359 Prosper ND NDAWN. |
| 04:45 UTC | TSTM WND GST 57 | 6 N Leonard | Cass, ND | Mesonet station 324969 Leonard ND NDAWN. |
| 04:45 UTC | TSTM WND GST 59 | 5 E Amenia | Cass, ND | Corrects previous non-tstm wnd gst report from 5 E Amenia. Mesonet station 327359 Prosper ND NDAWN. |
| 04:45 UTC | NON-TSTM WND GST 59 | 5 E Amenia | Cass, ND | Mesonet station 327359 Prosper ND NDAWN. |
| 04:48 UTC | TSTM WND GST 79 | 1 S Gardner | Cass, ND | NDAWN 3 meter measurement. |
| 04:50 UTC | TORNADO | Davenport | Cass, ND | Delayed report: A funnel cloud was reported in Davenport with possible touchdown. |
| 04:59 UTC | TSTM WND GST 74 | 4 Nnw Fargo | Cass, ND | Corrects previous non-tstm wnd gst report from 4 NNW Fargo. ASOS station KFAR Fargo AP ND. |
| 05:01 UTC | TSTM WND GST 53 | 2 Nw Fargo | Cass, ND | NDAWN 10 meter measurement. |
| 05:15 UTC | TSTM WND GST 92 | 6 W Hope | Steele, ND | Corrects previous tstm wnd gst report from 6 W Hope. Personal weather station via Weather Underground, I.D. Brent Johnson NA86 Airport - KNDHOPE4. Measured gust to 92 mph. Duration of severe gusts 100 minutes. Duration o |
| 05:15 UTC | TSTM WND GST 92 | 6 W Hope | Steele, ND | Personal weather station via Weather Underground, I.D. Brent Johnson NA86 Airport - KNDHOPE4. Measured gust to 92 mph. Duration of severe gusts 100 minutes. Duration of significant severe gusts over 75 mph 65 minutes. Ex |
| 05:40 UTC | TSTM WND GST 111 | 1 E Luverne | Steele, ND | Corrects previous tstm wnd gst report from 1 E Luverne. 111 mph maximum gust recorded by personal weather station. |
| 05:42 UTC | TSTM WND GST 88 | 1 N Pillsbury | Barnes, ND | Corrects previous tstm wnd gst report from 1 N Pillsbury. Mesonet station 327049 Pillsbury ND NDAWN. |
| 05:50 UTC | FLASH FLOOD | Fargo | Cass, ND | There have been multiple reports of water rescues in Fargo from stalled out vehicles. |
| 05:50 UTC | TSTM WND GST 76 | 5 Ne Hope | Steele, ND | Corrects previous non-tstm wnd gst report from 5 NE Hope. Mesonet station 321686 Hope ND NDAWN. |
| 05:51 UTC | TSTM WND GST 51 | 1 Nnw Finley | Steele, ND | Mesonet station 327986 Finley ND NDAWN. |
| 05:57 UTC | TSTM WND GST 78 | 5 Ne Hope | Steele, ND | Corrects previous tstm wnd gst report from 5 NE Hope. Mesonet station 321686 Hope ND NDAWN. |
| 05:57 UTC | TSTM WND GST 78 | 5 Ne Hope | Steele, ND | Corrects previous tstm wnd gst report from 5 NE Hope.Mesonet station 321686 Hope ND NDAWN. |
| 06:10 UTC | TSTM WND GST 81 | 1 N Pillsbury | Barnes, ND | Corrects previous non-tstm wnd gst report from 1 N Pillsbury. Mesonet station 327049 Pillsbury ND NDAWN. |
| 06:20 UTC | TSTM WND GST 60 | 1 W Mayville | Traill, ND | Corrects previous non-tstm wnd gst report from 1 W Mayville. Mesonet station DVI06914 Mayville ND 1 W. |
| 06:25 UTC | TSTM WND DMG | 3 Nw Buffalo | Cass, ND | Upstream and downstream obs ranged from 55 to 95 mph at the time. Tree damage found during damage surveys. |
| 06:26 UTC | TSTM WND GST 99 | 4 Ssw Galesburg | Cass, ND | Corrects time of previous tstm wnd gst report from 4 SSW Galesburg. Mesonet station 323359 Galesburg ND NDAWN. |
| 06:30 UTC | TSTM WND GST 66 | 3 E Mayville | Traill, ND | Corrects time of previous tstm wnd gst report from 3 E Mayville. Mesonet station 325679 Mayville ND NDAWN. |
| 06:30 UTC | TSTM WND GST 90 | 4 W Hunter | Cass, ND | Personal weather station via Weather Underground, I.D. Richtsmeier HU20 - KNDHUNTE4. Measured gust to 90 mph. Highest sustained wind 66 mph. Duration of severe gusts unknown due to power outage right after initial gust. |
| 06:30 UTC | TSTM WND GST 99 | 4 Ssw Galesburg | Cass, ND | Corrects previous non-tstm wnd gst report from 4 SSW Galesburg. Mesonet station 323359 Galesburg ND NDAWN. |
| 06:30 UTC | NON-TSTM WND GST 99 | 4 Ssw Galesburg | Cass, ND | Mesonet station 323359 Galesburg ND NDAWN. |
| 06:34 UTC | TSTM WND GST 96 | Ayr | Cass, ND | NDAWN 10 meter measurement. |
| 06:35 UTC | TSTM WND GST 66 | 3 E Mayville | Traill, ND | Corrects previous non-tstm wnd gst report from 3 E Mayville. Mesonet station 325679 Mayville ND NDAWN. |
| 06:35 UTC | TSTM WND GST 74 | 2 Se Blanchard | Traill, ND | Corrects previous non-tstm wnd gst report from 2 SE Blanchard. Mesonet station DVI12057 Blanchard ND. |
From the Iowa Environmental Mesonet's archive of National Weather Service local storm reports.
This ground now
The live radar over the trackEvery 2025 tornado in North DakotaEvery tornado in North Dakota since 1950Warnings in force in North Dakota nowThe forecast where you are
The other tornadoes of June 20, 2025
23 more were confirmed in the United States that day.
| Date | Time | Rating | Where | Path (mi) | Width (yd) | Deaths | Injuries | Damage |
|---|---|---|---|---|---|---|---|---|
| June 20 | 8:34 PM CDT | Unrated | Stutsman, ND | 1.1 | 50 | |||
| June 20 | 8:40 PM CDT | Unrated | Morton, ND | 0.5 | 50 | |||
| June 20 | 8:48 PM CDT | EF2 | Morton, ND | 5.6 | 200 | $1.5 million | ||
| June 20 | 8:51 PM CDT | EF3 | Barnes, ND | 10.9 | 990 | |||
| June 20 | 9:05 PM CDT | EF1 | LaMoure, ND | 0.2 | 150 | $300,000 | ||
| June 20 | 9:05 PM CDT | EF0 | Barnes, ND | 1.1 | 20 | |||
| June 20 | 9:26 PM CDT | Unrated | McLean, ND | 0.3 | 50 | |||
| June 20 | 10:07 PM CDT | EF1 | Kidder, ND | 12.5 | 200 | $1.5 million | ||
| June 20 | 10:10 PM CDT | Unrated | LaMoure, ND | 0.5 | 50 | |||
| June 20 | 10:17 PM CDT | EF2 | Ransom, ND | 5.2 | 400 | |||
| June 20 | 10:22 PM CDT | Unrated | Ransom, ND | 0.6 | 50 | |||
| June 20 | 10:29 PM CDT | EF2 | Barnes, ND | 5.8 | 400 | |||
| June 20 | 10:36 PM CDT | EF0 | Cass, ND | 8.6 | 100 | |||
| June 20 | 10:41 PM CDT | EF1 | Cass, ND | 12.2 | 800 | |||
| June 20 | 10:44 PM CDT | EF1 | Foster, ND | 5.8 | 150 | $300,000 | ||
| June 20 | 11:04 PM CDT | EF5 | Enderlin tornado, ND | 12.1 | 1,850 | 3 | ||
| June 20 | 11:22 PM CDT | EF2 | Ransom, ND | 6.8 | 1,351 | |||
| June 20 | 11:35 PM CDT | EF0 | Ransom, ND | 0.8 | 20 | |||
| June 20 | 11:44 PM CDT | EF1 | Cass, ND | 6.9 | 300 | |||
| June 20 | 11:45 PM CDT | EF0 | Cass, ND | 0.7 | 10 | |||
| June 20 | 11:46 PM CDT | EF0 | Cass, ND | 1.9 | 20 | |||
| June 20 | 11:50 PM CDT | EF0 | Cass, ND | 0.7 | 20 | |||
| June 20 | 12:17 AM CDT | EF1 | Barnes, ND | 5.0 | 800 |
What this means
Ratings are the survey's, read off the damage rather than measured; the rating scale is above. Tornado counts rise through the record as reporting improved, so a year in the 1950s is not comparable with one today except for the strongest tornadoes, which were always noticed.
Sources
NOAA Storm Prediction Center tornado database, 1950-2025, the official record kept by NOAA's Storm Prediction Center.