Using the hurricaneexposure package

Brooke Anderson

2017-01-27

Package overview

This package allows users to explore and map data of county-level exposures to Atlantic-basin tropical storms between 1988 and 2015 for a number of storm hazards (e.g., wind, rain, flood events, distance from the storm track) for counties in the eastern half of the United States. Users can map exposures by county for a selected storm and can also identify all storms to which selected counties were exposed, based on user-specified thresholds (for example, the package allows the user to identify all storms that brought wind of 34 knots or higher to Miami-Dade County in Florida).

If you use this package and the data in the associated data package (hurricaneexposuredata) for research, please cite both packages. In particular, be sure to include the version of the packages that you used, as this will make your research project more reproducible, and the data will likely be updated as we get further years of data and find improved ways to measure tropical storm exposure. The two packages can be cited as:

To generate BibTex entries for the packages, you can use the citation function in R.

Required set-up to use this package

This package depends on data in a data package (hurricaneexposuredata) that is available through a drat repository on GitHub. To use the hurricaneexposure package, you will need to install hurricaneexposuredata on your computer. You can do that by adding the drat archive to the list of repositories your system will query when adding and updating R packages. Once you do this, you can install the hurricaneexposuredata using the install.packages function (and later update it using the update.packages function):

library(drat)
addRepo("geanders")
install.packages("hurricaneexposuredata")

The hurricaneexposuredata data package includes data that characterizes county-level exposure to tropical storms in counties in the eastern half of the United States between 1988 and 2015 (for some hazards, exposure data is only included for a subset of these years). Tropical storms that did not pass within at least 250 km of at least one US county were excluded from these datasets. The following datasets are included with the hurricaneexposuredata data package:

Once you’ve installed and loaded hurricaneexposuredata, you can load the included data using the data function. For example, you can access the data on hurricane tracks (hurr_tracks) using:

library(hurricaneexposuredata)
data("hurr_tracks")
head(hurr_tracks)
##       storm_id         date latitude longitude wind
## 1 Alberto-1988 198808051800     32.0     -77.5   20
## 2 Alberto-1988 198808060000     32.8     -76.2   20
## 3 Alberto-1988 198808060600     34.0     -75.2   20
## 4 Alberto-1988 198808061200     35.2     -74.6   25
## 5 Alberto-1988 198808061800     37.0     -73.5   25
## 6 Alberto-1988 198808070000     38.7     -72.4   25

For each dataset included in hurricaneexposuredata, you can see the helpfiles for the data for more information (e.g., ?hurr_tracks to read documentation on the hurricane tracks data shown above). This data documentation includes both explanations of how the dataset was created, definitions of the variables included in each dataset, and the sources of data included.

The following table shows the storms covered by the hurricaneexposuredata data package, as well as which hazard metrics are available for each year. All storms passed within 250 km of at least one U.S. county.

Year Storms Distance Wind Rain Flood Tornado
1988 Alberto, Beryl, Chris, Florence, Gilbert, Keith x x x x
1989 Allison, Chantal, Hugo, Jerry x x x x
1990 Bertha, Marco x x x x
1991 Ana, Bob, Fabian, Notnamed x x x x
1992 Andrew, Danielle, Earl x x x x
1993 Arlene, Emily x x x x
1994 Alberto, Beryl, Gordon x x x x
1995 Allison, Dean, Erin, Gabrielle, Jerry, Opal x x x x
1996 Arthur, Bertha, Edouard, Fran, Josephine x x x x x
1997 Subtrop, Ana, Danny x x x x x
1998 Bonnie, Charley, Earl, Frances, Georges, Hermine, Mitch x x x x x
1999 Bret, Dennis, Floyd, Harvey, Irene x x x x x
2000 Beryl, Gordon, Helene, Leslie x x x x x
2001 Allison, Barry, Gabrielle, Michelle x x x x x
2002 Arthur, Bertha, Cristobal, Edouard, Fay, Gustav, Hanna, Isidore, Kyle, Lili x x x x x
2003 Bill, Claudette, Erika, Grace, Henri, Isabel x x x x x
2004 Alex, Bonnie, Charley, Frances, Gaston, Hermine, Ivan, Jeanne, Matthew x x x x x
2005 Arlene, Cindy, Dennis, Emily, Katrina, Ophelia, Rita, Tammy, Wilma x x x x x
2006 Alberto, Beryl, Chris, Ernesto x x x x x
2007 Andrea, Barry, Erin, Gabrielle, Humberto, Noel x x x x x
2008 Cristobal, Dolly, Edouard, Fay, Gustav, Hanna, Ike, Kyle, Paloma x x x x x
2009 Claudette, Ida x x x x x
2010 Alex, Bonnie, Earl, Hermine, Nicole, Paula x x x x x
2011 Bret, Don, Emily, Irene, Lee x x x x x
2012 Alberto, Beryl, Debby, Isaac, Sandy x x x x
2013 Andrea, Dorian, Karen x x x x
2014 Arthur x x x x
2015 Ana, Bill, Claudette x x x x

In functions throughout the hurricaneexposure package, storms are identified based on their name and year (e.g., Hurricane Floyd in 1999 is identified as “Floyd-1999”). Note that a few storms satisfied the criteria to be included in the data but were unnamed (e.g., “Notnamed” in 1991, “Subtrop” in 1997, etc.). These storms are identified in functions in the hurricaneexposure package based on the identifying name listed in the above table (e.g., “Notnamed-1991”), although for some research projects you may want to consider excluding these unnamed storms from the analysis.

Mapping hurricane exposure

The hurricaneexposure package has functions to interact with the data in the hurricaneexposuredata package. First, there are functions that can be used to create some different maps of hurricane exposures based on distance to the storm track and rainfall.

Plotting county-level continuous exposure

For several of the storm hazard measurements (currently rain, wind, and distance), you can use the map_counties function in hurricaneexposure to plot a map for a specific storm showing the continuous value of that metric for all eastern U.S. counties. For example, you can map county-level rain during Hurricane Floyd (1999) using the following call:

map_counties(storm = "Floyd-1999", metric = "rainfall")

By default, this map shows the cumulative rain in each county for two days before to one day after the date that the storm passed closest to the county (see the help file for the closest_dist dataset in hurricaneexposuredata to find out more about how this date of closest approach was determined for each county-storm combination). The period used to calculate cumulative rainfall for the map can be customized using the days_included option in the map_counties function. The two following examples show the difference in rain maps for Tropical Storm Allison (2001) when using rain only from the day before and the day the storm was closest to each county (days_included = -1:0) versus from five days before to three days after the storm’s closest approach (days_included = -5:3):

map_counties(storm = "Allison-2001", metric = "rainfall", days_included = -1:0) + 
        ggplot2::ggtitle("Rain during Allison (2001) for day before and day of closest approach")

map_counties(storm = "Allison-2001", metric = "rainfall", days_included = -5:3) + 
        ggplot2::ggtitle("Rain during Allison (2001) for five days before to three days\nafter the day of closest approach")

You can also use the map_counties function to plot the maximum wind during the storm for each county. For this, you use the argument metric = "wind". For example, you can plot county-specific storm winds during Hurricane Katrina (2005) with the call:

map_counties(storm = "Katrina-2005", metric = "wind")

These county winds are determined based on a model of wind speeds, using as input data from the hurricane tracks data. See the documentation for the storm_winds dataset (?storm_winds) to find out more about this data; further details on the wind model are available in the vignettes for the stormwindmodel package.

You can map a few other variables of wind with this function. For example, you can map the duration of winds of 20 m / s or more by using the argument wind_var = "sust_dur":

map_counties("Katrina-2005", metric = "wind", wind_var = "sust_dur")

You can map estimated gust winds, rather than sustained winds (the default), using the argument wind_var = "vmax_gust". Further, we have included a second source of estimated winds in the data available in hurricaneexposuredata. These wind estimates are based on the wind radii in the Extended Best Tracks dataset (you can find out more about this data in the helpfile for the ext_tracks_wind dataset). These data provide estimates of which counties were exposured during a storm to sustained winds in four categories: 0–34 knots; 34–50 knots; 50–64 knots; and 64 knots or higher. Therefore, these data provide a categorical rather than continuous estimate of county wind speeds. However, they may be preferable to the model wind speeds for some storms, especially storms in extra-tropical transition. Further, you may find it interesting to use these data in a sensitivity analysis, to compare if impact study results are sensitive to whether these wind data or the modeled wind data are used for exposure classification. You can create a wind map based on this data using the wind_source = "ext_tracks" argument in the map_counties function. For example, to map estimated winds during Hurricane Katrina based on the Extended Best Tracks wind radii, you can run:

map_counties("Katrina-2005", metric = "wind", wind_source = "ext_tracks")

Finally, you can also use the map_counties function to plot the closest distance between the storm and each county. For this, you use the argument metric = "distance". For example, the following call plots county-level distances from the track of Hurricane Sandy (2012):

map_counties(storm = "Sandy-2012", metric = "distance")