Extreme weather across the United States accounts for numerous injuries and fatalities as well as costing billions of dollars in damage every year.
This report uses the U.S. National Oceanic and Atmospheric Administration’s (NOAA) storm database to find the weather events that are the most impactful from a population health standpoint and from an economic standpoint. The NOAA database tracks characteristics of major storms and weather events in the United States, including when and where they occur, as well as estimates of any fatalities, injuries, and property damage.
The data can be obtained from the course website, and an explanation of the data format can be found at the National Weather Service. Following is code for unpacking the storm database once it has been downloaded.
data<-read.csv(bzfile("repdata_data_StormData.csv.bz2"), header=TRUE, stringsAsFactors=FALSE)
The data in the strom database has the following major issues.
No attempt was made to process the data with respect to year. It is assumed for the purpose of this analysis that reporting methods and storm effects are stable with respect to event type over the time range 1950 to 2011.
To handle the property damage estimates, a unified property damage dollar amount field called PropertyDamage was created from the PROPDMG and PROPDMGEXP fields, and a field call CropDamage was created from the CROPDMG and CROPDMGEXP fields. And to help with the roll-up procedure, we convert all event type names to uppercase.
normalizeDamage <- function(pdmg, pdmgexp) {
if ( pdmgexp == "" ) {
0
}
else if ( length(grep("[1234567890]", pdmgexp)) == 1 ) {
as.numeric(pdmg) * (10 ^ as.numeric(pdmgexp) )
}
else if ( toupper(pdmgexp) == "K" ) {
as.numeric(pdmg) * 1000
}
else if ( toupper(pdmgexp) =="M" ) {
as.numeric(pdmg) * 1000000
}
else if ( toupper(pdmgexp) =="B" ) {
as.numeric(pdmg) * 1000000
}
else {
0
}
}
data$PropertyDamage <- mapply(FUN = normalizeDamage, data$PROPDMG, data$PROPDMGEXP)
data$CropDamage <- mapply(FUN = normalizeDamage, data$CROPDMG, data$CROPDMGEXP)
data$EVTYPE <- toupper(data$EVTYPE) # To help with removing duplicates later
Since we are interested only in fatalities, injuries and economic consequences, we sum these values by event type, and save off only needed columns into a smaller, more easily worked dataset.
library(plyr)
summary <- ddply(data, "EVTYPE", function(x) {c (sum (x$INJURIES),
sum(x$FATALITIES),sum(x$PropertyDamage)+sum(x$CropDamage))})
summary <- summary[complete.cases(summary),]
colnames(summary) <- c("EventType", "Injuries", "Fatalities", "EconomicDamage")
We create a function to roll up injuries, fatalities, and economic damage estimates from the second event type into the first given event type. We also create a function called “rollups” to apply the individual rollups. This function also serves as documentation of how the data were rolled up. The function is shown in the Appendix.
rollup <- function(df, ev1, ev2) {
if ( nrow(df[df$EventType==ev1,])>0 & nrow(df[df$EventType==ev2,])>0 ) {
df[df$EventType==ev1,]$Injuries <-
df[df$EventType==ev1,]$Injuries +
df[df$EventType==ev2,]$Injuries
df[df$EventType==ev1,]$Fatalities <-
df[df$EventType==ev1,]$Fatalities +
df[df$EventType==ev2,]$Fatalities
df[df$EventType==ev1,]$EconomicDamage <-
df[df$EventType==ev1,]$EconomicDamage +
df[df$EventType==ev2,]$EconomicDamage
df[df$EventType != ev2,]
}
else {
df
}
}
# Also function rollups, see Appendix.
Working with the summary data, we will identify and exclude all cases where there was no inujry, fatality or economic impact. This will make it easier to identify categories for roll-up later since that is a manual process. Then we apply the rollups.
fsummary <- summary[summary$Fatalities>0|summary$Injuries>0|summary$EconomicDamage>0,]
fsummary <- rollups(fsummary)
rownames(fsummary) <- NULL
The reduces the number of distinct event types from 985 to 142.
The top ten storm event types can now be sorted and displayed by fatalities, injuries, and eceonomic damage.
top_fatalities<-head(fsummary[with(fsummary, order(-Fatalities)),], n=10)
top_fatalities
## EventType Injuries Fatalities EconomicDamage
## 129 TORNADO 91410 5636 52073339014
## 56 HEAT 9243 3178 525205030
## 35 FLOOD 8680 1554 47115684289
## 85 LIGHTNING 5232 817 947554517
## 126 THUNDERSTORM WIND 9496 710 11187147303
## 106 RIP CURRENT 529 577 163000
## 18 COLD 324 473 1884350000
## 66 HIGH WIND 1848 449 5536966730
## 141 WINTER STORM 1968 279 1828749251
## 9 AVALANCHE 170 225 3721800
top_fatalities[top_fatalities$EventType=="THUNDERSTORM WIND",]$EventType <-"TSTRM WIND"
top_fatalities[top_fatalities$EventType=="WINTER STORM",]$EventType <-"WINT STORM"
barplot(top_fatalities$Fatalities, names.arg = top_fatalities$EventType, cex.names = 0.65, las=2)
Figure 1: Top 10 Storm Event Types by Fatalities
top_injuries<-head(fsummary[with(fsummary, order(-Injuries)),], n=10)
top_injuries
## EventType Injuries Fatalities EconomicDamage
## 129 TORNADO 91410 5636 52073339014
## 126 THUNDERSTORM WIND 9496 710 11187147303
## 56 HEAT 9243 3178 525205030
## 35 FLOOD 8680 1554 47115684289
## 85 LIGHTNING 5232 817 947554517
## 74 ICE STORM 1977 89 3972041360
## 141 WINTER STORM 1968 279 1828749251
## 66 HIGH WIND 1848 449 5536966730
## 138 WILDFIRE 1608 90 6356940130
## 54 HAIL 1371 15 17226227576
top_injuries[top_injuries$EventType=="THUNDERSTORM WIND",]$EventType <-"TSTRM WIND"
top_injuries[top_injuries$EventType=="WINTER STORM",]$EventType <-"WINT STORM"
barplot(top_injuries$Injuries, names.arg = top_injuries$EventType, cex.names = 0.65, las=2)
Figure 2: Top 10 Storm Event Types by Injuries
top_econdmg<-head(fsummary[with(fsummary, order(-EconomicDamage)),], n=10)
top_econdmg
## EventType Injuries Fatalities EconomicDamage
## 129 TORNADO 91410 5636 52073339014
## 35 FLOOD 8680 1554 47115684289
## 54 HAIL 1371 15 17226227576
## 68 HURRICANE 1329 135 15037862810
## 25 DROUGHT 4 0 13520172000
## 126 THUNDERSTORM WIND 9496 710 11187147303
## 138 WILDFIRE 1608 90 6356940130
## 66 HIGH WIND 1848 449 5536966730
## 74 ICE STORM 1977 89 3972041360
## 131 TROPICAL STORM 383 66 3264436550
top_econdmg[top_econdmg$EventType=="THUNDERSTORM WIND",]$EventType <-"TSTRM WIND"
top_econdmg[top_econdmg$EventType=="TROPICAL STORM",]$EventType <-"TROP STRM"
barplot(top_econdmg$EconomicDamage, names.arg = top_econdmg$EventType, cex.names = 0.65, las=2)
Figure 3: Top 10 Storm Event Types by Economic Damage
Following is the function that performs the individual roll-ups used in this analysis, as described above. This was not difficult, and only took a couple of hours. An automated procedure based on pattern matching could get this mostly right, but there were too many outright mispellings and odd cases like “GUSTNADO” or “LANDSPOUT” to be con=mfortable.
rollups <- function(fsummary) {
fsummary <- rollup(fsummary, "AVALANCHE", "AVALANCE")
fsummary <- rollup(fsummary, "BLIZZARD", "BLOWING SNOW")
fsummary <- rollup(fsummary, "BLIZZARD", "blowing snow")
fsummary <- rollup(fsummary, "BLIZZARD", "BLIZZARD/WINTER STORM")
fsummary <- rollup(fsummary, "COASTAL FLOOD", "Coastal Flooding")
fsummary <- rollup(fsummary, "COASTAL FLOOD", "COASTAL FLOODING")
fsummary <- rollup(fsummary, "COASTAL STORM", "Coastal Storm")
fsummary <- rollup(fsummary, "COASTAL STORM", "COASTALSTORM")
fsummary <- rollup(fsummary, "COLD", "Cold")
fsummary <- rollup(fsummary, "COLD", "COLD AIR TORNADO")
fsummary <- rollup(fsummary, "COLD", "COLD TEMPERATURE")
fsummary <- rollup(fsummary, "COLD", "COLD AND SNOW")
fsummary <- rollup(fsummary, "COLD", "Cold Temperature")
fsummary <- rollup(fsummary, "COLD", "COLD WAVE")
fsummary <- rollup(fsummary, "COLD", "COLD WEATHER")
fsummary <- rollup(fsummary, "COLD", "COLD/WIND CHILL")
fsummary <- rollup(fsummary, "COLD", "COLD/WINDS")
fsummary <- rollup(fsummary, "COLD", "EXTENDED COLD")
fsummary <- rollup(fsummary, "COLD", "Extreme Cold")
fsummary <- rollup(fsummary, "COLD", "EXTREME COLD")
fsummary <- rollup(fsummary, "COLD", "EXTREME COLD/WIND CHILL")
fsummary <- rollup(fsummary, "COLD", "EXTREME WINDCHILL")
fsummary <- rollup(fsummary, "COLD", "HIGH WINDS/COLD")
fsummary <- rollup(fsummary, "COLD", "LOW TEMPERATURE")
fsummary <- rollup(fsummary, "COLD", "RECORD COLD")
fsummary <- rollup(fsummary, "COLD", "FREEZE")
fsummary <- rollup(fsummary, "COLD", "EXTREME WIND CHILL")
fsummary <- rollup(fsummary, "COLD", "EARLY FROST")
fsummary <- rollup(fsummary, "COLD", "AGRICULTURAL FREEZE")
fsummary <- rollup(fsummary, "COLD", "UNSEASONABLY COLD")
fsummary <- rollup(fsummary, "COLD", "UNSEASONABLE COLD")
fsummary <- rollup(fsummary, "DRY MICROBURST", "DRY MIRCOBURST WINDS")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOOD/")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOOD/ STREET")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOOD/LANDSLIDE")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOODING/THUNDERSTORM WI")
fsummary <- rollup(fsummary, "FLOOD", "FLOOD FLASH")
fsummary <- rollup(fsummary, "FLOOD", "COASTAL FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "COASTAL FLOODING/EROSION")
fsummary <- rollup(fsummary, "FLOOD", "FLOOD/FLASH")
fsummary <- rollup(fsummary, "FLOOD", "FLOOD/FLASH/FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "FLOOD/FLASHFLOOD")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOOD/FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOODING")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOODING/FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOODS")
fsummary <- rollup(fsummary, "FLOOD", "FLOOD & HEAVY RAIN")
fsummary <- rollup(fsummary, "FLOOD", "FLOOD/FLASH FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "FLOOD/RIVER FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "FLOODING")
fsummary <- rollup(fsummary, "FLOOD", "RIVER FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "River Flooding")
fsummary <- rollup(fsummary, "FLOOD", "RIVER FLOODING")
fsummary <- rollup(fsummary, "FLOOD", "URBAN AND SMALL STREAM FLOODIN")
fsummary <- rollup(fsummary, "FLOOD", "URBAN/SML STREAM FLD")
fsummary <- rollup(fsummary, "FLOOD", "MINOR FLOODING")
fsummary <- rollup(fsummary, "FLOOD", "RAPIDLY RISING WATER")
fsummary <- rollup(fsummary, "FLOOD", "URBAN AND SMALL")
fsummary <- rollup(fsummary, "FLOOD", "URBAN FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOOD - HEAVY RAIN")
fsummary <- rollup(fsummary, "FLOOD", "FLASH FLOOD FROM ICE JAMS")
fsummary <- rollup(fsummary, "FLOOD", "FLOOD/RAIN/WINDS")
fsummary <- rollup(fsummary, "FLOOD", "FLOODS")
fsummary <- rollup(fsummary, "FLOOD", "URBAN FLOODING")
fsummary <- rollup(fsummary, "FLOOD", "URBAN FLOODS")
fsummary <- rollup(fsummary, "FLOOD", "URBAN SMALL")
fsummary <- rollup(fsummary, "FLOOD", "URBAN/SMALL STREAM")
fsummary <- rollup(fsummary, "FLOOD", "URBAN/SMALL STREAM FLOOD")
fsummary <- rollup(fsummary, "FLOOD", "ICE JAM FLOOD (MINOR")
fsummary <- rollup(fsummary, "FLOOD", "ICE JAM FLOODING")
fsummary <- rollup(fsummary, "FLOOD", "LAKESHORE FLOOD")
fsummary <- rollup(fsummary, "FOG", "DENSE FOG")
fsummary <- rollup(fsummary, "FREEZING RAIN", "FREEZING DRIZZLE")
fsummary <- rollup(fsummary, "FREEZING RAIN", "FREEZING RAIN/SNOW")
fsummary <- rollup(fsummary, "FREEZING RAIN", "FREEZING FOG")
fsummary <- rollup(fsummary, "FREEZING RAIN", "FREEZING RAIN/SLEET")
fsummary <- rollup(fsummary, "FREEZING RAIN", "FREEZING SPRAY")
fsummary <- rollup(fsummary, "FROST", "FROST/FREEZE")
fsummary <- rollup(fsummary, "FROST", "FROST\\FREEZE")
fsummary <- rollup(fsummary, "FOG", "FOG AND COLD TEMPERATURES")
fsummary <- rollup(fsummary, "GLAZE", "GLAZE/ICE STORM")
fsummary <- rollup(fsummary, "GLAZE", "BLACK ICE")
fsummary <- rollup(fsummary, "GLAZE", "GLAZE ICE")
fsummary <- rollup(fsummary, "GUSTY WIND", "Gusty winds")
fsummary <- rollup(fsummary, "GUSTY WIND", "Gusty Winds")
fsummary <- rollup(fsummary, "GUSTY WIND", "GUSTY WINDS")
fsummary <- rollup(fsummary, "HAIL", "SMALL HAIL")
fsummary <- rollup(fsummary, "HAIL", "HAIL 0.75")
fsummary <- rollup(fsummary, "HAIL", "HAIL 075")
fsummary <- rollup(fsummary, "HAIL", "HAIL 100")
fsummary <- rollup(fsummary, "HAIL", "HAIL 125")
fsummary <- rollup(fsummary, "HAIL", "HAIL 150")
fsummary <- rollup(fsummary, "HAIL", "HAIL 175")
fsummary <- rollup(fsummary, "HAIL", "HAIL 200")
fsummary <- rollup(fsummary, "HAIL", "HAIL 275")
fsummary <- rollup(fsummary, "HAIL", "HAIL 75")
fsummary <- rollup(fsummary, "HAIL", "HAIL 450")
fsummary <- rollup(fsummary, "HAIL", "WIND/HAIL")
fsummary <- rollup(fsummary, "HAIL", "HAIL DAMAGE")
fsummary <- rollup(fsummary, "HAIL", "HAIL/WIND")
fsummary <- rollup(fsummary, "HAIL", "HAIL/WINDS")
fsummary <- rollup(fsummary, "HAIL", "HAILSTORM")
fsummary <- rollup(fsummary, "HEAT", "DROUGHT/EXCESSIVE HEAT")
fsummary <- rollup(fsummary, "HEAT", "EXCESSIVE HEAT")
fsummary <- rollup(fsummary, "HEAT", "EXTREME HEAT")
fsummary <- rollup(fsummary, "HEAT", "Heat Wave")
fsummary <- rollup(fsummary, "HEAT", "HEAT WAVE")
fsummary <- rollup(fsummary, "HEAT", "HEAT WAVE DROUGHT")
fsummary <- rollup(fsummary, "HEAT", "HEAT WAVES")
fsummary <- rollup(fsummary, "HEAT", "RECORD HEAT")
fsummary <- rollup(fsummary, "HEAT", "RECORD/EXCESSIVE HEAT")
fsummary <- rollup(fsummary, "HEAT", "UNSEASONABLY WARM")
fsummary <- rollup(fsummary, "HEAT", "UNSEASONABLY WARM AND DRY")
fsummary <- rollup(fsummary, "HEAT", "WARM WEATHER")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY RAINS")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HVY RAIN")
fsummary <- rollup(fsummary, "HEAVY RAIN", "RAIN/WIND")
fsummary <- rollup(fsummary, "HEAVY RAIN", "Torrential Rainfall")
fsummary <- rollup(fsummary, "HEAVY RAIN", "EXCESSIVE RAINFALL")
fsummary <- rollup(fsummary, "HEAVY RAIN", "UNSEASONAL RAIN")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY MIX")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY RAIN/SNOW")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY RAINS/FLOODING")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY MIX")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY PRECIPITATION")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY RAIN AND FLOOD")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY RAIN/LIGHTNING")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY RAIN/SEVERE WEATHER")
fsummary <- rollup(fsummary, "HEAVY RAIN", "HEAVY RAIN/SMALL STREAM URBAN")
fsummary <- rollup(fsummary, "HEAVY SURF", "HEAVY RAIN/HIGH SURF")
fsummary <- rollup(fsummary, "HEAVY SURF", "Heavy Surf")
fsummary <- rollup(fsummary, "HEAVY SURF", "HEAVY SURF AND WIND")
fsummary <- rollup(fsummary, "HEAVY SURF", "HEAVY SURF COASTAL FLOODING")
fsummary <- rollup(fsummary, "HEAVY SURF", "Heavy Surf")
fsummary <- rollup(fsummary, "HEAVY SURF", "Heavy surf and wind")
fsummary <- rollup(fsummary, "HEAVY SURF", "HEAVY SURF/HIGH SURF")
fsummary <- rollup(fsummary, "HEAVY SURF", "HAZARDOUS SURF")
fsummary <- rollup(fsummary, "HEAVY SURF", "ROGUE WAVE")
fsummary <- rollup(fsummary, "HEAVY SURF", "ROUGH SEAS")
fsummary <- rollup(fsummary, "HEAVY SURF", "ROUGH SURF")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH SURF")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH SURF ADVISORY")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH SEAS")
fsummary <- rollup(fsummary, "HEAVY SURF", "High Surf")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH SWELLS")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH WATER")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH WAVES")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH WIND AND SEAS")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH WIND/SEAS")
fsummary <- rollup(fsummary, "HEAVY SURF", "WIND AND WAVE")
fsummary <- rollup(fsummary, "HEAVY SURF", "HIGH SURF ADVISORY")
fsummary <- rollup(fsummary, "HEAVY SURF", "HURRICANE-GENERATED SWELLS")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW AND HIGH WINDS")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW/BLIZZARD/AVALANCHE")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW/ICE")
fsummary <- rollup(fsummary, "HEAVY SNOW", "Heavy snow shower")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HIGH WIND/HEAVY SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "RAIN/SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "Snow")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "LAKE-EFFECT SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "LAKE EFFECT SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW ACCUMULATION")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW AND HEAVY SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW AND ICE STORM")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW FREEZING RAIN")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW SQUALLS")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW/ ICE")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW/BLOWING SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW/ICE STORM")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW AND ICE")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW SQUALL")
fsummary <- rollup(fsummary, "HEAVY SNOW", "Snow Squalls")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW/ BITTER COLD")
fsummary <- rollup(fsummary, "HEAVY SNOW", "SNOW/HIGH WINDS")
fsummary <- rollup(fsummary, "HEAVY SNOW", "EXCESSIVE SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "FALLING SNOW/ICE")
fsummary <- rollup(fsummary, "HEAVY SNOW", "LAKE-EFFECT SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "LAKE EFFECT SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "LIGHT SNOW")
fsummary <- rollup(fsummary, "HEAVY SNOW", "LIGHT SNOWFALL")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW-SQUALLS")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW AND STRONG WINDS")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW SHOWER")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW SQUALLS")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW/BLIZZARD")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW/FREEZING RAIN")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW/HIGH WINDS & FLOOD")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW/SQUALLS")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW/WIND")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOW/WINTER STORM")
fsummary <- rollup(fsummary, "HEAVY SNOW", "HEAVY SNOWPACK")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WIND 48")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WINDS")
fsummary <- rollup(fsummary, "HIGH WIND", "NON TSTM WIND")
fsummary <- rollup(fsummary, "HIGH WIND", "NON-SEVERE WIND DAMAGE")
fsummary <- rollup(fsummary, "HIGH WIND", "STRONG WIND")
fsummary <- rollup(fsummary, "HIGH WIND", "Strong Winds")
fsummary <- rollup(fsummary, "HIGH WIND", "STRONG WINDS")
fsummary <- rollup(fsummary, "HIGH WIND", "TORNADOES, TSTM WIND, HAIL")
fsummary <- rollup(fsummary, "HIGH WIND", "WIND STORM")
fsummary <- rollup(fsummary, "HIGH WIND", "WINDS")
fsummary <- rollup(fsummary, "HIGH WIND", "WIND")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WINDS")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WIND DAMAGE")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WIND (G40)")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WINDS HEAVY RAINS")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WIND/BLIZZARD")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WINDS/")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WINDS/COASTAL FLOOD")
fsummary <- rollup(fsummary, "HIGH WIND", "HIGH WINDS/HEAVY RAIN")
fsummary <- rollup(fsummary, "HIGH WIND", "GUSTNADO")
fsummary <- rollup(fsummary, "HIGH WIND", "GUSTY WIND")
fsummary <- rollup(fsummary, "HIGH WIND", "GUSTY WIND/HAIL")
fsummary <- rollup(fsummary, "HIGH WIND", "GUSTY WIND/HVY RAIN")
fsummary <- rollup(fsummary, "HIGH WIND", "GUSTY WIND/RAIN")
fsummary <- rollup(fsummary, "HIGH WIND", "WIND DAMAGE")
fsummary <- rollup(fsummary, "HIGH WIND", "WIND STORM")
fsummary <- rollup(fsummary, "HURRICANE", "Hurricane EDOUARD")
fsummary <- rollup(fsummary, "HURRICANE", "Hurricane GORDON")
fsummary <- rollup(fsummary, "HURRICANE", "HURRICANE EMILY")
fsummary <- rollup(fsummary, "HURRICANE", "HURRICANE ERIN")
fsummary <- rollup(fsummary, "HURRICANE", "HURRICANE FELIX")
fsummary <- rollup(fsummary, "HURRICANE", "HURRICANE OPAL")
fsummary <- rollup(fsummary, "HURRICANE", "HURRICANE OPAL/HIGH WINDS")
fsummary <- rollup(fsummary, "HURRICANE", "HURRICANE/TYPHOON")
fsummary <- rollup(fsummary, "HURRICANE", "TYPHOON")
fsummary <- rollup(fsummary, "HYPOTHERMIA", "HYPOTHERMIA/EXPOSURE")
fsummary <- rollup(fsummary, "HYPOTHERMIA", "Hypothermia/Exposure")
fsummary <- rollup(fsummary, "HYPOTHERMIA", "HYPERTHERMIA/EXPOSURE")
fsummary <- rollup(fsummary, "ICE", "DAMAGING FREEZE")
fsummary <- rollup(fsummary, "ICE", "ICE ON ROAD")
fsummary <- rollup(fsummary, "ICE", "ICE ROADS")
fsummary <- rollup(fsummary, "ICE", "ICY ROADS")
fsummary <- rollup(fsummary, "ICE", "ICE AND SNOW")
fsummary <- rollup(fsummary, "ICE", "ICE FLOES")
fsummary <- rollup(fsummary, "ICE", "ICE JAM")
fsummary <- rollup(fsummary, "ICE", "ICE/STRONG WINDS")
fsummary <- rollup(fsummary, "ICE STORM", "ICE STORM/FLASH FLOOD")
fsummary <- rollup(fsummary, "LANDSLIDE", "LANDSLIDES")
fsummary <- rollup(fsummary, "LANDSLIDE", "FLASH FLOOD LANDSLIDES")
fsummary <- rollup(fsummary, "LANDSLIDE", "MUDSLIDE")
fsummary <- rollup(fsummary, "LANDSLIDE", "MUDSLIDES")
fsummary <- rollup(fsummary, "LANDSLIDE", "MUD SLIDE")
fsummary <- rollup(fsummary, "LANDSLIDE", "MUD SLIDES")
fsummary <- rollup(fsummary, "LANDSLIDE", "MUD SLIDES URBAN FLOODING")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTNING AND THUNDERSTORM WIN")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTNING INJURY")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTNING.")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTING")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTNING FIRE")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTNING WAUSEON")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTNING AND HEAVY RAIN")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTNING/HEAVY RAIN")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGNTNING")
fsummary <- rollup(fsummary, "LIGHTNING", "LIGHTNING THUNDERSTORM WINDS")
fsummary <- rollup(fsummary, "MARINE STRONG WIND", "MARINE HIGH WIND")
fsummary <- rollup(fsummary, "MARINE STRONG WIND", "MARINE THUNDERSTORM WIND")
fsummary <- rollup(fsummary, "MARINE STRONG WIND", "MARINE TSTM WIND")
fsummary <- rollup(fsummary, "RIP CURRENT", "RIP CURRENTS")
fsummary <- rollup(fsummary, "RIP CURRENT", "RIP CURRENTS/HEAVY SURF")
fsummary <- rollup(fsummary, "STORM SURGE", "STORM SURGE/TIDE")
fsummary <- rollup(fsummary, "THUNDERSTORM", "THUNDERSTORMS")
fsummary <- rollup(fsummary, "THUNDERSTORM", "SEVERE THUNDERSTORMS")
fsummary <- rollup(fsummary, "THUNDERSTORM", "SEVERE THUNDERSTORM")
fsummary <- rollup(fsummary, "THUNDERSTORM", "SEVERE THUNDERSTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND (G45)")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND (G40)")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND G52")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS 13")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS/HAIL")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDSS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORMW")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND (G35)")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND (G40)")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND (G45)")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND/HAIL")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TUNDERSTORM WIND")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND 65)")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND AND LIGHTNING")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND DAMAGE")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND G45")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTMW")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND (G45)")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND (41)")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND 40")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND 45")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND 55")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "TSTM WIND G58")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORMWINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNERSTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTROM WIND")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORMS WIND")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORMS WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDSHAIL")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS53")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS/FUNNEL CLOU")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS/FLOODING")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS/ FLOOD")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS.")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND 60 MPH")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND 65 MPH")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND 65MPH")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND 98 MPH")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND G55")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND G60")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND/ TREE")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND/ TREES")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND/AWNING")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND/HAIL")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUDERSTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDEERSTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERESTORM WINDS")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM DAMAGE TO")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM HAIL")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND TREES")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS 63 MPH")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS AND")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS G60")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS HAIL")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WINDS LIGHTNING")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND.")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "THUNDERSTORM WIND/LIGHTNING")
fsummary <- rollup(fsummary, "THUNDERSTORM WIND", "STORM FORCE WINDS")
fsummary <- rollup(fsummary, "TROPICAL STORM", "TROPICAL STORM GORDON")
fsummary <- rollup(fsummary, "TROPICAL STORM", "TROPICAL STORM ALBERTO")
fsummary <- rollup(fsummary, "TROPICAL STORM", "TROPICAL STORM DEAN")
fsummary <- rollup(fsummary, "TROPICAL STORM", "TROPICAL STORM JERRY")
fsummary <- rollup(fsummary, "TORNADO", "FUNNEL CLOUD")
fsummary <- rollup(fsummary, "TORNADO", "Whirlwind")
fsummary <- rollup(fsummary, "TORNADO", "DUST DEVIL")
fsummary <- rollup(fsummary, "TORNADO", "Dust Devil")
fsummary <- rollup(fsummary, "TORNADO", "TORNADO F2")
fsummary <- rollup(fsummary, "TORNADO", "TORNADO F3")
fsummary <- rollup(fsummary, "TORNADO", "TORNADO F0")
fsummary <- rollup(fsummary, "TORNADO", "TORNADO F1")
fsummary <- rollup(fsummary, "TORNADO", "TORNDAO")
fsummary <- rollup(fsummary, "TORNADO", "TORNADOES")
fsummary <- rollup(fsummary, "TORNADO", "WHIRLWIND")
fsummary <- rollup(fsummary, "WATERSPOUT", "WATERSPOUT TORNADO")
fsummary <- rollup(fsummary, "WATERSPOUT", "WATERSPOUT/TORNADO")
fsummary <- rollup(fsummary, "WATERSPOUT", "WATERSPOUT-")
fsummary <- rollup(fsummary, "WATERSPOUT", "WATERSPOUT-TORNADO")
fsummary <- rollup(fsummary, "WATERSPOUT", "WATERSPOUT/ TORNADO")
fsummary <- rollup(fsummary, "WILDFIRE", "WILD/FOREST FIRE")
fsummary <- rollup(fsummary, "WILDFIRE", "WILD FIRES")
fsummary <- rollup(fsummary, "WILDFIRE", "WILDFIRES")
fsummary <- rollup(fsummary, "WILDFIRE", "WILD/FOREST FIRES")
fsummary <- rollup(fsummary, "WILDFIRE", "BRUSH FIRE")
fsummary <- rollup(fsummary, "WINTER STORM", "WINTER STORM HIGH WINDS")
fsummary <- rollup(fsummary, "WINTER STORM", "WINTER STORMS")
fsummary <- rollup(fsummary, "WINTER STORM", "WINTER WEATHER")
fsummary <- rollup(fsummary, "WINTER STORM", "WINTER WEATHER MIX")
fsummary <- rollup(fsummary, "WINTER STORM", "WINTER WEATHER/MIX")
fsummary <- rollup(fsummary, "WINTER STORM", "WINTRY MIX")
fsummary
}