From 638ed6cb72aacb153ce45ee0804309e3565cf8d8 Mon Sep 17 00:00:00 2001 From: MaxPaiPai Date: Tue, 19 Jul 2022 17:17:00 -0400 Subject: [PATCH 1/4] Add a detailed storm surge guide --- .DS_Store | Bin 0 -> 8196 bytes quick_surge.html | 258 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 .DS_Store create mode 100644 quick_surge.html diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..090cb62b65ff3c56f43e63e7db0ac91772ac0a66 GIT binary patch literal 8196 zcmeHMO-~a+7=8y3wt})~Q6!pd?8QWbs7PXraVenU7f6XhQ0sO(w5!WZv%64{ko2sH zKfr@0wte)PyhpHPTCdJsp31926a(kNgQ*sg#$ySGCTIQUax)A@Z2 zTZVqfBxyRTP>n14l)qW1gh8AP4}T~$9Y(& z+g{;rK&yE>JLcm+tHDKXiDY|H$Cr(Y$@I;Q3EVk(lQ=4|$XgSLl4;bCwI9(fNcv zO@xuR546P1(&EEkuDP`e#-x8aWM5Y!O4(v53X0Q9OEFF68|;O=-5dK655pNA2T8!$ z!u=Q}o=WKQ6kFmr;ws8JT@g+3T^hxR+c@(JUKDw(M6+uTLa#u>X_n{D74*m%l0zGww{?IH3$1GRgqRxNojV+e+768p#~vjHXf<_lEXZa1zGg zI^>`XRd@-n;4N&zd-w!j;2Y^6hsbeql8lf`~#z#;1=Q#EJLw{@x6u7gY%7H4H)>4S3g + + + + + Quick start guide for storm surge modeling — Clawpack 5.8.x documentation + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + +
+
+
+
+ +
+

Quick start guide for storm surge modeling

+

See also this youtube video +and the related materials from the 2020 GeoClaw Developers Workshop.

+

To get started with a storm surge computation it is best to refer to a previous +working example. For example, you might start with +$CLAW/geoclaw/examples/storm-surge/ike. There are also a number of additional +examples in the $CLAW/geoclaw/examples/storm-surge directory as well as some +in the $CLAW/apps/surge-examples directory (this is actually a repository of +examples that is actively updated). The primary input that one needs to provide +for a new example usually involves two data source

+
+
    +
  • Topography data: Data that specifies the topography and bathymetry of the +region around the area of interest. For storm surge computations it is +generally good practice to include entire oceanic basins so that you can +ensure that flow into and out of the basin is resolved by the computation +and is sufficiently distant from the computational domain’s boundaries.

  • +
  • Storm data: Of course we need to specify the particular storm that you +are interested in. There are a number of ways to specify a storm which +are described in Storm Specification Data. Sources for parameterized storms +can also be found in Sources for Storm Surge Data and a description of how to include +them in _surge_module.

  • +
+
+

Here we will concentrate on changing the Hurricane Ike (2018) example into one for +Hurricane Elsa (2021).

+
    +
  1. First copy the files (setrun.py, setplot.py, makefile) located in the Hurricane Ike directorty located at +$CLAW/geoclaw/examples/storm-surge/ike.

  2. Note: if reader has not yet set up environment +variable CLAW, please refer to this page: Setting Environment Variable +
  3. Next let’s find some better topography for the west coast Florida area. There are several places where we can get topography/bathymetry data, for + example Global Multi-Resolution Topography Data Synthesis, + Global Digital Elevation Model, + National Center for Environmental Information, + and The General Bathymetry Chart of the Oceans. + Here we will use the data from the last one which is the GEBCO to retrive and download the topography and bathymetry data for hurricane Elsa. Theoretically, we + can select the region as big as possible. However, the bigger the region, the more computational complexity it will be for GeoClaw simulation. So for hurricane Elsa, + we only use the gulf of Mexico region so that it can include the region days before Elsa's landfall and the region days after the landfall. (How to specify how many + days before and after will be discussed in later steps below.) After downloading the grid format of the topography data, we may want to store it on cloud like google drive, + dropbox, or your personal website so that people in the future can have access to this topography data file. +

  4. +
  5. Now let’s find a storm specification for Hurricane Elsa. Several data resouces are available: Automated Tropical Cyclone Forecasting System, + Atlantic Oceanographic and Meteorological Laboratory, + NOAA Rapid Update Cycle, + National Center for Environmental Information, + Naval Meteorology and Oceanography Command, + Coastal Hazards System. + In this example we will use the ATCF database. For Hurricane Elsa this ends up being +the file located here.

  6. +How to find a storm specific data using ATCF database for your storm? Go to ATCF Archive. Then +search for you storm number. In this example, storm number for Hurricane Elsa is AL052021. Therefore, the storm data corresponds to Hurricane Elsa will simply +be bal052021.dat in year 2021. +
  7. Now we have our topography data and storm specific data ready. Next, we need to modify the setrun.py to use + our new storm specific data and topography data we just added. First, modify the + computational domain so that it matches or contains in the region of the topography data. + Then change t0, tfinal, and time_offset + to Elsa's landfall time and time period before and after landfall we want to simulate. + Last but not least, change locations of retrieving topography and storm data file in topography data and + surge data sections. +

  8. +
  9. We also need to modify the plotting in setplot.py. + First, we may want to change upper and lower limits for surface levels, wind speeds, + pressure, and friction to best represent our storm. For example, Elsa is a category 1 hurricane which is + not very strong. Therefore, we changed the surface levels to [-1, 1] so that + visualization from plots will be more evident. In the plot specifications section, we can add + zoom in regions. For Elsa, three more regions other than the computational domain are added. We may + also alter the legends, labels, colors of plots, and so on. +

  10. +
  11. Gauges are key for validation study. We want to know how good GeoClaw's simulation is + comparing to observed currents and tides data. Guage information and location + can be found here at NOAA Tides & Currents. + In setrun.py, add gauge locations using rundata.gaugedata.gauges.append() method. + Accordingly in setplot.py, modify parameters of geoclaw.util.fetch_noaa_tide_data() method + so that observed data from guages will be fetched and plotted along with simulation. +

  12. +
  13. Sometimes, plots will not look correct even though we inputed the exactly precise locations of guages. One highly possible reason for that + is our region is not resolved enough. Consequently, GeoClaw might recognize topography of locations wrongly. To solve this problem, we will + use the AMRClaw algorithm to furthur + refine regions. For this example, Tampa Bay area was not recognized by GeoClaw until 6 levels of refinement was implemented. +

  14. +
  15. Finally we are ready to run the simulation. Make sure all files (setrun.py, setplot.py, makefile) are in the correct directory, + then $ cd DirectoryPath to the working directory. In that working directory, we can either use $ make all or $ make .plots + to execute. If errors are encountered, we can follow the sequence of $ make .exe, $ make .data, $ make .output, and + $ make .plots to debug. To eliminate all executable files and restart, we can use $ make clean.

  16. + Once the simulation runs successfully, we can see the result at DirectoryPath/_plots/_PlotIndex.html. +
+
+
+ For a more detailed, step-by-step guide to storm surge simulations/validations, please find the jupyter notebook setup.ipynb at this github repository. +
+
+ +
+
+ + + + + \ No newline at end of file From 518a5a475d9b579ace3225e37869ca52d6a83248 Mon Sep 17 00:00:00 2001 From: MaxPaiPai Date: Mon, 25 Jul 2022 00:39:24 -0400 Subject: [PATCH 2/4] updated quick_surge.rst --- .DS_Store | Bin 8196 -> 0 bytes doc/quick_surge.rst | 74 ++++++++++--- quick_surge.html | 258 -------------------------------------------- 3 files changed, 58 insertions(+), 274 deletions(-) delete mode 100644 .DS_Store delete mode 100644 quick_surge.html diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 090cb62b65ff3c56f43e63e7db0ac91772ac0a66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMO-~a+7=8y3wt})~Q6!pd?8QWbs7PXraVenU7f6XhQ0sO(w5!WZv%64{ko2sH zKfr@0wte)PyhpHPTCdJsp31926a(kNgQ*sg#$ySGCTIQUax)A@Z2 zTZVqfBxyRTP>n14l)qW1gh8AP4}T~$9Y(& z+g{;rK&yE>JLcm+tHDKXiDY|H$Cr(Y$@I;Q3EVk(lQ=4|$XgSLl4;bCwI9(fNcv zO@xuR546P1(&EEkuDP`e#-x8aWM5Y!O4(v53X0Q9OEFF68|;O=-5dK655pNA2T8!$ z!u=Q}o=WKQ6kFmr;ws8JT@g+3T^hxR+c@(JUKDw(M6+uTLa#u>X_n{D74*m%l0zGww{?IH3$1GRgqRxNojV+e+768p#~vjHXf<_lEXZa1zGg zI^>`XRd@-n;4N&zd-w!j;2Y^6hsbeql8lf`~#z#;1=Q#EJLw{@x6u7gY%7H4H)>4S3g`. Note: if reader has not yet set up environment + variable `CLAW`, please refer to this page: `Setting Environment Variable `__. -1. First copy the files located in the Hurricane Ike directorty located at - `$CLAW/geoclaw/examples/storm-surge/ike`. +2. Next let’s find some better topography for the west coast Florida area. There are several places where we can get topography/bathymetry data, for + example `Global Multi-Resolution Topography Data Synthesis `__, + `Global Digital Elevation Model `__, + `National Center for Environmental Information `__, + and `The General Bathymetry Chart of the Oceans `__. + Here we will use the data from the last one which is the GEBCO to retrive and download the topography and bathymetry data for hurricane Elsa. Theoretically, we + can select the region as big as possible. However, the bigger the region, the more time it will take for GeoClaw simulation to run. So for hurricane Elsa, + we only use the gulf of Mexico region so that it can include the region days before Elsa's landfall and the region days after the landfall. (How to specify how many + days before and after will be discussed in later steps below.) After downloading the grid format of the topography data, we may want to store it on cloud like google drive, + dropbox, or your personal website so that people in the future can have access to this topography data file. -2. Next let's find some better topography for the New Orleans area... +3. Now let’s find a storm specification for Hurricane Elsa. Several data resouces are available: `Automated Tropical Cyclone Forecasting System `__, + `Atlantic Oceanographic and Meteorological Laboratory `__, + `NOAA Rapid Update Cycle `__, + `National Center for Environmental Information `__, + `Naval Meteorology and Oceanography Command `__, + `Coastal Hazards System `__. + In this example we will use the ATCF database. For Hurricane Elsa, this ends up being + the file located `here `__. + How to find a storm specific data using ATCF database for your storm? Go to `ATCF Archive `__. Then + search for you storm number. In this example, storm number for Hurricane Elsa is `AL052021`. Therefore, the storm data corresponds to Hurricane Elsa will simply + be `bal052021.dat` in year 2021. -3. Now let's find a storm specification for Hurricane Katrina. In this - example we will use the ATCF database. For Katrina this ends up being - the file located `here <>`_. +4. Now we have our topography data and storm specific data ready. Next, we need to modify the `setrun.py` to use + our new storm specific data and topography data we just added. First, modify the + computational domain so that it matches or is contained in the region of the topography data. + Then change :code:`t0`, :code:`tfinal`, and :code:`time_offset` + to Elsa's landfall time and time period before and after landfall we want to simulate. + Last but not least, change locations of retrieving topography and storm data file in topography data and + surge data sections. -4. We now need to modify the `setrun.py` to use our new storm format and - topography we now added... +5. We also need to modify the plotting in `setplot.py`. + First, we may want to change upper and lower limits for surface levels, wind speeds, + pressure, and friction to best represent our storm. For example, Elsa is a category 1 hurricane which is + not very strong. Therefore, we changed the surface levels to :code:`[-1, 1]` so that + visualization from plots will be more evident. In the plot specifications section, we can add + zoom-in regions. For Elsa, three more regions other than the computational domain are added. We may + also alter the legends, labels, colors of plots, and so on. -5. Finally we need to also modify the plotting so that we have an +6. Gauges are key for validation study. We want to know how good GeoClaw's simulation is + comparing to observed currents and tides data. Gauge information and location + can be found here at `NOAA Tides & Currents `__. + In `setrun.py`, add gauge locations using the :code:`rundata.gaugedata.gauges.append()` method. + Accordingly in `setplot.py`, modify parameters of the :code:`geoclaw.util.fetch_noaa_tide_data()` method + so that observed data from gauges will be fetched and plotted along with simulation. -6. Gauges... +7. Sometimes, plots will not look correct even though we inputed the exactly precise locations of gauges. One highly possible reason for that + is our region is not resolved enough. Consequently, GeoClaw might recognize topography of locations wrongly. To solve this problem, we will + use the `AMRClaw `__ algorithm to further + refine regions. For this example, Tampa Bay area was not recognized by GeoClaw until 6 levels of refinement was implemented. -7. Running the simulation... +8. Finally we are ready to run the simulation. Make sure all files (setrun.py, setplot.py, makefile) are in the correct directory, + then :code:`$ cd DirectoryPath` to the working directory. In that working directory, we can either use :code:`$ make all` or :code:`$ make .plots` + to execute. If errors are encountered, we can follow the sequence of :code:`$ make .exe`, :code:`$ make .data`, :code:`$ make .output`, and + :code:`$ make .plots` to debug. To eliminate all executable files and restart, we can use :code:`$ make clean`. + Once the simulation runs successfully, we can see the result at :code:`DirectoryPath/_plots/_PlotIndex.html`. + +For a more detailed, step-by-step guide to storm surge simulations/validations, please find the jupyter +notebook `setup.ipynb` at this `github repository `__. \ No newline at end of file diff --git a/quick_surge.html b/quick_surge.html deleted file mode 100644 index 275a027..0000000 --- a/quick_surge.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - Quick start guide for storm surge modeling — Clawpack 5.8.x documentation - - - - - - - - - - - - - - - - - - -
-
- -
-
- - - -
-
-
-
- -
-

Quick start guide for storm surge modeling

-

See also this youtube video -and the related materials from the 2020 GeoClaw Developers Workshop.

-

To get started with a storm surge computation it is best to refer to a previous -working example. For example, you might start with -$CLAW/geoclaw/examples/storm-surge/ike. There are also a number of additional -examples in the $CLAW/geoclaw/examples/storm-surge directory as well as some -in the $CLAW/apps/surge-examples directory (this is actually a repository of -examples that is actively updated). The primary input that one needs to provide -for a new example usually involves two data source

-
-
    -
  • Topography data: Data that specifies the topography and bathymetry of the -region around the area of interest. For storm surge computations it is -generally good practice to include entire oceanic basins so that you can -ensure that flow into and out of the basin is resolved by the computation -and is sufficiently distant from the computational domain’s boundaries.

  • -
  • Storm data: Of course we need to specify the particular storm that you -are interested in. There are a number of ways to specify a storm which -are described in Storm Specification Data. Sources for parameterized storms -can also be found in Sources for Storm Surge Data and a description of how to include -them in _surge_module.

  • -
-
-

Here we will concentrate on changing the Hurricane Ike (2018) example into one for -Hurricane Elsa (2021).

-
    -
  1. First copy the files (setrun.py, setplot.py, makefile) located in the Hurricane Ike directorty located at -$CLAW/geoclaw/examples/storm-surge/ike.

  2. Note: if reader has not yet set up environment -variable CLAW, please refer to this page: Setting Environment Variable -
  3. Next let’s find some better topography for the west coast Florida area. There are several places where we can get topography/bathymetry data, for - example Global Multi-Resolution Topography Data Synthesis, - Global Digital Elevation Model, - National Center for Environmental Information, - and The General Bathymetry Chart of the Oceans. - Here we will use the data from the last one which is the GEBCO to retrive and download the topography and bathymetry data for hurricane Elsa. Theoretically, we - can select the region as big as possible. However, the bigger the region, the more computational complexity it will be for GeoClaw simulation. So for hurricane Elsa, - we only use the gulf of Mexico region so that it can include the region days before Elsa's landfall and the region days after the landfall. (How to specify how many - days before and after will be discussed in later steps below.) After downloading the grid format of the topography data, we may want to store it on cloud like google drive, - dropbox, or your personal website so that people in the future can have access to this topography data file. -

  4. -
  5. Now let’s find a storm specification for Hurricane Elsa. Several data resouces are available: Automated Tropical Cyclone Forecasting System, - Atlantic Oceanographic and Meteorological Laboratory, - NOAA Rapid Update Cycle, - National Center for Environmental Information, - Naval Meteorology and Oceanography Command, - Coastal Hazards System. - In this example we will use the ATCF database. For Hurricane Elsa this ends up being -the file located here.

  6. -How to find a storm specific data using ATCF database for your storm? Go to ATCF Archive. Then -search for you storm number. In this example, storm number for Hurricane Elsa is AL052021. Therefore, the storm data corresponds to Hurricane Elsa will simply -be bal052021.dat in year 2021. -
  7. Now we have our topography data and storm specific data ready. Next, we need to modify the setrun.py to use - our new storm specific data and topography data we just added. First, modify the - computational domain so that it matches or contains in the region of the topography data. - Then change t0, tfinal, and time_offset - to Elsa's landfall time and time period before and after landfall we want to simulate. - Last but not least, change locations of retrieving topography and storm data file in topography data and - surge data sections. -

  8. -
  9. We also need to modify the plotting in setplot.py. - First, we may want to change upper and lower limits for surface levels, wind speeds, - pressure, and friction to best represent our storm. For example, Elsa is a category 1 hurricane which is - not very strong. Therefore, we changed the surface levels to [-1, 1] so that - visualization from plots will be more evident. In the plot specifications section, we can add - zoom in regions. For Elsa, three more regions other than the computational domain are added. We may - also alter the legends, labels, colors of plots, and so on. -

  10. -
  11. Gauges are key for validation study. We want to know how good GeoClaw's simulation is - comparing to observed currents and tides data. Guage information and location - can be found here at NOAA Tides & Currents. - In setrun.py, add gauge locations using rundata.gaugedata.gauges.append() method. - Accordingly in setplot.py, modify parameters of geoclaw.util.fetch_noaa_tide_data() method - so that observed data from guages will be fetched and plotted along with simulation. -

  12. -
  13. Sometimes, plots will not look correct even though we inputed the exactly precise locations of guages. One highly possible reason for that - is our region is not resolved enough. Consequently, GeoClaw might recognize topography of locations wrongly. To solve this problem, we will - use the AMRClaw algorithm to furthur - refine regions. For this example, Tampa Bay area was not recognized by GeoClaw until 6 levels of refinement was implemented. -

  14. -
  15. Finally we are ready to run the simulation. Make sure all files (setrun.py, setplot.py, makefile) are in the correct directory, - then $ cd DirectoryPath to the working directory. In that working directory, we can either use $ make all or $ make .plots - to execute. If errors are encountered, we can follow the sequence of $ make .exe, $ make .data, $ make .output, and - $ make .plots to debug. To eliminate all executable files and restart, we can use $ make clean.

  16. - Once the simulation runs successfully, we can see the result at DirectoryPath/_plots/_PlotIndex.html. -
-
-
- For a more detailed, step-by-step guide to storm surge simulations/validations, please find the jupyter notebook setup.ipynb at this github repository. -
-
- -
-
- - - - - \ No newline at end of file From a72c9a988b4d3dd11a2e3ad85232314c21bb22a6 Mon Sep 17 00:00:00 2001 From: Max Zhao <83156549+MaxPaiPai@users.noreply.github.com> Date: Mon, 25 Jul 2022 00:43:18 -0400 Subject: [PATCH 3/4] Update quick_surge.rst --- doc/quick_surge.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/quick_surge.rst b/doc/quick_surge.rst index f6e4f4b..7d3881f 100644 --- a/doc/quick_surge.rst +++ b/doc/quick_surge.rst @@ -33,7 +33,7 @@ Here we will concentrate on changing the Hurricane Ike (2018) example into one f Hurricane Elsa (2021). 1. First copy the files (setrun.py, setplot.py, makefile) located in the Hurricane Ike directorty located at - `$CLAW/geoclaw/examples/storm-surge/ike`. Note: if reader has not yet set up environment + `$CLAW/geoclaw/examples/storm-surge/ike`. Note: if reader has not yet set up environment variable `CLAW`, please refer to this page: `Setting Environment Variable `__. 2. Next let’s find some better topography for the west coast Florida area. There are several places where we can get topography/bathymetry data, for @@ -94,4 +94,4 @@ Hurricane Elsa (2021). Once the simulation runs successfully, we can see the result at :code:`DirectoryPath/_plots/_PlotIndex.html`. For a more detailed, step-by-step guide to storm surge simulations/validations, please find the jupyter -notebook `setup.ipynb` at this `github repository `__. \ No newline at end of file +notebook `setup.ipynb` at this `github repository `__. From fb8034a6c0c8c0bd0eab90f216d12e4a242c1c15 Mon Sep 17 00:00:00 2001 From: Max Zhao <83156549+MaxPaiPai@users.noreply.github.com> Date: Tue, 26 Jul 2022 19:30:50 -0400 Subject: [PATCH 4/4] Update quick_surge.rst --- doc/quick_surge.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/quick_surge.rst b/doc/quick_surge.rst index 7d3881f..d364d31 100644 --- a/doc/quick_surge.rst +++ b/doc/quick_surge.rst @@ -94,4 +94,4 @@ Hurricane Elsa (2021). Once the simulation runs successfully, we can see the result at :code:`DirectoryPath/_plots/_PlotIndex.html`. For a more detailed, step-by-step guide to storm surge simulations/validations, please find the jupyter -notebook `setup.ipynb` at this `github repository `__. +notebook `setup.ipynb` at this `github repository `__.