An ASP.NET Core MVC app that parses NOAA's HURDAT2 hurricane best-track dataset and reports on hurricane landfalls in Florida.
The dataset is available from the NOAA, as the Atlantic Hurricane Database.
The specification for the dataset can be found here.
If the above link is dead, you can find it on the Hurricane Database - Reanalysis Project.
-
The
HurricaneDataParserServicefirst handles the provided dataset, the Atlantic Hurricane Database in HURDAT2, to map it into a list of objects we can use. The setup of the file is similar to a csv file so we read the header line of each storm stored to drive the parsing. This leads us to mapping the data to an object ofStormDatawith the specific events from each storm stored asStormEvent. -
The
HurricaneDataProcessServicehandles the mapped objects after parsing the data. Here is when we start filtering the list of storms for what we're looking for. -
The
HomeControllerdrives the build and routing of the report, with the data coming from the classes in the first two classes and the view model for the report view being built within the controller. The controller filters for Storms with landfall events dating from 1900, grabs the storms that have been a hurricane in its lifetime, and then looks for landfall events that are within the bounds of Florida.
Note: The bounds for finding contact with Florida is found through coordinates found on wikipedia
Note2: There's a second reporting page that's using the "landfall" indicator of the HURDAT2 data, which serves as a sanity/ballpark check for the values for the main report.
Requires .NET 8 .
Visual Studio
-
Clone the repo
-
Open the .sln file in Visual Studio
-
Hit the run button.
-
The app should open in your browser, with a url of localhost:xxxx Note: If it doesn't open, check the command prompt that opens up and visit the url it's currently listening on there.
-
Hit 'View Report' on the main page to view the report.