SWDI
is the Severe Weather Data Inventory. SWDI is an
(quoting)
integrated database of severe weather records for the United States. The records in SWDI come from a variety of sources in the NCDC archive. SWDI provides the ability to search through all of these data to find records covering a particular time period and geographic region, and to download the results of your search in a variety of formats. The formats currently supported are Shapefile (for GIS), KMZ (for Google Earth), CSV (comma-separated), and XML.
Data available in SWDI are:
- Storm Cells from NEXRAD (Level-III Storm Structure Product)
- Hail Signatures from NEXRAD (Level-III Hail Product)
- Mesocyclone Signatures from NEXRAD (Level-III Meso Product)
- Digital Mesocyclone Detection Algorithm from NEXRAD (Level-III MDA Product)
- Tornado Signatures from NEXRAD (Level-III TVS Product)
- Preliminary Local Storm Reports from the NOAA National Weather Service
- Lightning Strikes from Vaisala NLDN
Find out more about SWDI at https://www.ncdc.noaa.gov/ncei-severe-weather-data-inventory
Search for nx3tvs data from 5 May 2006 to 6 May 2006
swdi(dataset='nx3tvs', startdate='20060505', enddate='20060506')
#> $meta
#> $meta$totalCount
#> [1] 25
#>
#> $meta$totalTimeInSeconds
#> [1] 0.015
#>
#>
#> $data
#> ztime wsr_id cell_id cell_type range azimuth max_shear mxdv
#> 1 2006-05-05T00:05:50Z KBMX Q0 TVS 7 217 403 116
#> 2 2006-05-05T00:10:02Z KBMX Q0 TVS 5 208 421 120
#> 3 2006-05-05T00:12:34Z KSJT P2 TVS 49 106 17 52
#> 4 2006-05-05T00:17:31Z KSJT B4 TVS 40 297 25 62
#> 5 2006-05-05T00:29:13Z KMAF H4 TVS 53 333 34 111
#> 6 2006-05-05T00:31:25Z KLBB N0 TVS 51 241 24 78
#> 7 2006-05-05T00:33:25Z KMAF H4 TVS 52 334 46 145
#> 8 2006-05-05T00:37:37Z KMAF H4 TVS 50 334 34 107
#> 9 2006-05-05T00:41:51Z KMAF H4 TVS 51 335 29 91
#> 10 2006-05-05T00:44:33Z KLBB N0 TVS 46 245 35 100
#> 11 2006-05-05T00:46:03Z KMAF H4 TVS 49 335 41 127
#> 12 2006-05-05T00:48:55Z KLBB N0 TVS 44 246 44 121
#> 13 2006-05-05T00:50:16Z KMAF H4 TVS 49 337 33 98
#> 14 2006-05-05T00:54:29Z KMAF H4 TVS 47 337 42 126
#> 15 2006-05-05T00:57:42Z KLBB N0 TVS 41 251 46 117
#> 16 2006-05-05T00:58:41Z KMAF H4 TVS 46 340 29 85
#> 17 2006-05-05T01:02:04Z KLBB N0 TVS 39 251 42 102
#> 18 2006-05-05T01:02:53Z KMAF H4 TVS 46 339 35 101
#> 19 2006-05-05T01:02:53Z KMAF H4 TVS 50 338 27 84
#> 20 2006-05-05T01:06:26Z KLBB N0 TVS 36 251 31 70
#> 21 2006-05-05T01:07:06Z KMAF F5 TVS 45 342 44 120
#> 22 2006-05-05T01:10:48Z KLBB N0 TVS 36 256 37 83
#> 23 2006-05-05T01:11:18Z KMAF F5 TVS 45 343 39 108
#> 24 2006-05-05T01:15:30Z KMAF F5 TVS 44 344 30 78
#> 25 2006-05-05T01:15:30Z KMAF H4 TVS 49 341 26 81
#>
#> $shape
#> shape
#> 1 POINT (-86.8535716274277 33.0786326913943)
#> 2 POINT (-86.8165772540846 33.0982820681588)
#> 3 POINT (-99.5771091971025 31.1421609654838)
#> 4 POINT (-101.188161700093 31.672392833416)
#> 5 POINT (-102.664426480293 32.7306917937698)
#> 6 POINT (-102.70047613441 33.2380072329615)
#> 7 POINT (-102.6393683028 32.7226656893341)
#> 8 POINT (-102.621904684258 32.6927081076156)
#> 9 POINT (-102.614794815627 32.714139844846)
#> 10 POINT (-102.643380529494 33.3266446067682)
#> 11 POINT (-102.597961935071 32.6839260102062)
#> 12 POINT (-102.613894688178 33.3526192273658)
#> 13 POINT (-102.567153417051 32.6956373348052)
#> 14 POINT (-102.551596970251 32.664939580306)
#> 15 POINT (-102.586119971014 33.4287323151248)
#> 16 POINT (-102.499638479193 32.6644438090742)
#> 17 POINT (-102.5485490063 33.4398330734778)
#> 18 POINT (-102.51446954228 32.6597119240996)
#> 19 POINT (-102.559031583693 32.7166090376869)
#> 20 POINT (-102.492174522228 33.4564626989719)
#> 21 POINT (-102.463540844324 32.6573739036181)
#> 22 POINT (-102.510349454162 33.5066366303981)
#> 23 POINT (-102.448763863447 32.6613484943994)
#> 24 POINT (-102.42842159557 32.649061124799)
#> 25 POINT (-102.504158884526 32.7162751126854)
#>
#> attr(,"class")
#> [1] "swdi"
Use an id
out <- swdi(dataset='warn', startdate='20060506', enddate='20060507', id=533623)
list(out$meta, head(out$data), head(out$shape))
#> [[1]]
#> [[1]]$totalCount
#> [1] 25
#>
#> [[1]]$totalTimeInSeconds
#> [1] 0.009
#>
#>
#> [[2]]
#> ztime_start ztime_end id warningtype issuewfo
#> 1 2006-05-05T22:53:00Z 2006-05-06T00:00:00Z 397428 SEVERE THUNDERSTORM KLCH
#> 2 2006-05-05T22:55:00Z 2006-05-06T00:00:00Z 397429 SEVERE THUNDERSTORM KLUB
#> 3 2006-05-05T22:55:00Z 2006-05-06T00:00:00Z 397430 SEVERE THUNDERSTORM KLUB
#> 4 2006-05-05T22:57:00Z 2006-05-06T00:00:00Z 397431 SEVERE THUNDERSTORM KMAF
#> 5 2006-05-05T23:03:00Z 2006-05-06T00:00:00Z 397434 SEVERE THUNDERSTORM KMAF
#> 6 2006-05-05T23:14:00Z 2006-05-06T00:15:00Z 397437 SEVERE THUNDERSTORM KLUB
#> messageid
#> 1 052252
#> 2 052256
#> 3 052256
#> 4 052258
#> 5 052305
#> 6 052315
#>
#> [[3]]
#> shape
#> 1 POLYGON ((-93.27 30.38, -93.29 30.18, -93.02 30.18, -93.04 30.37, -93.27 30.38))
#> 2 POLYGON ((-101.93 34.74, -101.96 34.35, -101.48 34.42, -101.49 34.74, -101.93 34.74))
#> 3 POLYGON ((-100.36 33.03, -99.99 33.3, -99.99 33.39, -100.28 33.39, -100.5 33.18, -100.51 33.02, -100.45 32.97, -100.37 33.03, -100.36 33.03))
#> 4 POLYGON ((-102.8 30.74, -102.78 30.57, -102.15 30.61, -102.15 30.66, -101.92 30.68, -102.07 30.83, -102.8 30.74))
#> 5 POLYGON ((-103.02 32.94, -103.03 32.66, -102.21 32.53, -102.22 32.95, -103.02 32.94))
#> 6 POLYGON ((-101.6 33.32, -101.57 33.31, -101.57 33.51, -101.65 33.51, -101.66 33.5, -101.75 33.5, -101.77 33.49, -101.84 33.49, -101.84 33.32, -101.6 33.32))
Get all ‘plsr’ within the bounding box (-91,30,-90,31)
swdi(dataset='plsr', startdate='20060505', enddate='20060510', bbox=c(-91,30,-90,31))
#> $meta
#> $meta$totalCount
#> [1] 5
#>
#> $meta$totalTimeInSeconds
#> [1] 0
#>
#>
#> $data
#> ztime id event magnitude city county
#> 1 2006-05-09T02:20:00Z 427540 HAIL 1 5 E KENTWOOD TANGIPAHOA
#> 2 2006-05-09T02:40:00Z 427536 HAIL 1 MOUNT HERMAN WASHINGTON
#> 3 2006-05-09T02:40:00Z 427537 TSTM WND DMG -9999 MOUNT HERMAN WASHINGTON
#> 4 2006-05-09T03:00:00Z 427199 HAIL 0 FRANKLINTON WASHINGTON
#> 5 2006-05-09T03:17:00Z 427200 TORNADO -9999 5 S FRANKLINTON WASHINGTON
#> state source
#> 1 LA TRAINED SPOTTER
#> 2 LA TRAINED SPOTTER
#> 3 LA TRAINED SPOTTER
#> 4 LA AMATEUR RADIO
#> 5 LA LAW ENFORCEMENT
#>
#> $shape
#> shape
#> 1 POINT (-90.43 30.93)
#> 2 POINT (-90.3 30.96)
#> 3 POINT (-90.3 30.96)
#> 4 POINT (-90.14 30.85)
#> 5 POINT (-90.14 30.78)
#>
#> attr(,"class")
#> [1] "swdi"
Get all ‘nx3tvs’ within the tile -102.1/32.6 (-102.15,32.55,-102.25,32.65)
swdi(dataset='nx3tvs', startdate='20060506', enddate='20060507', tile=c(-102.12,32.62))
#> $meta
#> $meta$totalCount
#> [1] 5
#>
#> $meta$totalTimeInSeconds
#> [1] 0
#>
#>
#> $data
#> ztime wsr_id cell_id cell_type range azimuth max_shear mxdv
#> 1 2006-05-06T00:41:29Z KMAF D9 TVS 37 6 39 85
#> 2 2006-05-06T03:56:18Z KMAF N4 TVS 39 3 30 73
#> 3 2006-05-06T03:56:18Z KMAF N4 TVS 42 4 20 52
#> 4 2006-05-06T04:00:30Z KMAF N4 TVS 38 5 35 86
#> 5 2006-05-06T04:04:44Z KMAF N4 TVS 41 8 24 62
#>
#> $shape
#> shape
#> 1 POINT (-102.112726356403 32.5574494581267)
#> 2 POINT (-102.14873079873 32.5933553250156)
#> 3 POINT (-102.131167022161 32.6426287452898)
#> 4 POINT (-102.123671677514 32.5751241756203)
#> 5 POINT (-102.076389686189 32.6209390786829)
#>
#> attr(,"class")
#> [1] "swdi"
Counts
Notes:
- stat=‘count’ will only return metadata, nothing in the data or shape slots
- stat=‘tilesum:…’ returns counts in the data slot for each date for that tile, and shape data
- Get number of ‘nx3tvs’ within 15 miles of latitude = 32.7 and longitude = -102.0
Get daily count nx3tvs features on .1 degree grid centered at
latitude = 32.7
and longitude = -102.0
swdi(dataset='nx3tvs', startdate='20060505', enddate='20090516', stat='tilesum:-102.0,32.7')
#> $meta
#> $meta$totalCount
#> [1] 5
#>
#> $meta$totalTimeInSeconds
#> [1] 0
#>
#>
#> $data
#> day centerlat centerlon fcount
#> 1 2007-03-29 32.7 -102 2
#> 2 2007-09-07 32.7 -102 1
#> 3 2008-05-27 32.7 -102 4
#> 4 2008-06-20 32.7 -102 2
#> 5 2009-04-11 32.7 -102 1
#>
#> $shape
#> shape
#> 1 POLYGON ((-102.05 32.65, -102.05 32.75, -101.95 32.75, -101.95 32.65, -102.05 32.65))
#> 2 POLYGON ((-102.05 32.65, -102.05 32.75, -101.95 32.75, -101.95 32.65, -102.05 32.65))
#> 3 POLYGON ((-102.05 32.65, -102.05 32.75, -101.95 32.75, -101.95 32.65, -102.05 32.65))
#> 4 POLYGON ((-102.05 32.65, -102.05 32.75, -101.95 32.75, -101.95 32.65, -102.05 32.65))
#> 5 POLYGON ((-102.05 32.65, -102.05 32.75, -101.95 32.75, -101.95 32.65, -102.05 32.65))
#>
#> attr(,"class")
#> [1] "swdi"
Get data in different formats
CSV format
head(swdi(dataset='nx3tvs', startdate='20060505', enddate='20060506', format='csv')$data)
#> ztime wsr_id cell_id cell_type range azimuth max_shear mxdv
#> 1 2006-05-05T00:05:50Z KBMX Q0 TVS 7 217 403 116
#> 2 2006-05-05T00:10:02Z KBMX Q0 TVS 5 208 421 120
#> 3 2006-05-05T00:12:34Z KSJT P2 TVS 49 106 17 52
#> 4 2006-05-05T00:17:31Z KSJT B4 TVS 40 297 25 62
#> 5 2006-05-05T00:29:13Z KMAF H4 TVS 53 333 34 111
#> 6 2006-05-05T00:31:25Z KLBB N0 TVS 51 241 24 78
#> lat lon
#> 1 33.079 -86.854
#> 2 33.098 -86.817
#> 3 31.142 -99.577
#> 4 31.672 -101.188
#> 5 32.731 -102.664
#> 6 33.238 -102.700
SHP format
swdi(dataset='nx3tvs', startdate='20060505', enddate='20060506', format='shp', filepath='myfile')
#> shp file downloaded to myfile.zip
KMZ format
swdi(dataset='nx3tvs', startdate='20060505', enddate='20060506', format='kmz', radius=15, filepath='myfile.kmz')
#> kmz file downloaded to myfile.kmz