Walsh County, North Dakota

County storm and disaster record · FIPS 38099 · population 10,553 · 1,282 sq mi

NOAA's Storm Events Database holds 1,059 records for Walsh County, North Dakota from 1950 through June 30, 2026, on 528 days; the most frequent are winter storm records (282 records). 543 of them are forecast-zone records, which the National Weather Service files once per zone: a county covered by several zones receives each one, so a single storm can add several records on the same day. The deadliest single record is the April 27, 2013 flood: 1 death and $25,000 in damage in 2025 dollars. FEMA has issued 41 declarations naming the county since 1965, 39 of them for natural hazards; the latest for a natural hazard was “Flooding” on July 5, 2023.

The record, 1950 to 2026

Storm records filed for the county each year (2026 to June 30, 2026). Before 1996 NOAA recorded only tornadoes (from 1950), thunderstorm wind and hail (from 1955).

  • recorded, no damage figure
  • under $100,000
  • $100,000 or more
  • $1 million or more
  • $10 million or more, or a death
  • $100 million or more, or 10 deaths
  • a year's colour: its recorded damage or deaths
  • a year with a death
  • 1955: wind and hail recorded from 1955
  • 1996: all 48 event types from 1996
Storm records
1,059on 528 days, 1950 to June 30, 2026
Deaths recorded
22 injuries
Damage, 2025 dollars
$62Mas filed (scale steps before 1993)
Tornadoes
54strongest F2
FEMA declarations
41latest 2023

Source: NOAA NCEI Storm Events Database, records through June 30, 2026 (file revision 20260918); damage converted to 2025 dollars with the BLS CPI-U. Search the record at NCEI. BLS consumer price index.

What hazards hit Walsh County most?

The most frequent records are winter storm records: 282 since 1996. 51% of its winter storm records since 1996 fell in December and January. The rank column places the county among North Dakota's counties by days with a record per 1,000 square miles of land over each hazard's complete period.

Walsh County: records by hazard, 1950 to June 30, 2026
HazardRecordsDaysFirst, lastKilledInjuredDamageRank in state
Winter storms 282 166 1996-2026 1 0 $23M 11 of 53
Hail 235 119 1961-2026 0 0 $2.7M 21 of 53
Extreme cold 170 91 1996-2026 0 0 $16K 11 of 53
Severe thunderstorm wind 167 90 1966-2026 0 0 $5.6M 21 of 53
Floods 56 45 1996-2023 1 0 $30M 12 of 53
Tornadoes 54 36 1960-2025 0 1 $1.5M 11 of 53
High wind and dust storms 52 33 1997-2025 0 0 – 44 of 53
Drought 22 11 2006-2024 0 0 – 30 of 53
Fog, smoke and funnel clouds 14 13 2008-2022 0 0 – 12 of 53
Heat 3 2 2001-2020 0 0 – 19 of 53
Heavy rain 2 2 2012-2020 0 0 – 23 of 53
Lightning 2 2 2006-2011 0 1 $13K 21 of 53

Source: NOAA NCEI Storm Events Database (county and forecast-zone records attributed to the county; a zone record shows its own totals on each county it covers). Days: dates with at least one record of the hazard in the county. Ranks: days with a record per 1,000 square miles of land (Census Bureau 2024 Gazetteer), since 1950 for tornadoes, 1955 for hail and thunderstorm wind, 1996 for the rest.

How many tornadoes has Walsh County had?

NOAA records 54 tornadoes in Walsh County from 1960 to 2025, the strongest rated F2, with 0 deaths and 1 injury recorded in the county. That is 11th of 53 North Dakota counties by days with tornadoes per 1,000 square miles since 1950. A tornado that crossed a county line is counted in each county it touched, with the length of its path inside the county.

Counted as whole tornadoes rather than county records, the Storm Prediction Center's database holds 56 tornadoes whose track touched Walsh County since 1950 (NOAA's county records number 54: they file a crossing tornado once per county segment, and the two databases differ on some tracks); along their whole tracks they killed 0 people.

Map of the strongest tornado tracks in North Dakota.

Every tornado record filed for Walsh County (54)
Every tornado recorded in Walsh County, newest first
DatePlaceCharacterKilledInjuredDamage
2025-07-07 Lankin, Walsh County EF0 0.98 mi x 10 yd 0 0 –
2025-07-07 Fairdale, Walsh County EF0 0.6 mi x 30 yd 0 0 –
2022-06-24 Adams, Walsh County EF1 2.24 mi x 100 yd 0 0 –
2017-07-11 Veseleyville, Walsh County EF1 1.52 mi x 150 yd 0 0 $8K
2017-07-11 Fairdale, Walsh County EF1 7 mi x 150 yd 0 0 $35K
2016-07-19 Nash, Walsh County EF1 1 mi x 200 yd 0 0 –
2016-07-19 Hoople, Walsh County EF1 1.5 mi x 440 yd 0 0 –
2015-06-27 Fordville, Walsh County EF0 0.83 mi x 50 yd 0 0 –
2015-06-27 Adams, Walsh County EF0 0.83 mi x 50 yd 0 0 –
2015-06-27 Pleasant Vly, Walsh County EF0 3 mi x 75 yd 0 0 –
2015-05-28 Oakwood, Walsh County EF0 2 mi x 100 yd 0 0 –
2013-05-31 Oakwood, Walsh County EF0 2.25 mi x 25 yd 0 0 –
2013-05-31 Oakwood, Walsh County EF0 0.1 mi x 25 yd 0 0 –
2012-06-03 Warsaw, Walsh County EF0 3 mi x 25 yd 0 0 –
2012-06-03 Herrick, Walsh County EF0 3.07 mi x 40 yd 0 0 –
2011-06-03 Pleasant Vly, Walsh County EF1 16.15 mi x 300 yd 0 0 –
2010-06-26 Grafton, Walsh County EF1 6 mi x 200 yd 0 0 –
2010-06-24 Forest River, Walsh County EF0 3 mi x 30 yd 0 0 –
2010-06-21 Oakwood, Walsh County EF0 2.39 mi x 75 yd 0 0 –
2010-06-17 Fordville Airport, Walsh County EF1 2 mi x 50 yd 0 0 –
2010-06-17 Poland, Walsh County EF1 1 mi x 50 yd 0 0 –
2010-05-24 Kellogg, Walsh County EF1 3 mi x 50 yd 0 0 –
2009-06-26 Warsaw, Walsh County EF1 3.63 mi x 250 yd 0 0 $37K
2009-06-26 Kellogg, Walsh County EF1 3.07 mi x 300 yd 0 0 $413K
2009-06-26 Forest River, Walsh County EF0 3.2 mi x 200 yd 0 0 –
2008-07-07 Kellogg, Walsh County EF0 4 mi x 30 yd 0 0 $82K
2008-07-07 Lankin, Walsh County EF0 0.5 mi x 25 yd 0 0 $14K
2007-08-26 Nash, Walsh County EF0 3 mi x 75 yd 0 0 –
2007-08-26 Hoople, Walsh County EF1 2 mi x 100 yd 0 0 –
2007-08-13 Lankin, Walsh County EF0 1 mi x 100 yd 0 0 –
2005-06-23 Grafton, Walsh County F1 2 mi x 100 yd 0 0 –
2004-05-19 Park River, Walsh County F0 0.1 mi x 25 yd 0 0 –
2002-08-23 Lankin, Walsh County F0 1 mi x 25 yd 0 0 –
1999-07-13 Ardoch, Walsh County F0 0.5 mi x 25 yd 0 0 –
1999-06-09 Herrick, Walsh County F0 0.5 mi x 25 yd 0 0 –
1999-06-06 Lankin, Walsh County F0 0.1 mi x 30 yd 0 0 $4K
1999-06-06 Park River, Walsh County F0 0.5 mi x 25 yd 0 0 –
1999-06-06 Lankin, Walsh County F2 3 mi x 150 yd 0 0 $443K
1999-06-06 Lankin, Walsh County F2 3 mi x 130 yd 0 0 $27K
1999-06-06 Edinburg, Walsh County F0 0.5 mi x 25 yd 0 0 –
1991-06-13 Walsh County F0 0.1 mi x 7 yd 0 0 –
1991-06-13 Walsh County F0 0.1 mi x 7 yd 0 0 –
1984-08-08 Walsh County F0 0.2 mi x 30 yd 0 0 –
1983-08-02 Walsh County F0 0.3 mi x 10 yd 0 0 $30 step
1979-06-29 Walsh County F0 0.1 mi x 3 yd 0 0 –
1978-05-25 Walsh County F0 0.1 mi x 33 yd 0 0 –
1976-06-11 Walsh County F0 0 0 –
1976-06-11 Walsh County F1 0 0 –
1971-07-06 Walsh County F1 4.1 mi x 50 yd 0 1 $25K step
1968-08-18 Walsh County F1 0.1 mi x 30 yd 0 0 $3K step
1968-08-05 Walsh County F1 0.1 mi x 10 yd 0 0 $25K step
1965-07-08 Walsh County 0 0 –
1962-08-05 Walsh County 0 0 $3K step
1960-08-17 Walsh County 0 0 –

A damage figure marked "step" is a record from before 1993: NOAA then filed damage by category, and the figure is the category as entered, in the dollars of that year, not an estimate of the loss.

Source: NOAA NCEI Storm Events Database, tornado records by county (path length in the county, maximum width); ratings as published: F scale before February 1, 2007, EF scale after. Whole-track figures: NOAA Storm Prediction Center tornado database (1950-2025). SPC severe weather database.

When was the last damaging storm in Walsh County?

The most recent record with damage, injuries or deaths is the April 18, 2023 flood ($969,000 in damage in 2025 dollars).

Oslo - Crest of 36.27 feet occurred on 4/24. Flooding extended into May. NOTE: Damages dollar amount is for the entire county. Not separated by specific river basin or damage type.
National Weather Service event narrative, NOAA Storm Events Database (search the full record, event 1096804)
The 12 most recent records kept for Walsh County
DateRecordCharacterKilledInjuredDamage
2026-06-29 HailMinto, Walsh County 1.00 in hail 0 0 –
2026-06-02 Thunderstorm WindAdams, Walsh County 63 kt wind 0 0 –
2026-05-20 Frost/FreezeWalsh County · forecast zone Eastern Walsh 0 0 –
2026-05-20 Frost/FreezeWalsh County · forecast zone Western Walsh 0 0 –
2026-05-11 Frost/FreezeWalsh County · forecast zone Western Walsh 0 0 –
2026-05-11 Frost/FreezeWalsh County · forecast zone Eastern Walsh 0 0 –
2026-05-10 Frost/FreezeWalsh County · forecast zone Eastern Walsh 0 0 –
2026-05-10 Frost/FreezeWalsh County · forecast zone Western Walsh 0 0 –
2026-03-11 Heavy SnowWalsh County · forecast zone Eastern Walsh 0 0 –
2026-01-25 Extreme Cold/Wind ChillWalsh County · forecast zone Eastern Walsh 0 0 –
2026-01-25 Extreme Cold/Wind ChillWalsh County · forecast zone Western Walsh 0 0 –
2026-01-22 Extreme Cold/Wind ChillWalsh County · forecast zone Eastern Walsh 0 0 –

Source: NOAA NCEI Storm Events Database; every record of 2025-2026 is listed, earlier ones when they caused deaths, injuries or $250,000 of damage (2025 dollars), and every tornado.

The deadliest and costliest records

Records with deaths or injuries in Walsh County, most deaths first
DateRecordCharacterKilledInjuredDamage
2013-04-27 FloodFairdale, Walsh County A 55 year old Walsh County man is believed to have died after his pickup was swept away from a water-covered gravel road Monday evening, April 29th, about 3 miles southwest of Minto, N.D.. The pickup was recovered but the man's body has yet to be found. 1 0 $25K
1997-04-05 BlizzardWalsh County · forecast zone Eastern Walsh With falling temperatures on the back side of the low, the freezing rain turned to ice pellets and then to snow. A strong pressure gradient created winds up to 65 mph, dropping visibilities down to zero. The strong wind, on top of heavy ice accumulations, caused thousands of power poles to snap. This cut power to over ... 1 0 $11M
2006-05-09 LightningGrafton, Walsh County Lightning struck an apartment complex, causing roof and electrical-system damage to one apartment unit. A man who was working near the apartment unit was also struck, knocking him briefly unconscious. When he awoke, he reported numbness to the right side of his body and a severe headache. 0 1 –
1971-07-06 TornadoWalsh County F1 4.1 mi x 50 yd 0 1 $25K step

A damage figure marked "step" is a record from before 1993: NOAA then filed damage by category, and the figure is the category as entered, in the dollars of that year, not an estimate of the loss.

The costliest records in Walsh County since 1993, damage in 2025 dollars
DateRecordCharacterKilledInjuredDamage
1997-04-19 FloodWalsh County · forecast zone Eastern Walsh 0 0 $18M
1997-04-04 Ice StormWalsh County · forecast zone Eastern Walsh 0 0 $11M
2004-03-27 FloodWalsh County · forecast zone Eastern Walsh 0 0 $3.0M
1994-08-18 Thunderstorm WindGrafton, Walsh County 0 0 $2.6M
1997-04-03 FloodWalsh County · forecast zone Eastern Walsh 0 0 $1.8M
2006-04-01 FloodCountywide, Walsh County 0 0 $1.4M
1999-07-12 HailFairdale, Walsh County 1.75 in hail 0 0 $1.3M
2003-07-02 Thunderstorm WindFairdale, Walsh County 96 kt wind 0 0 $1.2M

Before 1993 NOAA filed damage by category, not amount, so the list above starts in 1993. The highest category filed here before then (entered as $25K, in the dollars of the day) holds: July 6, 1971 (tornado, Walsh County); August 5, 1968 (tornado, Walsh County).

Source: NOAA NCEI Storm Events Database: deaths and injuries direct and indirect; damage is property plus crops as estimated by the National Weather Service, converted to 2025 dollars.

Is it getting more frequent?

Records per decade for Walsh County's most frequent hazards. Counts rose everywhere after 1996, when NOAA began recording every event type, so compare decades within a hazard's complete period only (the shaded cells come before it).

Walsh County: records per decade (the 2020s to June 30, 2026)
Hazard1950s1960s1970s1980s1990s2000s2010s2020-26
Winter storms––––338310759
Hail02718391043926
Extreme cold––––4466753
Severe thunderstorm wind02121216506114
Floods––––827174
Tornadoes0552911193

Source: NOAA NCEI Storm Events Database, records per calendar decade; zone records from the CZ_TYPE field (Z).

What time of year?

51% of its winter storm records since 1996 fell in December and January. The two busiest months are in violet.

The values, month by month

Jan 145 · Feb 92 · Mar 56 · Apr 47 · May 65 · Jun 170 · Jul 167 · Aug 115 · Sep 30 · Oct 31 · Nov 32 · Dec 109 (records).

Source: NOAA NCEI Storm Events Database, records by the month they began.

Federal disaster declarations for Walsh County

FEMA's register lists 41 declarations that include Walsh County: 36 major disasters, 5 emergencies and 0 fire management assistance declarations. Most were for flood (25) and severe storm (13).

Declarations including Walsh County, newest first
DeclaredNumberTypeTitle
2023-07-05DR-4717FloodFlooding
2022-07-13DR-4660Severe StormSevere Winter Storm and Flooding
2020-07-09DR-4553FloodFlooding
2020-04-01DR-4509BiologicalCovid-19 Pandemic
2020-03-13EM-3477BiologicalCovid-19
2020-01-21DR-4475FloodFlooding
2019-06-12DR-4444FloodFlooding
2017-07-12DR-4323FloodFlooding
2013-07-12DR-4128Severe StormSevere Storms and Flooding
2013-05-29DR-4118FloodFlooding
2013-04-26EM-3364FloodFlooding
2011-05-10DR-1981FloodFlooding
2011-04-07EM-3318FloodFlooding
2010-04-30DR-1907FloodFlooding
2010-03-14EM-3309FloodFlooding
2010-02-26DR-1879Severe StormSevere Winter Storm
2009-03-24DR-1829Severe StormSevere Storms and Flooding
2006-06-05DR-1645Severe StormSevere Storms, Flooding, and Ground Saturation
2005-09-13EM-3247Coastal StormHurricane Katrina Evacuation
2005-07-22DR-1597Severe StormSevere Storms, Flooding, and Ground Saturation
2004-05-05DR-1515Severe StormSevere Storms, Flooding, and Ground Saturation
2002-09-10DR-1431Severe StormSevere Storms, Flooding and Tornadoes
2001-05-28DR-1376FloodSevere Storms, Flooding, & Ground Saturation
2000-06-27DR-1334Severe StormSevere Storms, Flooding and Ground Saturation
1999-06-08DR-1279FloodSevere Storms, Flooding, Snow, Ice, Ground Saturation, Lanslides, Mudslides, and Tor
1998-06-15DR-1220FloodFlooding, Ground Saturation,Severe Storms
1997-04-07DR-1174FloodSevere Flooding,Severe Winter Storms, Snowmelt, Spring Rains
1997-01-12DR-1157Severe StormSevere Winter Storms and Blizzard Conditions
1996-06-05DR-1118Severe StormSevere Storms,Flooding, & Ice Jams
1995-05-16DR-1050Severe StormSevere Storms, Flooding, and Ground Saturation
1994-07-01DR-1032Severe StormSevere Storms, Flooding
1993-07-26DR-1001FloodSevere Storms & Flooding
1989-05-08DR-825FloodFlooding
1979-04-26DR-581FloodSevere Storms, Snowmelt & Flooding
1978-04-17DR-554FloodStorms, Ice Jams, Snowmelt & Flooding
1975-07-11DR-475FloodSevere Storms & Flooding
1974-05-14DR-434FloodHeavy Rains, Snowmelt & Flooding
1970-06-05DR-287FloodSevere Storms & Flooding
1969-04-18DR-256FloodFlooding
1966-03-23DR-216FloodFlooding

The 40 most recent of 41 are listed; the CSV has every one.

Source: FEMA OpenFEMA Disaster Declarations Summaries (v2), declarations through October 2, 2026; one declaration is counted once however many areas it names. OpenFEMA dataset page.

How many floods has Walsh County had?

NOAA's Storm Events Database holds 56 flood or flash flood records for Walsh County from 1996 to 2023, on 45 days, with 1 death. By flood insurance claims since 1978 (OpenFEMA, as of September 8, 2026), Walsh County ranks 390th of 2,942 U.S. counties.

The National Flood Insurance Program has paid $3.1 million on 782 claims filed in Walsh County; the most in one year was 362 in 1979. Claims count insured losses only: uninsured flood damage is not in this file.

The values, year by year

1978: 50 · 1979: 362 · 1980: 1 · 1982: 2 · 1983: 2 · 1987: 9 · 1988: 1 · 1989: 13 · 1996: 43 · 1997: 179 · 1999: 13 · 2000: 4 · 2001: 12 · 2004: 15 · 2005: 2 · 2006: 3 · 2009: 21 · 2010: 10 · 2011: 5 · 2013: 22 · 2014: 6 · 2017: 3 · 2022: 3 · 2023: 1; the other years: 0.

Source: FEMA OpenFEMA NFIP Redacted Claims, as of September 8, 2026; claims by year of loss, payments in the dollars of the year paid. OpenFEMA dataset page.

FEMA's modeled risk for Walsh County

FEMA's National Risk Index rates Walsh County Very Low overall, with an expected annual loss of $12.1 million. These are FEMA's model estimates of future loss from 18 hazards, not a count of what happened; they can differ from the record above.

National Risk Index ratings for Walsh County (December 2025 release), by FEMA's rating, then score
HazardRisk ratingExpected annual lossModeled frequency
Winter WeatherRelatively High$529K23 a year (modeled)
Ice StormRelatively High$661Konce in about 2 years (modeled)
HailRelatively Moderate$947K3.4 a year (modeled)
Cold WaveRelatively Moderate$2.4M23 a year (modeled)
WildfireRelatively Low$477Konce in about 756 years (modeled)
TornadoRelatively Low$1.1Mabout once a year (modeled)
Strong WindRelatively Low$485K1.9 a year (modeled)
Riverine FloodingRelatively Low$5.3M1.6 a year (modeled)

Source: FEMA National Risk Index, county table, December 2025 release. FEMA's National Risk Index map.

Counties that share a border with Walsh County

  1. Grand Forks County 1,357
  2. Walsh County 1,059
  3. Marshall County, MN 954
  4. Ramsey County 815
  5. Pembina County 789
  6. Cavalier County 740
  7. Nelson County 725

Source: U.S. Census Bureau county adjacency file; NOAA NCEI Storm Events Database, records since 1950. The Census Bureau's adjacency file.

Next