The National Climatic Data Center (NCDC) regularly receives storm data from the National Weather Service (NWS). The NWS receives their information from a variety of sources, which include but are not limited to: county, state and federal emergency management officials, local law enforcement officials, skywarn spotters, NWS damage surveys, newspaper clipping services, the insurance industry and the general public. NWS Headquarters (NWSHQ) uses several algorithms to prepare the storm data into the integrated database. This provides a rich source of data to identify the primary human and economic impacts due to climatic events in the United States. In this report we simplify the classification of events to fifteen primary categories (and an “other” category) and then identify the types of events that have the most impact. As will be shown in Results, there are three primary categories and a fourth “super category” that account for greater than 80% of fatalities, injuries, property damage, and crop damage. These are floods, thunderstorms, tornados, and “extreme temperatures”; where “extreme temperatures”" is comprised of heat (responsible for human injuries and fatalities) and freeze (responsible for property and crop damage.) Between 1950 and 2011 these events were responsible for more than 124,000 injuries, almost 12,000 fatalities, $1.3B in crop damage and $9.7B in property damage.
This assignment uses data available as a compressed ‘.CSV’ file on the Coursera web site under the Reproducible Research class - assignment number 2. Though it could be downloaded and uncompressed, allowing one to start with a simple locally available file, it is also possible to automatically download it and read it in directly from the compressed file.
setInternet2(use = TRUE)
url <- "https://d396qusza40orc.cloudfront.net/repdata%2Fdata%2FStormData.csv.bz2"
file <- "StormData.csv.bz2"
download.file(url, file, quiet = TRUE, mode = "wb")
## Warning in download.file(url, file, quiet = TRUE, mode = "wb"): downloaded
## length 49177144 != reported length 49177144
data <- read.csv(file)
This results in a data table containing 902297 observations of 37 variables. These data are defined in the “National Weather Service Storm Data Documentation” and the “National Climatic Data Center Storm Events FAQ” but we care only about the type of events (EVTYPE) and the impact of the events on people (FATALITIES and INJURIES) and the economy (PROPDMG and CROPDMG) for this assignment.
Unfortunately, the event types are poorly categorized due to misspellings, different mixtures of upper and lower case letters, variations such as “Flood” versus “Flooding”, extra spaces, etc. However, rather than tring to reduce the 985 event types to a manageable list first, it is easier to reduce the large data table to four smaller, impact specific tables and then adjust the resulting shorter lists of event types.
We reduce the original data table to four simple data tables that let us evaluate fatalities, injuries, property damage, and crop damage as follows:
fatalities <- data[data$FATALITIES > 0, c("EVTYPE", "FATALITIES")]
fatalities$EVTYPE <- fatalities$EVTYPE[, drop = TRUE]
injuries <- data[data$INJURIES > 0, c("EVTYPE", "INJURIES")]
injuries$EVTYPE <- injuries$EVTYPE[, drop = TRUE]
pdamage <- data[data$PROPDMG > 0, c("EVTYPE", "PROPDMG")]
pdamage$EVTYPE <- pdamage$EVTYPE[, drop = TRUE]
cdamage <- data[data$CROPDMG > 0, c("EVTYPE", "CROPDMG")]
cdamage$EVTYPE <- cdamage$EVTYPE[, drop = TRUE]
tf <- fatalities
tf$INJURIES <- NA
tf$PROPDMG <- NA
tf$CROPDMG <- NA
ti <- injuries
ti$FATALITIES <- NA
ti$PROPDMG <- NA
ti$CROPDMG <- NA
tp <- pdamage
tp$FATALITIES <- NA
tp$INJURIES <- NA
tp$CROPDMG <- NA
tc <- cdamage
tc$FATALITIES <- NA
tc$INJURIES <- NA
tc$PROPDMG <- NA
all <- rbind(tf, ti, tp, tc)
all$EVTYPE <- all$EVTYPE[, drop = TRUE]
In the data there are 6974 events resulting in fatalities, 17604 events resulting in injuries, 22099 events resulting in crop damage, and 239174 events resulting in property damage.
As noted previously, in the original data there are 985 event types. For crop damage there are 136 event types. For injuries there are 158 event types. For fatalities there are 168 event types. Finally, for property damage there are 406 event types. With a lot of overlap between these, there are a total of 488 raw categories.
While this represents a significant reduction, there are still many issues with misspelling, case sensitivity, slight variations, etc. so we will combine event types and reduce them to 16 categories:
Given the variations in event types, there is no automated way to identify all the event types that go into each of the reduced types. Using an iterative, manual process, we identified key ‘words’ that could be used to extract the appropriate sub-groups. Once these were known, the category compression process could be automated and the code for creating these categories is shown below:
simplify <- function(df) {
df0 <- df
event <- c("slide", "coastal_storm", "cold", "drought", "flood", "freeze",
"heat", "heavy_rain", "maritime", "hurricane", "tornado",
"thunderstorm", "fire", "winter_storm", "wind")
key <- c("avalan|falling|slide",
"beach|coast|cstl|high wave|rip|rogue|sur(f|ge)|tid(al|e)|tsunami",
"cold|hypothermia|low temp|wind(| )chill",
"drought|dry|dust",
"dam break|fld|flood|(high|rising) water",
"^hail|freez|frost|glaze|ic(e|y)|sleet|small hail",
"heat|hyperthermia|warm",
"heavy (precipitation|shower)|rain",
"(heavy|high) swells|marine|sea",
"hurricane|tropical|typhoon",
"funnel clou|torn(ad|da)o|waterspout|whirlwind",
"^tstm|lig(h|n)t(|n)ing|t(|h)u(|n)(|d)(e|ee)r(|e)(|s)t(or|ro)m",
"fire|smoke",
"blizzard|mix|snow|wint(er|ry)",
"wind")
for (index in 1:15) {
df0$EVENT <- event[index]
dft <- df0[grepl(key[index], df0$EVTYPE, ignore.case = TRUE),]
if (index == 1) {
df1 <- dft
} else {
df1 <- rbind(df1, dft)
}
df0 <- df0[!grepl(key[index], df0$EVTYPE, ignore.case = TRUE),]
}
df0$EVENT <- "other"
df1 <- rbind(df1, df0)
## special cases handled ad-hoc
df1$EVENT[df1$EVTYPE == "WIND AND WAVE"] <- "coastal_storm"
df1$EVENT[df1$EVTYPE == "COLD AIR TORNADO"] <- "tornado"
df1$EVENT[df1$EVTYPE == "LATE SEASON SNOW"] <- "winter_storm"
return(df1)
}
fatalities <- simplify(fatalities)
injuries <- simplify(injuries)
pdamage <- simplify(pdamage)
cdamage <- simplify(cdamage)
The presentation of the results in this document require the ‘qcc’ package citation("qcc"). If this is not installed in your environment, you will need to execute ‘install.packages(“qcc”)’ before attempting to recreate the pareto charts.
The most significant categories for human impact are as follows:
library("qcc")
## Warning: package 'qcc' was built under R version 3.1.3
## Package 'qcc', version 2.6
## Type 'citation("qcc")' for citing this R package in publications.
tfatalities <- tapply(fatalities$FATALITIES, fatalities$EVENT, sum) / 1000
tinjuries <- tapply(injuries$INJURIES, injuries$EVENT, sum) / 1000
par(mfrow = c(1,2), cex = 0.75, oma = c(2, 0, 0, 0))
pareto.chart(tfatalities, main = "Fatalities by Event Type",
ylab = "Thousands of Fatalities", col = topo.colors(16))
##
## Pareto chart analysis for tfatalities
## Frequency Cum.Freq. Percentage Cum.Percent.
## tornado 5.665 5.665 37.4050842 37.40508
## heat 3.144 8.809 20.7593265 58.16441
## flood 1.551 10.360 10.2410036 68.40541
## thunderstorm 1.528 11.888 10.0891383 78.49455
## coastal_storm 0.806 12.694 5.3218884 83.81644
## winter_storm 0.526 13.220 3.4730934 87.28953
## cold 0.483 13.703 3.1891713 90.47871
## wind 0.424 14.127 2.7996038 93.27831
## slide 0.270 14.397 1.7827666 95.06108
## hurricane 0.201 14.598 1.3271707 96.38825
## freeze 0.143 14.741 0.9442060 97.33245
## heavy_rain 0.105 14.846 0.6932981 98.02575
## fire 0.090 14.936 0.5942555 98.62001
## other 0.081 15.017 0.5348300 99.15484
## maritime 0.066 15.083 0.4357874 99.59062
## drought 0.062 15.145 0.4093760 100.00000
abline(h = sum(tfatalities)*0.8, col = "red", lwd = 3)
pareto.chart(tinjuries, main = "Injuries by Event Type",
ylab = "Thousands of Injuries", col = topo.colors(16))
##
## Pareto chart analysis for tinjuries
## Frequency Cum.Freq. Percentage Cum.Percent.
## tornado 91.439 91.439 65.06817147 65.06817
## thunderstorm 14.740 106.179 10.48901287 75.55718
## heat 9.228 115.407 6.56666287 82.12385
## flood 8.675 124.082 6.17314699 88.29699
## winter_storm 3.950 128.032 2.81082774 91.10782
## freeze 3.822 131.854 2.71974268 93.82756
## wind 1.848 133.702 1.31504042 95.14261
## hurricane 1.716 135.418 1.22110896 96.36371
## fire 1.608 137.026 1.14425595 97.50797
## other 1.081 138.107 0.76924172 98.27721
## coastal_storm 0.959 139.066 0.68242628 98.95964
## drought 0.531 139.597 0.37786064 99.33750
## cold 0.325 139.922 0.23127064 99.56877
## heavy_rain 0.282 140.204 0.20067175 99.76944
## slide 0.227 140.431 0.16153364 99.93097
## maritime 0.097 140.528 0.06902539 100.00000
abline(h = sum(tinjuries)*0.8, col = "red", lwd = 3)
mtext("Figure 1: Human Impact of Weather Events", outer = TRUE,
side = 1, cex = 1.5)
As shown in Figure 1, the greatest impacts in terms of human injury and loss of life are from: tornado, heat, flood, and thunderstorm. These four categories account for more than 80% of both fatalities and injuries. The absolute values of fatalities and injuries are based on the assumption that the original raw data counts individual fatalities and injuries. This assumption is necessary as it is not clearly defined in the source documentation.
Likewise, the most significant categories for economic impact are as follows:
tpdamage <- tapply(pdamage$PROPDMG, pdamage$EVENT, sum) / 1000
tcdamage <- tapply(cdamage$CROPDMG, cdamage$EVENT, sum) / 1000
par(mfrow = c(1,2), cex = 0.75, oma = c(2, 0, 0, 0))
pareto.chart(tpdamage, main = "Property Damage by Event Type",
ylab = "Damage (Millions $)", col = topo.colors(16))
##
## Pareto chart analysis for tpdamage
## Frequency Cum.Freq. Percentage Cum.Percent.
## thunderstorm 3278.33874 3278.339 30.11933242 30.11933
## tornado 3225.52581 6503.865 29.63412014 59.75345
## flood 2444.50526 8948.370 22.45859027 82.21204
## freeze 772.07789 9720.448 7.09337029 89.30541
## wind 450.37000 10170.818 4.13771877 93.44313
## winter_storm 326.84308 10497.661 3.00283044 96.44596
## fire 125.31829 10622.979 1.15134632 97.59731
## hurricane 75.85733 10698.836 0.69692985 98.29424
## coastal_storm 54.65315 10753.490 0.50211907 98.79636
## heavy_rain 54.55524 10808.045 0.50121953 99.29758
## slide 21.87794 10829.923 0.20100087 99.49858
## other 19.47686 10849.400 0.17894125 99.67752
## cold 15.97604 10865.376 0.14677790 99.82430
## drought 11.87528 10877.251 0.10910267 99.93340
## maritime 4.21624 10881.467 0.03873618 99.97214
## heat 3.03286 10884.500 0.02786403 100.00000
abline(h = sum(tpdamage)*0.8, col = "red", lwd = 3)
pareto.chart(tcdamage, main = "Crop Damage by Event Type",
ylab = "Damage (Millions $)", col = topo.colors(16))
##
## Pareto chart analysis for tcdamage
## Frequency Cum.Freq. Percentage Cum.Percent.
## freeze 592.79867 592.7987 43.024162854 43.02416
## flood 367.24453 960.0432 26.653886497 69.67805
## thunderstorm 202.89599 1162.9392 14.725792344 84.40384
## tornado 100.02927 1262.9685 7.259927899 91.66377
## drought 36.07090 1299.0394 2.617955057 94.28172
## wind 21.23521 1320.2746 1.541209823 95.82293
## hurricane 18.10291 1338.3775 1.313873643 97.13681
## heavy_rain 12.45580 1350.8333 0.904017493 98.04083
## fire 9.56574 1360.3990 0.694262616 98.73509
## cold 8.95174 1369.3508 0.649699703 99.38479
## winter_storm 4.84671 1374.1975 0.351764690 99.73655
## heat 1.42740 1375.6249 0.103597888 99.84015
## other 1.18295 1376.8078 0.085856187 99.92601
## coastal_storm 0.93250 1377.7403 0.067679018 99.99369
## maritime 0.05000 1377.7903 0.003628902 99.99731
## slide 0.03700 1377.8273 0.002685387 100.00000
abline(h = sum(tcdamage)*0.8, col = "red", lwd = 3)
mtext("Figure 2: Economic Impact of Weather Events", outer = TRUE,
side = 1, cex = 1.5)
As shown in Figure 2, the greatest impacts in terms of property and crop damage are from: thunderstorm, tornado, flood, and freeze. These four categories account for more than 80% of both economic impacts. The absolute values of the damage costs are based on the assumption that the original raw data reports costs in thousands of dollars. This assumption is necessary as it is not clearly defined in the source documentation.
Additionally, we can note that tornado, thunderstorm, and flood are significant contributors to both human and economic impacts, while heat has more impact on people and freeze has more economic impact.
The following function is used to “pretty print” all of the original categories that are rolled up into each of the summary categories:
all <- rbind(fatalities[, c(1, 3)], injuries[, c(1,3)],
pdamage[, c(1, 3)], cdamage[, c(1, 3)])
temp <- all[!duplicated(all[, 'EVTYPE']),]
temp2 <- tapply(temp$EVTYPE, temp$EVENT, sort)
out <- ""
for (index in c(1:10, 12:15, 11)) {
temp3 <- unlist(temp2[index])
out <- sprintf("%s%s - %d\n", out, names(temp2[index]), length(temp3))
for (index2 in 1:length(temp3)) {
out <- sprintf("%s '%s'\n", out, as.character(temp3[index2]))
}
out <- sprintf("%s\n", out)
}
cat(out)
## coastal_storm - 39
## 'COASTAL FLOOD'
## 'Coastal Flooding'
## 'COASTAL FLOODING'
## 'COASTAL STORM'
## 'COASTALSTORM'
## 'Heavy Surf'
## 'HEAVY SURF'
## 'Heavy surf and wind'
## 'HEAVY SURF/HIGH SURF'
## 'High Surf'
## 'HIGH SURF'
## 'HIGH WAVES'
## 'RIP CURRENT'
## 'RIP CURRENTS'
## 'RIP CURRENTS/HEAVY SURF'
## 'ROUGH SURF'
## 'STORM SURGE'
## 'STORM SURGE/TIDE'
## 'TSUNAMI'
## 'COASTAL FLOODING/EROSION'
## 'Coastal Storm'
## 'HAZARDOUS SURF'
## 'ROGUE WAVE'
## 'TIDAL FLOODING'
## ' HIGH SURF ADVISORY'
## 'ASTRONOMICAL HIGH TIDE'
## 'ASTRONOMICAL LOW TIDE'
## 'Beach Erosion'
## 'COASTAL FLOODING/EROSION'
## 'COASTAL EROSION'
## 'Coastal Flood'
## 'COASTAL SURGE'
## 'Erosion/Cstl Flood'
## 'Heavy Rain/High Surf'
## 'HEAVY SURF COASTAL FLOODING'
## 'HIGH TIDES'
## 'HIGH WINDS/COASTAL FLOOD'
## 'Tidal Flooding'
## 'WIND AND WAVE'
##
## cold - 26
## 'Cold'
## 'COLD'
## 'COLD AND SNOW'
## 'Cold Temperature'
## 'COLD WAVE'
## 'COLD WEATHER'
## 'COLD/WIND CHILL'
## 'COLD/WINDS'
## 'Extended Cold'
## 'Extreme Cold'
## 'EXTREME COLD'
## 'EXTREME COLD/WIND CHILL'
## 'EXTREME WINDCHILL'
## 'FOG AND COLD TEMPERATURES'
## 'HYPOTHERMIA'
## 'Hypothermia/Exposure'
## 'HYPOTHERMIA/EXPOSURE'
## 'LOW TEMPERATURE'
## 'RECORD COLD'
## 'SNOW/ BITTER COLD'
## 'UNSEASONABLY COLD'
## 'HIGH WINDS/COLD'
## 'EXTREME WIND CHILL'
## 'SNOW/COLD'
## 'COLD AND WET CONDITIONS'
## 'Unseasonable Cold'
##
## drought - 12
## 'DROUGHT/EXCESSIVE HEAT'
## 'DRY MICROBURST'
## 'DUST DEVIL'
## 'DUST STORM'
## 'HEAT WAVE DROUGHT'
## 'UNSEASONABLY WARM AND DRY'
## 'DROUGHT'
## 'DRY MIRCOBURST WINDS'
## 'Dust Devil'
## 'BLOWING DUST'
## 'DUST DEVIL WATERSPOUT'
## 'DUST STORM/HIGH WINDS'
##
## fire - 9
## 'WILD FIRES'
## 'WILD/FOREST FIRE'
## 'WILDFIRE'
## 'BRUSH FIRE'
## 'DENSE SMOKE'
## 'FOREST FIRES'
## 'GRASS FIRES'
## 'WILD/FOREST FIRES'
## 'WILDFIRES'
##
## flood - 53
## 'FLASH FLOOD'
## 'FLASH FLOOD/FLOOD'
## 'FLASH FLOODING'
## 'FLASH FLOODING/FLOOD'
## 'FLASH FLOODS'
## 'FLOOD'
## 'FLOOD & HEAVY RAIN'
## 'FLOOD/FLASH FLOOD'
## 'FLOOD/RIVER FLOOD'
## 'FLOODING'
## 'HIGH WATER'
## 'MINOR FLOODING'
## 'RAPIDLY RISING WATER'
## 'RIVER FLOOD'
## 'RIVER FLOODING'
## 'URBAN AND SMALL STREAM FLOODIN'
## 'URBAN/SML STREAM FLD'
## 'ICE STORM/FLASH FLOOD'
## 'River Flooding'
## ' FLASH FLOOD'
## 'BREAKUP FLOODING'
## 'DAM BREAK'
## 'FLASH FLOOD - HEAVY RAIN'
## 'FLASH FLOOD FROM ICE JAMS'
## 'FLASH FLOOD WINDS'
## 'FLASH FLOOD/'
## 'FLASH FLOOD/ STREET'
## 'FLASH FLOODING/THUNDERSTORM WI'
## 'FLOOD FLASH'
## 'FLOOD/FLASH'
## 'FLOOD/FLASH/FLOOD'
## 'FLOOD/FLASHFLOOD'
## 'FLOODING/HEAVY RAIN'
## 'FLOODS'
## 'HEAVY RAIN AND FLOOD'
## 'HEAVY RAINS/FLOODING'
## 'HEAVY SNOW/HIGH WINDS & FLOOD'
## 'Ice jam flood (minor'
## 'ICE JAM FLOODING'
## 'LAKE FLOOD'
## 'LAKESHORE FLOOD'
## 'MAJOR FLOOD'
## 'RIVER AND STREAM FLOOD'
## 'RURAL FLOOD'
## 'SNOWMELT FLOODING'
## 'THUNDERSTORM WINDS/ FLOOD'
## 'THUNDERSTORM WINDS/FLOODING'
## 'URBAN FLOOD'
## 'URBAN FLOODING'
## 'URBAN FLOODS'
## 'URBAN/SMALL STREAM FLOOD'
## 'FLOOD/RAIN/WINDS'
## 'SMALL STREAM FLOOD'
##
## freeze - 64
## 'BLACK ICE'
## 'FREEZE'
## 'FREEZING DRIZZLE'
## 'FREEZING RAIN'
## 'FREEZING RAIN/SNOW'
## 'Freezing Spray'
## 'FROST'
## 'GLAZE'
## 'HAIL'
## 'ICE'
## 'ICE ON ROAD'
## 'ICE STORM'
## 'ICY ROADS'
## 'SLEET'
## 'SNOW AND ICE'
## 'GLAZE/ICE STORM'
## 'HEAVY SNOW/ICE'
## 'ICE ROADS'
## 'SMALL HAIL'
## 'DAMAGING FREEZE'
## 'Freezing drizzle'
## 'Freezing Drizzle'
## 'FREEZING FOG'
## 'Freezing Rain'
## 'FREEZING RAIN/SLEET'
## 'Frost/Freeze'
## 'FROST/FREEZE'
## 'FROST\FREEZE'
## 'Glaze'
## 'GLAZE ICE'
## 'HAIL 0.75'
## 'HAIL 100'
## 'HAIL 175'
## 'HAIL 275'
## 'HAIL 450'
## 'HAIL 75'
## 'HAIL DAMAGE'
## 'HAIL/WIND'
## 'HAIL/WINDS'
## 'HAILSTORM'
## 'HEAVY SNOW/FREEZING RAIN'
## 'ICE AND SNOW'
## 'ICE FLOES'
## 'ICE JAM'
## 'ICE/STRONG WINDS'
## 'LIGHT FREEZING RAIN'
## 'SLEET/ICE STORM'
## 'SNOW AND ICE STORM'
## 'SNOW FREEZING RAIN'
## 'SNOW/ ICE'
## 'SNOW/FREEZING RAIN'
## 'SNOW/ICE'
## 'SNOW/ICE STORM'
## 'SNOW/SLEET'
## 'SNOW/SLEET/FREEZING RAIN'
## 'AGRICULTURAL FREEZE'
## 'Damaging Freeze'
## 'Early Frost'
## 'Freeze'
## 'HAIL 075'
## 'HAIL 125'
## 'HAIL 150'
## 'HAIL 200'
## 'HARD FREEZE'
##
## heat - 11
## 'EXCESSIVE HEAT'
## 'EXTREME HEAT'
## 'HEAT'
## 'HEAT WAVE'
## 'HEAT WAVES'
## 'HYPERTHERMIA/EXPOSURE'
## 'RECORD HEAT'
## 'RECORD/EXCESSIVE HEAT'
## 'UNSEASONABLY WARM'
## 'Heat Wave'
## 'WARM WEATHER'
##
## heavy_rain - 23
## 'EXCESSIVE RAINFALL'
## 'HEAVY RAIN'
## 'RAIN/SNOW'
## 'RAIN/WIND'
## 'HEAVY RAINS'
## 'Torrential Rainfall'
## 'GUSTY WIND/HVY RAIN'
## 'Gusty wind/rain'
## 'HEAVY PRECIPITATION'
## 'HEAVY RAIN/LIGHTNING'
## 'HEAVY RAIN/SEVERE WEATHER'
## 'HEAVY RAIN/SMALL STREAM URBAN'
## 'HEAVY RAIN/SNOW'
## 'HEAVY SHOWER'
## 'HIGH WINDS HEAVY RAINS'
## 'HIGH WINDS/HEAVY RAIN'
## 'LIGHTNING AND HEAVY RAIN'
## 'LIGHTNING/HEAVY RAIN'
## 'RAIN'
## 'RAINSTORM'
## 'RECORD RAINFALL'
## 'HVY RAIN'
## 'UNSEASONAL RAIN'
##
## hurricane - 17
## 'HURRICANE'
## 'HURRICANE ERIN'
## 'HURRICANE FELIX'
## 'HURRICANE OPAL'
## 'HURRICANE OPAL/HIGH WINDS'
## 'HURRICANE/TYPHOON'
## 'TROPICAL STORM'
## 'TROPICAL STORM GORDON'
## 'HURRICANE-GENERATED SWELLS'
## 'Hurricane Edouard'
## 'HURRICANE EMILY'
## 'TYPHOON'
## 'HURRICANE GORDON'
## 'TROPICAL DEPRESSION'
## 'TROPICAL STORM ALBERTO'
## 'TROPICAL STORM DEAN'
## 'TROPICAL STORM JERRY'
##
## maritime - 14
## 'HEAVY SEAS'
## 'HIGH SEAS'
## 'HIGH SWELLS'
## 'HIGH WIND AND SEAS'
## 'HIGH WIND/SEAS'
## 'Marine Accident'
## 'MARINE HIGH WIND'
## 'MARINE MISHAP'
## 'MARINE STRONG WIND'
## 'MARINE THUNDERSTORM WIND'
## 'MARINE TSTM WIND'
## 'ROUGH SEAS'
## 'HEAVY SWELLS'
## 'MARINE HAIL'
##
## slide - 16
## 'AVALANCE'
## 'AVALANCHE'
## 'FALLING SNOW/ICE'
## 'LANDSLIDE'
## 'LANDSLIDES'
## 'Mudslide'
## 'Mudslides'
## 'HEAVY SNOW/BLIZZARD/AVALANCHE'
## 'FLASH FLOOD LANDSLIDES'
## 'FLASH FLOOD/LANDSLIDE'
## 'MUD SLIDE'
## 'MUD SLIDES'
## 'MUD SLIDES URBAN FLOODING'
## 'MUDSLIDE'
## 'MUDSLIDES'
## 'ROCK SLIDE'
##
## thunderstorm - 76
## 'LIGHTNING'
## 'LIGHTNING.'
## 'THUNDERSTORM'
## 'THUNDERSTORM WIND'
## 'THUNDERSTORM WIND (G40)'
## 'THUNDERSTORM WIND G52'
## 'THUNDERSTORM WINDS'
## 'THUNDERTORM WINDS'
## 'TSTM WIND'
## 'TSTM WIND (G35)'
## 'TSTM WIND/HAIL'
## 'LIGHTNING AND THUNDERSTORM WIN'
## 'LIGHTNING INJURY'
## 'THUNDERSTORM WINDS'
## 'THUNDERSTORM WINDS 13'
## 'THUNDERSTORM WINDS/HAIL'
## 'THUNDERSTORM WINDSS'
## 'THUNDERSTORMS WINDS'
## 'THUNDERSTORMW'
## 'TSTM WIND (G40)'
## 'TSTM WIND (G45)'
## 'LIGHTING'
## 'LIGHTNING WAUSEON'
## 'LIGHTNING FIRE'
## 'LIGHTNING THUNDERSTORM WINDS'
## 'LIGNTNING'
## 'SEVERE THUNDERSTORM'
## 'SEVERE THUNDERSTORM WINDS'
## 'SEVERE THUNDERSTORMS'
## 'THUDERSTORM WINDS'
## 'THUNDEERSTORM WINDS'
## 'THUNDERESTORM WINDS'
## 'THUNDERSTORM DAMAGE TO'
## 'THUNDERSTORM HAIL'
## 'THUNDERSTORM WIND 60 MPH'
## 'THUNDERSTORM WIND 65 MPH'
## 'THUNDERSTORM WIND 65MPH'
## 'THUNDERSTORM WIND 98 MPH'
## 'THUNDERSTORM WIND G50'
## 'THUNDERSTORM WIND G55'
## 'THUNDERSTORM WIND TREES'
## 'THUNDERSTORM WIND/ TREE'
## 'THUNDERSTORM WIND/ TREES'
## 'THUNDERSTORM WIND/AWNING'
## 'THUNDERSTORM WIND/HAIL'
## 'THUNDERSTORM WIND/LIGHTNING'
## 'THUNDERSTORM WINDS 63 MPH'
## 'THUNDERSTORM WINDS AND'
## 'THUNDERSTORM WINDS HAIL'
## 'THUNDERSTORM WINDS LIGHTNING'
## 'THUNDERSTORM WINDS.'
## 'THUNDERSTORM WINDS53'
## 'THUNDERSTORM WINDSHAIL'
## 'THUNDERSTORM WINS'
## 'THUNDERSTORMS'
## 'THUNDERSTORMS WIND'
## 'THUNDERSTORMWINDS'
## 'THUNDERSTROM WIND'
## 'THUNERSTORM WINDS'
## 'Tstm Wind'
## 'TSTM WIND (G45)'
## 'TSTM WIND (41)'
## 'TSTM WIND 40'
## 'TSTM WIND 45'
## 'TSTM WIND 55'
## 'TSTM WIND 65)'
## 'TSTM WIND AND LIGHTNING'
## 'TSTM WIND DAMAGE'
## 'TSTM WIND G45'
## 'TSTM WIND G58'
## 'TSTM WINDS'
## 'TSTMW'
## 'TUNDERSTORM WIND'
## 'THUNDERSTORM WIND G60'
## 'THUNDERSTORM WIND.'
## 'THUNDERSTORM WINDS G60'
##
## tornado - 19
## 'TORNADO'
## 'TORNADOES, TSTM WIND, HAIL'
## 'WATERSPOUT'
## 'WATERSPOUT/TORNADO'
## 'Whirlwind'
## 'FUNNEL CLOUD'
## 'TORNADO F2'
## 'TORNADO F3'
## 'WATERSPOUT TORNADO'
## 'COLD AIR TORNADO'
## 'THUNDERSTORM WINDS/FUNNEL CLOU'
## 'TORNADO F0'
## 'TORNADO F1'
## 'TORNDAO'
## 'WATERSPOUT-'
## 'WATERSPOUT-TORNADO'
## 'WATERSPOUT/ TORNADO'
## 'WHIRLWIND'
## 'TORNADOES'
##
## wind - 33
## 'GUSTY WIND'
## 'GUSTY WINDS'
## 'HIGH WIND'
## 'HIGH WINDS'
## 'STRONG WIND'
## 'Strong Winds'
## 'STRONG WINDS'
## 'WIND'
## 'WIND STORM'
## 'WINDS'
## 'Gusty winds'
## 'Gusty Winds'
## 'HIGH WIND 48'
## 'NON-SEVERE WIND DAMAGE'
## 'NON TSTM WIND'
## ' TSTM WIND'
## ' TSTM WIND (G45)'
## 'gradient wind'
## 'Gradient wind'
## 'GRADIENT WIND'
## 'GUSTY WIND/HAIL'
## 'HIGH WINDS'
## 'HIGH WIND (G40)'
## 'HIGH WIND DAMAGE'
## 'HIGH WINDS/'
## 'MICROBURST WINDS'
## 'NON-TSTM WIND'
## 'STORM FORCE WINDS'
## 'Strong Wind'
## 'Wind'
## 'Wind Damage'
## 'WIND DAMAGE'
## 'WIND/HAIL'
##
## other - 23
## 'DENSE FOG'
## 'DROWNING'
## 'FOG'
## 'HIGH'
## 'OTHER'
## '?'
## 'APACHE COUNTY'
## 'DOWNBURST'
## 'GUSTNADO'
## 'Landslump'
## 'LANDSPOUT'
## 'Microburst'
## 'MICROBURST'
## 'Other'
## 'SEICHE'
## 'SEVERE TURBULENCE'
## 'URBAN AND SMALL'
## 'URBAN SMALL'
## 'URBAN/SMALL STREAM'
## 'VOLCANIC ASH'
## 'WET MICROBURST'
## 'COOL AND WET'
## 'EXCESSIVE WETNESS'