Follow storm track

In some occasion it is practical to follow a storm when retrieving satellite information. wavy can do so which is shown in the following with an example on the hurricane track of Katrina until landfall.

Open python in the wavy conda environment:

$ conda activate wavy
$ python

Define a track file that could look like the following csv file. It has to include a column called “lat” and one called “lon”:

date,lat,lon,Pmb,Ukt,CAT
2005-08-23 18,23.05,-75.01,1008,30,TD
2005-08-24 00,23.38,-75.64,1007,30,TD
2005-08-24 06,23.76,-76.20,1007,30,TD
2005-08-24 12,24.46,-76.50,1006,35,TS
2005-08-24 18,25.36,-76.88,1003,40,TS
2005-08-25 00,25.80,-77.70,1000,45,TS
2005-08-25 06,26.06,-78.36,997,50,TS
2005-08-25 12,26.18,-78.95,994,55,TS
2005-08-25 18,26.15,-79.56,988,60,TS
2005-08-25 22,26.00,-80.10,984,70,H1
2005-08-26 00,25.88,-80.28,983,70,H1
2005-08-26 06,25.35,-81.27,987,65,H1
2005-08-26 12,25.05,-81.96,979,75,H1
2005-08-26 18,24.87,-82.61,968,85,H2
2005-08-27 00,24.56,-83.29,959,90,H2
2005-08-27 06,24.37,-83.98,950,95,H2
2005-08-27 12,24.36,-84.68,942,100,H3
2005-08-27 18,24.49,-85.28,948,100,H3
2005-08-28 00,24.77,-85.89,941,100,H3
2005-08-28 06,25.15,-86.69,930,125,H4
2005-08-28 12,25.68,-87.70,909,145,H5
2005-08-28 18,26.25,-88.61,902,150,H5
2005-08-29 00,27.16,-89.20,905,140,H5
2005-08-29 06,28.15,-89.62,913,125,H4
2005-08-29 11,29.27,-89.61,920,110,H3
2005-08-29 12,29.50,-89.59,923,110,H3
2005-08-29 14,30.18,-89.57,928,105,H3

This track is retrieved from https://coast.noaa.gov/hurricanes. Save this example under Katrina_track.csv.

Download the respective satellite files:

./wavyDownload.py -sat multi -sd 2005082312 -ed 2005083000 -product cci_L3

Now start you python script:

# imports
from wavy.satmod import satellite_class as sc
from wavy.utils  import parse_date
import pandas as pd

# read csv
f = pd.read_csv('/path/to/Katrina_track.csv')
# convert dates to datetime
dt = [parse_date(d) for d in f.date]
lons = f.lon.values
lats = f.lat.values

# define poi dictionary for track
poi_dict = {'datetime':dt,'longitude':lons,'latitude':lats}

# retrievals
sco = sc( twin=180,distlim=200,mission='multi',
          product='cci_L3',region='global',
          varalias = 'Hs', # default
          poi=poi_dict )

# quicklook including track by passing poi
sco.quicklook(m=True,poi=poi_dict)

This script gathers all footprints within a 200km radius and a +-180min time window given time and location of tracked storm. Executing yields the following figure:

_images/docs_fig_stormtrack.png