Storm Visualization
The Storm Visualization Tool (stormviz) is a graphical tool to help see the variable paths of cyclonic storm tracks relative to atmospheric pressure fields and how these tracks evolve with time and space. Combined with data layers of geopotential height and pressure at mean sea level, the tool helps provide understanding of the basic atmospheric dynamics and structure associated with storm generation, duration, and termination.
The tool provides a map to view tracks with surface pressure highs and lows. ECMWF Reanalysis (ERA5) [1] data of height of the geopotential surface (hgt), and mean sea-level pressure (msl) fields are displayed. Currently, the extents of the map and data focus on North America and hence the storms in the northern hemisphere. These extents can be adjusted in code and data downloaded from ERA5 for other regions of the world.
The main map shows the current storm positions (red dots) for the current date and time and their associated "detected" tracks (discussed below) in blue lines with blue dots for each time step beyhond the present. Also plotted are fields of msl with filled contours corresponding to the scale below the map and hgt (100-1000 hPa pressure level) for North America. By using the graphical interface, times can be selected to show (or "play") the 3-dimensional (3D), dynamic nature of the storm tracks along with changes in msl. Furthermore, the hgt levels can be selected to view the upper atmospheric structure and how far up in the atmosphere the storm may affect this structure.
Here is a screen image of the map and interface.
Storm tracks are determined and stored using the stormTracking [2] algorithm by Eric Oliver. This code automatically detects and tracks atmospheric storms (cyclones) and high-pressure centers (anticyclones) using a series of surface pressure maps. While the initial code used NCEP data, it is easily adapted to use ERA5 data and resolution. A sample storm track dataset (storm_track_slp.npz
) is provided for testing stormviz
following the steps to run the tool.
You can clone the stormviz Github Repository or download the zipped code from Github:
git clone https://github.com/neaptide/stormviz.git
or download and unzip the code:
wget https://github.com/neaptide/stormviz/archive/main.zip
Once the code is downloaded locally, you will be using the environment.yml
file in the code folder to get all the dependencies to build an environment with default name test_stormviz
. You can use a different enviroment name by editing the environment.yml
.
For this example the code is unzipped or cloned into C:\your\home\stormviz
Open a terminal that activates Anaconda base environment.
Change the working directory to where you unpacked the code and create the test_stormviz
environment
(base) C:\your\home> cd stormviz
(base) C:\your\home\stormviz>conda env create -f environment.yml
Activate the test_stormviz
environment
(base) C:\your\home\stormviz>conda activate test_stormviz
(test_stormviz) C:\your\home\stormviz>
You can now run stormviz.py
in either IPython or in a Jupyter Notebook.
Open an Ipython terminal.
(test_stormviz) C:\your\home\stormviz>ipython
In Ipython, use the magic command %run
to run the stormviz.py
code for the specified year and month (YYYY_MM).
[1] %run stormviz.py 2018_01
This will initialize the interactive graph, previously described, to the first day and hour of that month on the map and you can begin using the interface. For example, if 2018_01
is used, the map will show the data for 2018-01-01 at 00:00 (UTC). The hgt data will initialize to the the lowest level (1000 hPa).
- Select another hgt level by moving the "Level" slider or pressing left- (<) and right-arrow (>) associated with it.
- Select a different time and date by moving the "Date" slider or pressing left- (<) and right-arrow (>) associated with it.
- Press "Storm Tracks ON/OFF" button to toggle display of storm tracks.
- Press "MSL ON/OFF" button to toggle display of mean sea level pressure.
- Press "HGT ON/OFF" button to toggle display of geopotential contours.
stormviz
has dependency on the following Python modules:
- numpy
- matplotlib
- metpy
- netCDF4
The stormviz
tool is based upon work supported by National Science Foundation under grant OCE-1558920.
[1] Copernicus Climate Change Service (C3S) (2017): ERA5: Fifth generation of ECMWF atmospheric reanalyses of the global climate . Copernicus Climate Change Service Climate Data Store (CDS), date of access. https://cds.climate.copernicus.eu/cdsapp#!/home
[2] Oliver, E.: stormTracking, https://github.com/ecjoliver/stormTracking, @ecjoliver