Skip to content
Jason Fleming edited this page Dec 14, 2021 · 31 revisions

Creating Hindcasts

Author: Jason Fleming (GitHub ID: jasonfleming)

Retrospective analyses (i.e., "hindcasts") of historical tropical cyclone events are an important part of model development as well as risk assessment. The ASGS is an ideal system for producing hindcasts because it already contains features for working with tropical cyclone data including BEST track files as well as the Forecast/Advisories that are issued by the National Hurricane Center.

Creating hindcasts of historical hurricanes with the parametric Generalized Asymmetric Holland Model (GAHM) is a three step process:

  • Select a storm to hindcast and create the associated input data
  • Configure the ASGS properly to run the hindcast
  • Execute the ASGS and possibly manipulate the input data feed to make the hindcast progress

These steps are detailed in the sections below using Hurricane Ike of 2008 as a case study.

Hurricane Ike Background

September 13, 2008 - Hurricane Ike makes landfall at Galveston as a large Category 2 hurricane. Its large size contributes to a storm surge that is as high as 20ft (6.1m), which inundates many of the barrier islands off the Texas coast. Many structures on the Bolivar Peninsula are destroyed. Most notably, in Gilchrist all but one house is destroyed by the storm surge. The storm also causes heavy rains where it makes landfall, peaking at 18.9in (480mm). At one point, the storm knocks out power to as many as an estimated 2.6 million people.[ Ike is one of the most destructive hurricanes ever to hit Texas and one of the deadliest, causing $19.3 billion in damages and killing 84 people.

Selecting the Data

Ike advisory 01 was issued almost two weeks before landfall when the storm system was still in the central Atlantic (see below). Since this time period will not be relevant to the target area (the Texas Gulf coast), the Operator will need to make a decision on when the retrospective period should start. This decision will also need to be informed by initialization concerns, including the development of a fully developed wave field, as well as any potential coastal water level set up.

I normally set the start date by examining the graphics issued with each forecast/advisory, and take the associated physics into account, along with looking at the location and forward speed of the storm. For Ike, I selected the point of emergence of the storm off the coast of Cuba into the Gulf of Mexico in advisory 36 as a reasonable starting point, as shown below.

In order to start the retrospective modelling at this point, we need to take a look at the BEST track file for the storm, and the data that corresponds to the start date we've selected. Forecast/advisory 36 was issued at 11pmEDT on Tuesday 9 September 2008, which corresponds to 03Z on Wednesday 10 September 2008. Therefore, the last available BEST track data at the time that this advisory was issued was at 00Z on 10 September 2008. We now need to find the full BEST track file for this storm and look to this time as our starting point.

The official archive of BEST track files contains links to BEST track files by year. Ike occurred in 2008, in the Atlantic basin (prefix al) and was the 9th tropical cyclone of the season, so the file to look for is bal092008.dat.gz.

Inside the file, we find this time on line 100:

AL, 09, 2008090918,   , BEST,   0, 227N,  833W,  65,  966, HU,  34, NEQ,  155,  150,  105,  170, 1008,  275,  15,  80,   0,   L,   0,    ,   0,   0,        IKE, D, 12, NEQ, 180, 180,  90, 180
AL, 09, 2008090918,   , BEST,   0, 227N,  833W,  65,  966, HU,  50, NEQ,  100,   75,   30,   90, 1008,  275,  15,  80,   0,   L,   0,    ,   0,   0,        IKE, D, 12, NEQ, 180, 180,  90, 180
AL, 09, 2008090918,   , BEST,   0, 227N,  833W,  65,  966, HU,  64, NEQ,   20,    0,    0,   30, 1008,  275,  15,  80,   0,   L,   0,    ,   0,   0,        IKE, D, 12, NEQ, 180, 180,  90, 180
AL, 09, 2008091000,   , BEST,   0, 231N,  840W,  65,  968, HU,  34, NEQ,  160,  150,  110,  180, 1006,  200,  15,  80,   0,   L,   0,    ,   0,   0,        IKE, D, 12, NEQ, 180, 210, 150, 240
AL, 09, 2008091000,   , BEST,   0, 231N,  840W,  65,  968, HU,  50, NEQ,  100,   75,   30,   90, 1006,  200,  15,  80,   0,   L,   0,    ,   0,   0,        IKE, D, 12, NEQ, 180, 210, 150, 240
AL, 09, 2008091000,   , BEST,   0, 231N,  840W,  65,  968, HU,  64, NEQ,   30,    0,    0,   20, 1006,  200,  15,  80,   0,   L,   0,    ,   0,   0,        IKE, D, 12, NEQ, 180, 210, 150, 240
AL, 09, 2008091006,   , BEST,   0, 234N,  846W,  70,  964, HU,  34, NEQ,  170,  150,  115,  180, 1006,  200,  15,  85,   0,   L,   0,    ,   0,   0,        IKE, D, 12, NEQ, 180, 210, 150, 240

that ends 3 hours before the target forecast/advisory was issued, as well as the target forecast/advisory (only so that the ASGS does not complain about a necessary file being found.

For tropical cyclone hindcasting, the text advisories from the NHC website can be used for forecasts. These files can be found at the following location:

 http://www.nhc.noaa.gov/archive/

Just click on the year to see all the storms for that year.

Then click on the name of the storm that the ASGS should run. The list of all the forecast/advisories that were issued for that storm will be shown.

Then click on the first forecast/advisory that should run, and "Save Page As..." to save the html (just the html) to a file. This file could be fed to the ASGS, but some additional editing should be performed, as described below. Repeat this step for all the advisories in the hindcast.

Once all the html files for the forecast/advisories in the hindcast have been obtained, a mock RSS feed should be created. Take the text of each forecast/advisory from the html files insert it into an index-at.xml file. An example index-at.xml file from advisory 07 of TS Beryl 2012 can be found in the doc subdirectory of the ASGS installation directory.

mimic the real time Operational environment for the ASGS, by providing the data that would normally be available in real time from the National Hurricane Center.

For example, to run Ike advisories 42, 44, and 46, the procedure would be as follows:

  • use a text editor to pluck out the actual text of the forecast/advisory from each html file;

  • use a text editor to embed that text into a template index-at.xml file, being sure to also update the advisory number;

  • end up with three files named something like ike.42.index-at.xml, ike.44.index-at.xml, ike.46.index-at.xml.

Now, a hindcast file will also be needed to go along with each forecast file. In a real storm, the hindcast data end before or just after the start of the forecast when each advisory is issued.

So, in the case of Ike, a set of bal092008.dat files is needed that each end at the appropriate times for the forecasts. To support ASGS test efforts in prior seasons, the author has created a bunch of files like this for various storms here:

https://github.com/StormSurgeLive/storm-archive

Hopefully this archive will be of use to the ASGS Operator community.

So at this point, an inventory of files called (for example) ike.XX.index-at.xml and ike_advisory_XX.btk (one set for each advisory, where XX is the advisory number) has been developed.

Configuring the ASGS for Testing

In normal operation, the ASGS contacts remote web and ftp sites to collect the real time data that it requires. During a test, however, the Operator will be supplying these files. If the ASGS Operator has administrative access to a web server and ftp server, these can be set up to mimic the web and ftp sites of the NHC, and the ASGS can be configured to go to the mock sites instead of the real ones.

However, it is simpler to reconfigure the ASGS to look to its local filesystem for the mock files, thus eliminating the requirement for having web and ftp servers handy. A sample set of test configuration parameters for external data sources is as follows:

 STORM=
 YEAR=
 TRIGGER=rssembedded
 RSSSITE=filesystem
 FTPSITE=filesystem
 FDIR=/path/to/index-at.xml
 HDIR=/path/to/bal'STORM'YEAR'.dat

Using Ike as an example, 'STORM' would be set to 09 and 'YEAR' would be set to 2008. Please see the section on External Data Sources above for more detail on these parameters.

Issuing Advisories

Once the mock advisories have been developed and the ASGS has been configured, it is up to the Operator to play the role of the NHC and "issue" new hindcast/nowcast data and new forecast advisories. Step-by-step instructions for doing this are as follows:

  • Go to the directory where the mock RSS feed for the forecast/advisories are stored.

  • Make a symbolic link to the first advisory in the test (because the ASGS is hardwired to look for the index-at.xml file), e.g.:

 ln -s ike.42.index-at.xml index-at.xml
  • Make a symbolic link to the hindcast data that correspond to the first advisory in the test (because the ASGS is hardwired to look for a file that is formatted as bal 'STORM' 'YEAR' .dat), e.g.:
 ln -s ike_advisory_42.btk bal092008.dat
  • Start up the ASGS normally. It will grab the NHC data from the local filesystem (whichever advisory the symbolic links point to).

  • To issue a new advisory, manually update the symbolic link for the hindcast to the next hindcast file, then manually update the symbolic link to the next forecast file. For example:

 rm bal092008.dat ; ln -s ike_advisory_44.btk bal092008.dat
 rm index-at.xml ; ln -s ike.44.index-at.xml index-at.xml

Always update the symbolic link to the hindcast first, because the ASGS will be looking for a change in the forecast data to tell it when a new advisory has been issued. If the forecast link is updated first, the ASGS will detect it so quickly that it will start its new cycle before the hindcast link can be updated. This will just cause the ASGS to use the old hindcast/nowcast data.  

A shell script could be written to update these links periodically to issue the mock advisories; the process of issuing advisories doesn't have to be manual.