Skip to content

Commit

Permalink
Merge pull request #76 from mandli/add-hugo
Browse files Browse the repository at this point in the history
Add Hurricane Hugo
  • Loading branch information
mandli authored May 24, 2024
2 parents 9ab100a + d963da1 commit 041549b
Show file tree
Hide file tree
Showing 8 changed files with 1,180 additions and 0 deletions.
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# MacOS
.DS_store

# Bathymetry
*.tt3
*.xyz
Expand All @@ -9,6 +12,7 @@
*.lo
*.o
*.obj
__pycache__

# Precompiled Headers
*.gch
Expand All @@ -32,3 +36,14 @@
*.exe
*.out
*.app

# Clawpack
*.data
*.storm
pyclaw.log
.output
.plots
.data
_output
_plots
xgeoclaw
62 changes: 62 additions & 0 deletions hugo_1989/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@

# Makefile for Clawpack code in this directory.
# This version only sets the local files and frequently changed
# options, and then includes the standard makefile pointed to by CLAWMAKE.
CLAWMAKE = $(CLAW)/clawutil/src/Makefile.common

# See the above file for details and a list of make options, or type
# make .help
# at the unix prompt.


# Adjust these variables if desired:
# ----------------------------------

CLAW_PKG = geoclaw # Clawpack package to use
EXE = xgeoclaw # Executable to create
SETRUN_FILE = setrun.py # File containing function to make data
OUTDIR = _output # Directory for output
SETPLOT_FILE = setplot.py # File containing function to set plots
PLOTDIR = _plots # Directory for plots

# Environment variable FC should be set to fortran compiler, e.g. gfortran
# FFLAGS ?=
# FFLAGS = -w -fallow-argument-mismatch -O2
# FFLAGS += -DNETCDF -I$(NETCDF4_DIR)/include -L$(NETCDF4_DIR)/lib -lnetcdff -lnetcdf
# LFLAGS += $(FFLAGS) -L$(NETCDF4_DIR)/lib

# ---------------------------------
# package sources for this program:
# ---------------------------------

GEOLIB = $(CLAW)/geoclaw/src/2d/shallow
include $(GEOLIB)/Makefile.geoclaw

# ---------------------------------------
# package sources specifically to exclude
# (i.e. if a custom replacement source
# under a different name is provided)
# ---------------------------------------

EXCLUDE_MODULES = \

EXCLUDE_SOURCES = \

# ----------------------------------------
# List of custom sources for this program:
# ----------------------------------------

RIEMANN = $(CLAW)/riemann/src

MODULES = \

SOURCES = \
$(RIEMANN)/rpn2_geoclaw.f \
$(RIEMANN)/rpt2_geoclaw.f \
$(RIEMANN)/geoclaw_riemann_utils.f \

#-------------------------------------------------------------------
# Include Makefile containing standard definitions and make options:
include $(CLAWMAKE)

### DO NOT remove this line - make depends on it ###
102 changes: 102 additions & 0 deletions hugo_1989/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Hurricane Hugo Validation Study

## Introduction

Hurricane Hugo was a category 5 storm that developed in the Atlantic during the
1989 season. It traveled west to the Caribbean, hitting Puerto Rico and
surrounding islands September 18, 1989. At 4:00 UTC (or midnight EST) on
September 22, 1989, Hurricane Hugo made its final landfall as a category 4
hurricane in Sullivan’s Island, SC, a barrier island just north of Charleston.
The storm’s winds reached 140 mph and a minimum central pressure of 27.58
inches Hg. This caused tremendous damage along the South Carolina coast and
surrounding areas, making Hugo the costliest U.S. storm with damages totaling
$7 billion. There were 49 deaths related to the storm. Hurricane Hugo produced
the highest storm tide heights on the American East Coast in recorded history.

Source: https://www.weather.gov/chs/HurricaneHugo-Sep1989

## Storm Data

Data to run the simulation was retrieved from NOAA’s storm data archive:
http://ftp.nhc.noaa.gov/atcf/archive/2017/bal111989.dat.gz

As this hurricane occurred in 1989, there are missing pieces of data necessary
for this simulation that were not recorded in the storm data file. This missing
data was extracted using a separate Python script containing functions that
relate known data to these unknowns.

## Topography/Bathymetry Data

A topography data file for the entire Atlantic was used for this simulation. It
is recommended that you fetch a topography file that covers the computational
domain from GEBCO to your desired resolution.

Domain - (90 W, 60 W) Longitude
(15 N, 40 N) Latitude

Source: https://download.gebco.net/

## Geoclaw setup
* Landfall: September 22, 1989 4:00 UTC
* Maximum levels of refinement: 4

Extra refinement was added around the gauges to account for detailed topography along the coast.
* Gauge 1: min 4, max 6
* Gauge 2: min 8, max 8
* Gauge 3: min 4, max 6

## Comparison Data

Water levels from three gauges in the area of Hurricane Hugo’s impact were
compared to the simulation’s results. Gauge data was taken from the NOAA
inundations dashboard: https://tidesandcurrents.noaa.gov/inundationdb/

The data had to be manually downloaded from the dashboard and uploaded into the
script due to its age. The folder titled ‘gauges’ houses data for the three
gauges, under their NOAA IDs.

Gauge 1: Charleston, SC
* NOAA ID: 8665530
* Location: -79.92351, 32.7806818
* Max Surge: ~3m

Gauge 2: Wilmington, NC
* NOAA ID: 8658120
* Location: -77.9534709, 34.2274321
* Max Surge: ~1m

Gauge 3: Duke Marine Lab, NC
* NOAA ID: 8656483
* Location: -76.6699314, 34.7200556
* Max Surge: ~1m

## Results

The simulation returns data for gauges 1 and 3. The general timing and height of
the surge match for these gauges. The model predicts the surge occurring a bit
before the actual surge both times, but this is likely due to estimations in
the landfall time rather than a modeling error. There is insufficient
refinement for gauge 2. This gauge is located deep into the Cape Fear River, so
higher refinement levels are necessary for the model to accurately estimate
this detailed topography.

There were simplifications taken in extracting the missing storm data, but they
did not significantly affect accuracy. Added extra refinement around the gauges
worked 2 of out 3 times without a loss of efficiency.

## Conclusion

The model ran using estimations of missing data without significant loss of
accuracy. The model was able to refine areas with detailed topography while
maintaining efficiency to an extent.

## Future Work

Next steps include running the simulation with higher refinement levels and
modifying the model to account for river topography. The estimation of missing
storm data can be extended to create fully synthetic storms. We can use these
storms to model effects due to climate change by running them through this
software.

This study was completed by Riley Fisher as a part of the Columbia-Amazon Summer
Undergraduate Research Experience (2022).
74 changes: 74 additions & 0 deletions hugo_1989/gauges/8656483_data.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
Date,Time (GMT),Predicted (m),Verified (m),Preliminary (m),Forecast Guidance(m)
1989/09/20,04:00,1.617,1.615,-,-
1989/09/20,05:00,1.527,1.515,-,-
1989/09/20,06:00,1.312,1.32,-,-
1989/09/20,07:00,1.058,1.152,-,-
1989/09/20,08:00,0.834,0.939,-,-
1989/09/20,09:00,0.679,0.759,-,-
1989/09/20,10:00,0.631,0.71,-,-
1989/09/20,11:00,0.715,0.741,-,-
1989/09/20,12:00,0.915,0.92,-,-
1989/09/20,13:00,1.184,1.116,-,-
1989/09/20,14:00,1.463,1.369,-,-
1989/09/20,15:00,1.693,1.597,-,-
1989/09/20,16:00,1.832,1.734,-,-
1989/09/20,17:00,1.838,1.728,-,-
1989/09/20,18:00,1.699,1.591,-,-
1989/09/20,19:00,1.474,1.372,-,-
1989/09/20,20:00,1.237,1.158,-,-
1989/09/20,21:00,1.02,0.945,-,-
1989/09/20,22:00,0.854,0.814,-,-
1989/09/20,23:00,0.784,0.771,-,-
1989/09/21,00:00,0.83,0.786,-,-
1989/09/21,01:00,0.976,0.908,-,-
1989/09/21,02:00,1.178,1.094,-,-
1989/09/21,03:00,1.378,1.308,-,-
1989/09/21,04:00,1.523,1.466,-,-
1989/09/21,05:00,1.565,1.497,-,-
1989/09/21,06:00,1.469,1.381,-,-
1989/09/21,07:00,1.271,1.192,-,-
1989/09/21,08:00,1.055,1.018,-,-
1989/09/21,09:00,0.868,0.856,-,-
1989/09/21,10:00,0.732,0.725,-,-
1989/09/21,11:00,0.686,0.686,-,-
1989/09/21,12:00,0.757,0.756,-,-
1989/09/21,13:00,0.935,0.914,-,-
1989/09/21,14:00,1.181,1.134,-,-
1989/09/21,15:00,1.439,1.372,-,-
1989/09/21,16:00,1.654,1.57,-,-
1989/09/21,17:00,1.783,1.713,-,-
1989/09/21,18:00,1.783,1.728,-,-
1989/09/21,19:00,1.657,1.643,-,-
1989/09/21,20:00,1.468,1.478,-,-
1989/09/21,21:00,1.269,1.326,-,-
1989/09/21,22:00,1.071,1.219,-,-
1989/09/21,23:00,0.905,1.131,-,-
1989/09/22,00:00,0.825,1.076,-,-
1989/09/22,01:00,0.854,1.097,-,-
1989/09/22,02:00,0.982,1.219,-,-
1989/09/22,03:00,1.168,1.42,-,-
1989/09/22,04:00,1.355,1.625,-,-
1989/09/22,05:00,1.49,1.75,-,-
1989/09/22,06:00,1.524,1.792,-,-
1989/09/22,07:00,1.434,1.74,-,-
1989/09/22,08:00,1.265,1.551,-,-
1989/09/22,09:00,1.085,1.359,-,-
1989/09/22,10:00,0.919,1.186,-,-
1989/09/22,11:00,0.783,0.969,-,-
1989/09/22,12:00,0.727,0.96,-,-
1989/09/22,13:00,0.781,1.03,-,-
1989/09/22,14:00,0.94,1.061,-,-
1989/09/22,15:00,1.168,1.122,-,-
1989/09/22,16:00,1.409,1.314,-,-
1989/09/22,17:00,1.611,1.533,-,-
1989/09/22,18:00,1.729,1.713,-,-
1989/09/22,19:00,1.732,1.622,-,-
1989/09/22,20:00,1.63,1.558,-,-
1989/09/22,21:00,1.476,1.411,-,-
1989/09/22,22:00,1.299,1.225,-,-
1989/09/22,23:00,1.103,1.018,-,-
1989/09/23,00:00,0.931,0.911,-,-
1989/09/23,01:00,0.842,0.878,-,-
1989/09/23,02:00,0.862,0.835,-,-
1989/09/23,03:00,0.983,0.863,-,-
1989/09/23,04:00,1.162,1.049,-,-
74 changes: 74 additions & 0 deletions hugo_1989/gauges/8658120_data.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
Date,Time (GMT),Predicted (m),Verified (m),Preliminary (m),Forecast Guidance(m)
1989/09/20,04:00,1.915,1.792,-,-
1989/09/20,05:00,2.059,1.963,-,-
1989/09/20,06:00,2.095,2.015,-,-
1989/09/20,07:00,1.987,1.932,-,-
1989/09/20,08:00,1.741,1.689,-,-
1989/09/20,09:00,1.438,1.399,-,-
1989/09/20,10:00,1.152,1.155,-,-
1989/09/20,11:00,0.922,0.942,-,-
1989/09/20,12:00,0.78,0.796,-,-
1989/09/20,13:00,0.816,0.747,-,-
1989/09/20,14:00,1.115,1.094,-,-
1989/09/20,15:00,1.569,1.551,-,-
1989/09/20,16:00,1.943,1.881,-,-
1989/09/20,17:00,2.155,2.085,-,-
1989/09/20,18:00,2.26,2.222,-,-
1989/09/20,19:00,2.255,2.252,-,-
1989/09/20,20:00,2.113,2.088,-,-
1989/09/20,21:00,1.877,1.798,-,-
1989/09/20,22:00,1.61,1.524,-,-
1989/09/20,23:00,1.344,1.289,-,-
1989/09/21,00:00,1.093,1.079,-,-
1989/09/21,01:00,0.924,0.911,-,-
1989/09/21,02:00,0.973,0.896,-,-
1989/09/21,03:00,1.266,1.219,-,-
1989/09/21,04:00,1.617,1.6,-,-
1989/09/21,05:00,1.861,1.844,-,-
1989/09/21,06:00,2,1.987,-,-
1989/09/21,07:00,2.041,2.024,-,-
1989/09/21,08:00,1.931,1.917,-,-
1989/09/21,09:00,1.689,1.661,-,-
1989/09/21,10:00,1.403,1.387,-,-
1989/09/21,11:00,1.147,1.152,-,-
1989/09/21,12:00,0.946,0.96,-,-
1989/09/21,13:00,0.824,0.823,-,-
1989/09/21,14:00,0.87,0.844,-,-
1989/09/21,15:00,1.159,1.164,-,-
1989/09/21,16:00,1.57,1.527,-,-
1989/09/21,17:00,1.897,1.798,-,-
1989/09/21,18:00,2.094,1.987,-,-
1989/09/21,19:00,2.208,2.109,-,-
1989/09/21,20:00,2.21,2.118,-,-
1989/09/21,21:00,2.074,2.012,-,-
1989/09/21,22:00,1.854,1.814,-,-
1989/09/21,23:00,1.612,1.6,-,-
1989/09/22,00:00,1.369,1.433,-,-
1989/09/22,01:00,1.126,1.234,-,-
1989/09/22,02:00,0.957,1.143,-,-
1989/09/22,03:00,1.001,1.28,-,-
1989/09/22,04:00,1.27,1.737,-,-
1989/09/22,05:00,1.581,2.103,-,-
1989/09/22,06:00,1.808,2.362,-,-
1989/09/22,07:00,1.957,2.56,-,-
1989/09/22,08:00,2.007,2.667,-,-
1989/09/22,09:00,1.897,2.667,-,-
1989/09/22,10:00,1.662,2.423,-,-
1989/09/22,11:00,1.398,2.118,-,-
1989/09/22,12:00,1.17,1.875,-,-
1989/09/22,13:00,0.985,1.731,-,-
1989/09/22,14:00,0.863,1.597,-,-
1989/09/22,15:00,0.903,1.46,-,-
1989/09/22,16:00,1.173,1.396,-,-
1989/09/22,17:00,1.546,1.64,-,-
1989/09/22,18:00,1.841,1.945,-,-
1989/09/22,19:00,2.04,2.07,-,-
1989/09/22,20:00,2.168,2.213,-,-
1989/09/22,21:00,2.175,2.277,-,-
1989/09/22,22:00,2.043,2.185,-,-
1989/09/22,23:00,1.839,1.926,-,-
1989/09/23,00:00,1.619,1.658,-,-
1989/09/23,01:00,1.388,1.445,-,-
1989/09/23,02:00,1.14,1.262,-,-
1989/09/23,03:00,0.961,1.097,-,-
1989/09/23,04:00,1,1.039,-,-
Loading

0 comments on commit 041549b

Please sign in to comment.