ATCF Handling - StormSurgeLive/asgs GitHub Wiki
The Automated Tropical Cyclone Format (ATCF) is used to provide key parameters for a tropical cyclone, including location, maximum wind speed, and storm size/shape, among others. This differs from the typical provision of data from a numerical weather prediction model (NWP) like HWRF, for example. Models like that produce voluminous quantities of time varying gridded data over large geographic regions. In contrast, ATCF files are very small (100 lines is typical) because only the key storm parameters are included. However, because this file format was designed decades ago, it has some unusual characteristics that introduce complexity into the parsing and analysis processes, as described in the following section.
This format has several idiosyncracies and misleading appearances that developers and operators should be aware of before working with the data, as follows:
- The format appears to be CSV because the fields are separated by commas; in reality the data are fixed width. As a result, the practical effect of an erroneous extra space in any line will be that the entire file becomes unparsable.
- There are several "flavors" of the ATCF file format that are determined according to the 4th column. For example, storm information that is provided in hindsight (i.e., referring to past storm states as opposed to forecast storm states) will be labeled with the four character string "BEST" in the fourth field (these are colloquially referred to as "BEST track files"). On the other hand, if the file contains forecast data, the fourth column will contain the four character string "OFCL" (traditionally referring to an "official" forecast). Other possibilities include "CARQ", "WRNG", "CNTR". The presence of a particular value on a particular line of an ATCF file will indicate that certain other columns in that line are to be interpreted in differently as detailed in later sections.
- Differing levels of information are provided about the storm state at each point in time. There may be a single line describing storm state at a particular time, and there may be multiple lines (generally no more than three) that correspond to a particular storm state at a particular time. There is no indication in the file format itself about how many lines will be used to correspond to a particular storm state at a particular point in time. This information is revealed in the process of parsing when it is found that there are some lines with the same date/time that differ in certain columns while also having duplicated parameter values in other columns. This repeated line structure is the method used to convey additional information about a particular storm state at a particular time.
The get_atcf.pl script is used by the ASGS to monitor the RSS feed from the National Hurricane Center for new Forecast/Advisories and to download the latest advisory the moment it becomes available. It does this by parsing the xml file posted on the RSS feed, and when the advisory number has been updated by the NHC, get_atcf.pl follows the link to the html file containing the actual advisory information.
After downloading a new Forecast/Advisory from the National Hurricane Center website, the script then downloads the latest hindcast (BEST track) file for the same storm from NHC's anonymous ftp site. Both these files are required for generating an ADCIRC fort.22 (meteorological forcing) file.
Once a forecast is complete, and the next advisory has not yet been posted, the script waits 60 seconds before checking the RSS site again. It will continue checking every 60 seconds until the next advisory is posted.
The script is called get_atcf.pl because the so-called BEST track file format (that describes the files that the script downloads from the anonymous ftp site) was designed by the Automated Tropical Cyclone Forecasting system (ATCF). Please see the section below that discusses the ADCIRC parametric vortex models below for more details on this format, including a link to the online documentation.
The get_atcf.pl script accepts the following command line options (definition, usage, and/or rationale for these command line options are also described below):
- --statefile
$STATEFILE -
$STATEFILEis a shell script with variables and values that represent the current state of an ASGS instance. It is used byget_atcf.plto automatically extract the advisory number if an OFCL ATCF file was downloaded from the NHC ftp site (--trigger ftp), since that data source does not contain the advisory number. Not used otherwise. - --rsssite
$RSSSITE -
$RSSSITEis the URL where the RSS feed (index-at.xml) is found.$RSSSITEcan also be set tofilesystemto pick up theindex-at.xmlfrom the local filesystem (in the directory specified by$FDIR). - --ftpsite
$FTPSITE -
$FTPSITEis the ftp hostname for hindcast and nowcast (BEST) data (and/or forecast data if the--trigger ftpcommand line option was specified).$FTPSITEcan also be set tofilesystemto pick up these data from the local filesystem in the directory specified by$HDIR. - --fdir
$FDIR -
$FDIRis the directory on$FTPSITEfor ATCF formatted OFCL forecast data if--trigger ftpwas specified, or on the local filesystem if--rsssite filesystemwas specified. - --hdir
$HDIR -
$HDIRis the directory on$FTPSITEfor ATCF formatted BEST track data (or on the local filesystem if--ftpsite filesystemwas specified). - --storm
$STORM - Number assigned to that particular tropical cyclone for that year (single digit integer will have a leading zero added by this script). Used in file names for input and output files, parsing forecast/advisories to find the specified storm, and log messages.
- --year
$YEAR - Four digit year of occurrence for the tropical cyclone. Used in file names for input and output files, parsing forecast/advisories to find the specified storm, and log messages.
- --adv
$ADVISORY - Two digit integer (with leading zero if less than 10) representing the most recent advisory that was already downloaded. A new advisory is deemed to have been issued if the advisory number parsed out of the forecast/advisory data is different (not necessarily greater) than
$ADVISORY. - --trigger
$TRIGGER - Indicates the data source that the script uses to determine if a new advisory has been issued. Possible values and their meanings are as follows:
-
ftp - download new ATCF OFCL files from
$FTPSITE/$FDIR. Get the advisory number from$STATEFILE. -
rss - retrieve the text of the forecast/advisory from
https://$RSSSITE(or from$FDIRif--rsssite filesystemwas specified. The script will follow the link in the RSS xml file to obtain the text of the forecast/advisory. -
rssembedded - same as
rssexcept that the the text of the forecast/advisory will be extracted from the RSS XML itself (assuming it is embedded there in aCDATAtag. - --nhcName $NHCNAME
- If the name of the storm (e.g., NINE or IRENE, etc) is not provided on the command line it will be parsed from the last line of the BEST track file. If an OFCL file was provided, the storm name from the forecast/advisory text will take precedence over the name specified on the command line.
- --insecure
- If specified, then the
http:protocol will be used to retrieve the RSS XML feed, rather thanhttps:(the default).
The script looks for a BEST track file named bal$storm$year$.dat where the storm number is a two digit integer with a leading zero for integers less than 10. The basin ("al") is hardcoded in the script to be the Atlantic basin. After acquiring the BEST track file, whether from an ftp site or the local filesystem, this script attempts to determine the name of the storm from the file. This capability was originally used later in the script for parsing the text of the forecast/advisory, but this is an unreliable method, since the NHC's name for a storm can change between the time that the BEST track file is issued and the time that the next forecast/advisory is issued. For example, in 2014, TD ONE changed
to TS ARTHUR, and TD TWO changed to TS BERTHA. As a result, the forecast/advisory is parsed according to the storn number and year, not the name.
The script attempts to find the name of the storm from the BEST track file by splitting each line of the file on commas and extracting field 27 (starting index is zero) with leading and trailing spaces removed. The last line in the file with a field 27 that does not return undef is used as the storm name in log messages (until the forecast/advisory is successfully parsed).
If an OFCL file is loaded from the filesystem in ATCF format, the advisory number is not present. As a result, this script cannot get the advisory number if the file is downloaded via ftp, which is one of the main reasons this data is not acquired by ftp.
If the OFCL forecast/advisory data is extracted from a file on the local filesystem $FDIR/index-at.xml (again, hardcoded to the Atlantic basin), the script parses out the storm name and advisory number and saves the forecast/advisory information to a file named al$storm$year.fst.html (as-is, not as an ATCF formatted file).
The purpose of the nhc_advisory_bot.pl script is to accept the text of an NHC forecast/advisory and produce a valid OFCL-type ATCF formatted file. It starts with the following hardcoded "template" ATCF line:
AL, 01, 2009010100, , OFCL, 0, 000N, 000W, 30, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 40, 0, , 0, TBK, 65, 17, , , 12, NEQ, 60, 60, 0, 0
It then parses the forecast/advisory header text to extract the following information (highted in curly braces in some cases), reformatting it and filling in the template ATCF line using fixed width placement starting with column 0 (not comma separated placement) as follows:
| Description | Sample Advisory Text | Column | Width | Read ATCF Field |
|---|---|---|---|---|
| storm number | AL{09}2022 | 4 | 2 | CY |
| date/time that the advisory was issued | 1500 UTC TUE JUL 18 2006 | 8 | 10 | YYYYMMDDHH |
| storm name | HURRICANE {FRANCES} FORECAST/ADVISORY NUMBER 37...CORRECTED | 148 | 10 | STORMNAME |
| starting latitude | HURRICANE CENTER LOCATED NEAR {23.4N} 73.9W AT 02/1500Z | 34 | 5 | LatN/S |
| starting longitude | HURRICANE CENTER LOCATED NEAR 23.4N {73.9W} AT 02/1500Z | 41 | 5 | LonE/W |
| storm direction | PRESENT MOVEMENT TOWARD THE NORTH-NORTHWEST OR {330} DEGREES AT 9 KT | 138 | 4 | DIR |
| storm speed | PRESENT MOVEMENT TOWARD THE NORTH-NORTHWEST OR 330 DEGREES AT {9} KT | 143 | 4 | SPEED |
| central pressure | ESTIMATED MINIMUM CENTRAL PRESSURE {972} MB | 53 | 4 | MSLP |
| max wind speed | MAX SUSTAINED WINDS {125} KT WITH GUSTS TO 155 KT. | 47 | 4 | VMAX |
| max gust wind speed | MAX SUSTAINED WINDS 125 KT WITH GUSTS TO {155} KT. | 113 | 4 | GUSTS |
After parsing the forecast/advisory header text, the script writes the first line of the output OFCL ATCF file using the filled-in template line. Then the remainder of the OFCL ATCF file is written according to the following parsing/filling procedure for the template line:
| Description | Sample Advisory Text | Column | Width | Write ATCF Field |
|---|---|---|---|---|
| storm number | (from previous line) | 4 | 2 | CY |
| date/time that the advisory was issued | (from previous line) | 8 | 10 | YYYYMMDDHH |
| storm name | (from previous line) | 148 | 10 | STORMNAME |
| forecast valid | computed from e.g. FORECAST VALID {25/1800Z} and the YYYYMMDDHH field | 29 | 4 | TAU |
| starting latitude | FORECAST VALID 25/1800Z {17.0N} 78.8W | 34 | 5 | LatN/S |
| starting longitude | FORECAST VALID 25/1800Z 17.0N {78.8W} | 41 | 5 | LonE/W |
| max wind speed | MAX WIND {55} KT...GUSTS 65 KT. | 47 | 4 | VMAX |
| max gust wind speed | MAX WIND 55 KT...GUSTS {65} KT. | 113 | 4 | GUSTS |
| isotach speed | {64} KT... 45NE 30SE 20SW 30NW. | 63 | 3 | RAD |
| isotach radii | 64 KT... {45}NE {30}SE {20}SW {30}NW. | 72 + 6k where k=0:3 | 5 | RAD1, RAD2, RAD3, RAD4 |
If the line read from the forecast/advisory text includes the string DISSIPATED the forecast/advsiory parsing loop terminates.
The following data are parsed and written to a .properties file:
| Description | Sample Advisory Text | Keyword | Sample Value |
|---|---|---|---|
| storm name | HURRICANE {FRANCES} FORECAST/ADVISORY NUMBER 37...CORRECTED | forcing.tropicalcyclone.stormname | FRANCES |
| storm class | {HURRICANE} FRANCES FORECAST/ADVISORY NUMBER 37...CORRECTED | forcing.tropicalcyclone.stormclass | HURRICANE |
| max wind speed | MAX SUSTAINED WINDS {125} KT WITH GUSTS TO 155 KT. | forcing.tropicalcyclone.vmax | 125 |
| max gust wind speed | MAX SUSTAINED WINDS 125 KT WITH GUSTS TO {155} KT. | forcing.tropicalcyclone.gusts | 155 |
| advisory time | 1500 UTC TUE JUL 18 2006 | forcing.tropicalcyclone.forecast.valid.time.start | 20060718150000 |
| forecast end time | FORECAST VALID 27/0600Z 21.7N 83.8W | forcing.tropicalcyclone.forecast.valid.time.end | 20220927060000 |
This script accepts raw ATCF files and produces fort.22 files for ADCIRC parametric vortex models. It accepts a forecast (OFCL) file and optionally a retrospective (BEST) file. It also requires the cold start time to compute date/times and time spans. By default, it produces a fort.22 file for one of the ADCIRC parametric vortex wind models to represents the NHC official forecast track.
- --dir
$DIR - Find the raw ATCF input files in the directory
$DIR. The default is the current working directory. - --storm
$STORM - The script uses
$STORMas the two digit storm number (single digit storm number must be supplied with a leading zero) in the year specified by the--yearoption (the NHC numbers each tropical cyclone of the season). This is used in constructing the names of the input and output. This command line argument is required. - --year
$YEAR - Use the four digit year
$YEARwhen constructing the names of the input and output files to/from this script. This command line argument is required. - --coldstartdate
$CSDATE - The number string
$CSDATEis parsed to determine the year, month, day, and hour corresponding to the ADCIRC cold start date/time. The number string is ten characters in the format YYYYMMDDHH24 and is relative to UTC (e.g., 2005082912). This is used to relate the dates and times listed in the ATCF data with the current state of the ADCIRC simulation. If this command line option is not supplied, the script assumes that the very last line in the hindcast ATCF file corresponds to the ADCIRC cold start date and time. - --hotstartseconds
$HSTIME - The number of seconds
$HSTIMEis an offset to the cold start date/time used to determine the date and time corresponding to the current ADCIRC model time if the model is to be hotstarted. If this command line argument is not given, the script assumes a cold start (i.e., that$HSTIMEis zero). - --nws
$NWS - Generate an ATCF formatted file suitable for use in ADCIRC's internal parametric vortex model specified by the NWS value
$NWS. See the ADCIRC documentation for details of the NWS parameter. Supported values include the symmetric vortex (8), asymmetric vortex (19), generalized asymmetric vortex (20), and generalized asymmetric vortex blended with gridded wind field(s) in the OceanWeather WIN/PRE format (30).$NWSvalues that specify SWAN coupling are also supported (i.e., 308, 319, 320, and 330). - --name
$SCENARIO - Vary the output data using according to the string
$SCENARIO. Allowable substrings within a scenario name that indicate specified perturbations are maxWindSpeed, overlandSpeed, and veer. The output data will have the corresponding values adjusted as described below. Only one--nameoption is allowed per execution. - --percent
$PERCENT - When varying the output data using the --name option above, use
$PERCENTas the magnitude of the variation, as described below. The default percentage variation is 20 percent for maxWindSpeed, -20 percent for overlandSpeed, and 100 percent for veer. - --method
$ESTMSLP - This parameter is used to select the algorithm used to estimate the miniumum sea level pressure when it is not available from the source ATCF file (i.e., when processing OFCL). The default method is twoslope and asgs2012 is an alternate method.
- --strengthPercent
$STRENGTH - The Vmax in the output data will be adjusted using the percentage indicated with this command line option; for example, the use of this variation with a percent value of 110 will increase all Vmax values in the forecast portion of the output by 10%. If the central pressure needs to be estimated by this script, the estimate will occur after the perturbation to Vmax has been applied. If the data have a perturbed Vmax and are subsequently used in the
aswipprogram,aswipwill compute Rmax values based on the perturbed Vmax. - --overlandSpeedPercent
$SPEED - The forecast times in the output data will be perturbed using the percentage indicated with this; for example, the use of this variation with a percent value of 110 will reduce all forecast times in the output by 10%.
- --veerPercent
$VEER - The storm coordinates in the output data will be perturbed using the percentage indicated; for example, the use of this variation with a value of 100 will cause the track to veer to the right (looking in the direction the storm is going) along the right edge of the cone of uncertainty. Setting the value to -100 will cause the storm to veer to the left along the left edge of the cone of uncertainty.
File input:
- run.properties :
ASSUMPTIONS:
- The ADCIRC coldstart time (or the sum of the coldstart time and the number of seconds from the hotstart file in the case of a hotstart) must correspond exactly to one of the times in the hindcast or forecast file. This script is not able to interpolate or extrapolate the initial meteorological data.
- Conversion of km to degrees (lat and lon) is only approximate (not based on a geographically accurate projection) and could be made more accurate. This conversion is required to relate the size of the cone of uncertainty (defined in units of length) to varied tracks that are positioned in terms of lat/lon coordinates.
- The fill-in of the forecast central pressure is based on an algorithm that is an object of current research and is subject to change.
- The script was designed for a real time context, so it assumes that perturbations are only applied to forecasts (OFCL), not a nowcast (BEST).
- Also the forecast is being hotstarted from the end of a previous nowcast, so the forecast track file needs to pick up where the previous nowcast track file left off. The ADCIRC parametric vortex models need to start with the track data that correspond to the hotstart time, so at least the first line in the forecast track file has to be the same as the last line in the previous nowcast track file, i.e., the first line in the forecast ATCF file has to come from BEST track data.
The script storm_track_gen.pl accepts a raw ATCF-format hindcast file (straight from the NHC ftp site) and a raw ATCF-format forecast file (either straight from the NHC ftp site or formed by some other method, e.g., parsed from a text advisory). It produces a fort.22 file for ADCIRC for the NWS=9 (asymmetric wind vortex model) option.
Selecting the right hindcast or forecast line to start with based on the coldstart time and hotstart seconds, and filling in the date, time, and forecast periods correctly on the following lines requires the bulk of the code in the script. Most of the complexity is due to the fact that ADCIRC may be required to start at a point in time that may be somewhere in the hindcast or forecast, depending on the circumstance. Also, it is possible to have a hindcast file that has a later end date than the start date in the forecast file. Creating the storm variations requires a comparatively small amount of code.
The requirements for both BEST and OFCL data could be relaxed in storm_track_gen.pl to make it more of a generalized ensemble-generating
tool outside the context of real time guidance.
This script has the names of the BEST and OFCL files it will read as hardcoded to bal$storm$year.dat and al$storm$year.dat (with the Atlantic basin "al" hardcoded also). The output file from the script is hardcoded to fort.22.
The script will attempt to read a run.properties file and exit with an error if it is not found. The only information read from the run.properties file is the name of the storm (forcing.tropicalcyclone.stormname) and only for the purpose of writing based on information gleaned from the BEST and/or OFCL file, if that property does not already exist. Additional information written to the run.properties file is listed
Required command line arguments for this script include the storm number and year (for use in forming the names of the input file(s)). Optional command line arguments include the directory containing the input file(s) (the current working directory is used as the default) and the cold start date. If the cold start date is not provided, the script parses the YYYYMMDDHH ATCF field from the first line in the file, splitting the line on commas, selecting field 2 (counting from zero) and stripping leading and trailing spaces. The script adds the number of seconds in the hotstart file (specified on the command line with --hotstartsecondsand a default value of 0.0) to the cold start date (however obtained) to find the date and time in YYYYMMDDHH format that corresponds to the time in the hotstart file, and therefore the initial time of the simulation.
The track perturbations can be specified in two separate ways: either by giving the track scenario a name that contains related keywords, or by providing explicit command line arguments (all case sensitive). These mutually exclusive specification methods are summarized in the following table:
| Description (relative to official forecast track) | Scenario Substring | Example Scenario Name | Typical Percent Range | Alt. Command Line Argument |
|---|---|---|---|---|
| track to the left or right | veer | veerRight50 | -100 to 100 | --veerPercent |
| maxiumum wind speed greater or less | maxWindSpeed | maxWindSpeed20 | -20 to 20 | --strengthPercent |
| faster or slower forward speed of storm | overlandSpeed | overlandSpeed10 | -20 to 20 | --overlandSpeedPercent |
| larger or smaller radius to maximum winds | rMax | rMax50 | -50 to 50 | (not available) |
If the perturbation is expressed in the name of the scenario itself, the percent change must be specified as a separate command line argument, e.g., --name veerRight50 --percent 50. The 50 in the scenario name is for human readability and is not used by the script. If the same perturbation is expressed with command line arguments, then the scenario name should not contain any string that triggers scenario perturbation, and in this example would be specified as --veerPercent 50.
Modifications to the radius to maximum winds (Rmax) can only be made in storm_track_gen.pl if the ADCIRC symmetric vortex model (NWS=8) is used. If the Rmax is left unperturbed, and the ADCIRC symmetric vortex model (NWS=8) is specified, the forecast Rmax will be persisted from the most recent value available in the BEST track file (the RMW column). If the Generalized Asymmetric Holland Model (GAHM) parametric vortex model in ADCIRC is to be used (NWS=20), then perturbations to Rmax must be specified to the aswip program and will have no effect in this script.
When reading the BEST track file, each line is split on commas according to the regular expression / *, */ the following checks are made for each line:
- line length is at least 112 characters
- new cycles are detected when field 11 (starting from zero) is equal to
0or34
If the line is found to have less than 112 characters, the previous line with the same isotach value is persisted to fill in the information from the end of the current line to the end of the persisted line.
The data that are parsed out of the BEST track file are summarized as follows (for any of the data marked "last", only the last available value in that column is actually used):
| Description | Comma Separated Field | Read ATCF Field |
|---|---|---|
| isotach speed | 11 | RAD |
| storm name | 27 | STORMNAME |
| storm class | 10 | none |
| time | 2 | YYYYMMDDHH |
| last pressure | 9 | MSLP |
| last max wind speed | 8 | VMAX |
| last Rmax | 19 | RMW |
| last latitude | 6 | LatN/S |
| last longitude | 7 | LonE/W |
The value of the storm class property (e.g., "HURRICANE") is not the same as the TY field in ATCF (e.g., "HU"); the storm class property is saved to run.properties. If the STORMNAME field is empty, the literal string "STORMNAME" is used.
Any lines in the BEST file that have a time stamp that is earlier than the start of the simulation are discarded. If there are no lines that correspond exactly to the YYYYMMDDHH of the start of the simulation (computed as the cold start date plus the specified number of hotstart seconds, if any, as described above), but lines with times later than the start of the simulation are found, the script exits with an error. However, if there are no lines with a time that corresponds exactly to the start of the simulation, and none after, the script only emits a warning and continues (jgfdebug: logging this as an issue).
The YYYYMMDDHH time associated with the first non-discarded line is used to compute the number of hours elapsed from this line to all subsequent lines in the BEST track file. This value, and a hardcoded background pressure of 1013mb are inserted into each of the lines read from the BEST track file before appending to the fort.22 file, as follows:
| Description | Column | Width | Write ATCF Field |
|---|---|---|---|
| hours since first line in file | 8 | 29 | TAU |
| ambient barometric pressure | 97 | 4 | POUTER |
Once the script finishes parsing the BEST track file, it starts work on the OFCL file. It starts by splitting the file on commas and parsing the YYYYMMDDHH ATCF value from field 2 (starting from 0). This information is combined with the value of the TAU column (parsed as described in the following table) to compute the date/time associated with each line. If the resulting date/time is prior to the final date/time in the BEST track file, or to the current time in the hotstart file, the OFCL line is discarded.
For the asymmetric vortex model, if OFCL lines are found that are after the hotstart time of the model run, but the exact time of the hotstart is not found in the OFCL file, and was never found in the BEST track file, then the script exits with an error message.
Othewise, the remainder of the OFCL lines are parsed and filled in (one at a time) based on fixed width processing (as opposed to comma separated) according to the following table:
| Description | Column | Width | Action | ATCF Field | Notes |
|---|---|---|---|---|---|
| forecast period | 29 | 4 | read | TAU | |
| forecast valid | 8 | 10 | write | YYYYMMDDHH | symmetric only (NWS=8) |
| forecast period | 29 | 4 | write | TAU | asymmetric only; from hotstart date/time to date/time specified by original TAU |
| ambient pressure | 97 | 4 | write | POUTER | hardcoded to 1013mb |
| isotach radii | 74,80,86,92 | 3 | read | RAD1, RAD2, RAD3, RAD4 | for modification if specified |
| isotach radii | 74,80,86,92 | 3 | write | RAD1, RAD2, RAD3, RAD4 | Unmodified |
| maximum wind speed | 48 | 3 | read | VMAX | if perturbation of VMAX was specified |
| central pressure | 53 | 4 | read | MSLP | for modification if perturbation of VMAX was specified |
| maximum wind speed | 47 | 4 | write | VMAX | perturbed if specified |
| central pressure | 53 | 4 | read | MSLP | adjusted to new VMAX if that changed |
| forecast period | 29 | 4 | write | TAU | perturbed if change in storm speed was specified |
| forecast valid | 8 | 10 | write | YYYYMMDDHH | perturbed if change in storm speed was specified |
| center latitude | 34 | 4 | read | LatN/S | if the track is perturbed |
| center longitude | 41 | 4 | read | LonE/W | if the track is perturbed |
| center latitude | 34 | 4 | write | LatN/S | new value for perturbed track |
| center longitude | 41 | 4 | write | LonE/W | new value for perturbed track |
| radius to maximum wind | 109 | 3 | write | RMW | symmetric only; perturbation to last BEST RMW value |
If the central pressure on any line with nonzero TAU in the OFCL file has a nonzero MSLP, that value is left as-is, even if a perturbation of VMAX was specified.
The following properties will be appended to the run.properties file as appropriate based on the input and command line options:
| Description | Property | Sample Value |
|---|---|---|
| track to the left or right | variation veer | 100 |
| specified change in maxiumum wind speed | variation maxWindSpeed | 20 |
| forward speed faster or slower | variation overlandSpeed | 20 |
| meteorological classification | storm class | POTENTIAL TROPICAL CYCLONE |
| name of BEST track file used as input | track_raw_dat | bal092022.dat |
| name of OFCL track file used as input | track_raw_fst | al092022.fst |
This script parses historical text forecast/advisories from html files downloaded from the National Hurricane Center archive. It creates an xml file (using a template) to simulate the xml files posted in the real time RSS feed for new forecast/advisories from the NHC. These mock RSS xml files can then be used in the ASGS to drive ADCIRC with the forecast/advisories for that storm for retrospective analysis and/or software testing.
If the name of a BEST track file is optionally provided, this script uses it to create a truncated BEST track file to accompany the mock RSS xml forecast/advisory file. The input BEST track file is truncated such that the final line is just prior to the mock RSS forecast/advisory issuance, thus mimicking the BEST track file that would be present on the NHC ftp site at the time that the advisory was issued.
Data needed from the forecast advisories to fill the XML template:
%stormClass%%stormNumber%%stormNameAllCaps%%advisoryNumber%%dateTimeIssued%%forecastAdvisoryText%-
%fileName%(either formed by this script or fed as an input param)
The template that is typically used is found in the ASGS repository under input/sample_advisories/template.index.xml with content as follows:
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<pubDate>%pubDate%</pubDate>
<title>Seahorse Coastal Consulting, LLC</title>
<description>Simulated NHC Forecast/Advisories</description>
<link>http://www.seahorsecoastal.com/</link>
<copyright>2015 Jason Fleming</copyright>
<managingEditor>[email protected]</managingEditor>
<language>en-us</language>
<webMaster>[email protected]</webMaster>
<image>
<url>http://www.seahorsecoastal.com/seahorse.png</url>
<link>http://www.seahorsecoastal.com/</link>
<description>Seahorse</description>
<title>Seahorse Coastal Consulting, LLC</title>
<width>96</width>
<height>128</height>
</image>
<item>
<title>%stormClassCase% %stormName% Forecast/Advisory Number %advisoryNumber%</title>
<description>Issued at %issuedAt% <![CDATA[<pre>
%forecastAdvisoryText%
</pre>]]></description>
<pubDate>%pubDate%</pubDate>
<link>http://www.seahorsecoastal.com/%year%/%stormNumber%/%fileName%</link>
<guid>http://www.seahorsecoastal.com/%year%/%stormNumber%/%fileName%</guid>
<author>[email protected]</author>
</item>
</channel>
</rss>For each line in the html file, this script performs the following actions
- Read and toss html before the ZCZC that indicates the start of the forecast advisory text.
- Grab the forecast advisory text, and parse parameters as required to fill in the xml template.
- Once the NNNN that signals the last line of the forecast advisory has been found, it closes the html file, and fills in the xml template.
The text of the forecast/advisory is parsed to extract the following information for the listed reasons:
| Description | Sample Advisory Text | Purpose(s) |
|---|---|---|
| basin | {AL}172005 | %fileName% |
| storm number | AL{17}2005 | %stormNumber%, %fileName% |
| year | AL17{2005} | %pubDate%, BEST truncation, %fileName% |
| forecast valid | 1500 UTC TUE JUL 18 2006 | %pubDate%, %issuedAt%, BEST truncation |
| storm name | HURRICANE {FRANCES} FORECAST/ADVISORY NUMBER 37...CORRECTED | %stormName% |
| advisory number | HURRICANE FRANCES FORECAST/ADVISORY NUMBER {37}...CORRECTED | %advisoryNumber%, %fileName%, truncated BEST track file name |
| storm class | {HURRICANE} FRANCES FORECAST/ADVISORY NUMBER 37...CORRECTED | %stormClassCase% |
If a BEST track file was supplied for temporal truncation, quality control checks are conducted as follows (with quality control failures resulting in that particular BEST track file line being discarded, and comma separated field numbers starting from 0):
| Description | Comma Separated Field | Read ATCF Field | Line Rejected If |
|---|---|---|---|
| meteorological category | 10 | TY | DB, LO, or WV |
| date | 2 | YYYYMMDDHH | later than %issuedAt% |
| analysis time | 2 | YYYYMMDD{HH} | anything other than 00, 06, 12, or 18 |
This script takes an ATCF formatted BEST track file and fills in the forecast increment (TAU) in hours according to the date/time # column, starting at zero. The resulting file can be used as input to aswip and ultimately ADCIRC's NWS19 or NWS20.
It also has the capability to time-interpolate the central pressure values from the BEST track data into an ADCIRC fort.22 for HWind data.
The BEST lines are parsed and filled in (one at a time) based on fixed width processing (as opposed to comma separated) according to the following table:
| Description | Comma Separated Field | Read ATCF Field |
|---|---|---|
| date/time | 2 | YYYYMMDDHH |
| central pressure | 9 | MSLP |
Quality control checks are conducted as follows (with quality control failures resulting in that particular BEST track file line being discarded, and comma separated field numbers starting from 0):
| Description | Comma Separated Field | Read ATCF Field | Line Rejected If |
|---|---|---|---|
| date/time | 2 | YYYYMMDDHH | greater than --issued |
| date/time | 2 | YYYYMMDDHH | earlier than model hotstart time and --rezero-hours-column was specified |
| date/time | 2 | YYYYMMDDHH | later than difference between first acceptable line and value supplied by --forecastlength (if any) |
Values are filled in to each line using fixed width notation as follows:
| Description | Column | Width | Action | ATCF Field | Notes |
|---|---|---|---|---|---|
| forecast period | 30 | 3 | write | TAU | excludes discarded lines |
| ATCF file type | 24 | 4 | write | TECH | hardcoded unless --rezero-hours-column set |
| date/time | 8 | 10 | write | YYYYMMDDHH | unless --rezero-hours-column set |
This script is also used to time interpolate central pressure values from BEST track files into fort.22 files for HWind data, but this process is beyond the scope of this document.
ATCF formatted files are used by two sets of executables that are built from the ADCIRC source code: aswip (asymmetric wind input preprocessor), and by the main ADCIRC executables adcirc, padcirc, adcswan, and padcswan.
The aswip utility was created to enable the calculation of the radius to maximum winds prior to reading the data into ADCIRC during a model run. This precalculation provides several advantages, including error checking as well as providing the analyst with fine grained control over radius to maximum winds (through modification of the resulting file prior to providing it as input to ADCIRC) as well as whether and how the isotachs are used to build wind fields during execution. This README covers aswip processing for the GAHM (NWS=20) parametric vortex model; the asymmetric (NWS=19) parametric vortex model is not included.
The aswip utility reads a fort.22 file (e.g. generated from storm_track_gen.pl) with the following fixed width Fortran statements (i=integer, a=alphanumeric, and x=space, for those unfamiliar with Fortran format statements) where the integer ient is a counter for the line number (and the array index in the Fortran array that holds the resulting value):
READ(22,22) advr(ient), iyear(ient),imth(ient),iday(ient),
& ihr(ient), castType(ient),iFcstInc(ient), ilat(ient),ns,
& ilon(ient),ew, ispd(ient), icpress(ient), ivr(ient),
& (ir(ient,i),i=1,4), ipn(ient), atcfRMW(ient),
& dir(ient),speed(ient), stormname(ient)
22 FORMAT(3x, i3, 2x, i4, 3i2, 6x, a4, 2(2x,i3),a1, 1x, i5,
& a1, 2x, i3,2x, i4, 6x, i3, 7x, 4(i4,2x), i4, 8x, i3,
& 27x, 2(i3,2x), a10)One shortcoming with Fortran format statements is that they are cumulative; in other words, one must manually count through and add up the relative spacing to determine the absolute column that will be operated on by any particular format descriptor. In this instance the accumulation can be spelled out as follows (starting with a Fortran-style index of 1 and a real life example BEST track line):
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
AL, 09, 2021082615, , OFCL, 69, 277N, 900W, 95, 0, , 34, NEQ, 140, 130, 70, 120, 0, 0, 0, 115, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
xxxiiixxiiiiiiiiiixxxxxxaaaaxxiiixxiiiaxiiiiiaxxiiixxiiiixxxxxxiiixxxxxxxiiiixxiiiixxiiiixxiiiixxiiiixxxxxxxxiiixxxxxxxxxxxxxxxxxxxxxxxxxxxiiixxiiixxaaaaaaaaaa
3x 2x 3i2 a4 a1 i5 2x 2x 6x 7x i4 i3 2(i3,2x)
i3 i4 6x 2(2x,i3) 1x a1 i3 i4 i3 4(i4,2x) 8x 27x a10
advr iyr iday castType ilat ns ispd ivr ir1 ir2 ir3 ir4 ipn atcfRMW dir speed stormname
imth ihr iFcstInc ilon ew icpress
For each line of ATCF data that are read, aswip performs the following functions:
| Description | ATCF Field | ASWIP Var. | Action | Notes |
|---|---|---|---|---|
| storm number | CY | advr | read/write | unchanged from input to output |
| north or south latitude | LatN/S | ns, ilat | read | ilat multiplied by -1.d0 if south latitude |
| east or west longitude | LonE/W | ew, ilon | read | ilon multiplied by -1.d0 if west longitude |
| new cycle detection | TAU | iFcstInc | read | new analysis/forecast indicated if different from previous line |
| radius to maxium wind | RMW | atcfRMW | read | to help fill in missing isotachs (if present) |
| central pressure | MSLP | icpress | read/persist | if equal to zero, set to be equal to value on previous line |
| ambient barometric pressure | POUTER | ipn | read/set | set to 1013mb or 1mb higher than central pressure (whichever is greater) |
| storm translation speed | SPEED(ref) | h_speed | compute | from consecutive LatN/S, LonE/W, and TAU |
| maximum wind speed | VMAX | Vmax | read/use | input to vortex model subroutine for Rmax computation |
| ambient barometric pressure | POUTER | ipn | use | input to vortex model subroutine for Rmax computation |
| central pressure | MSLP | icpress | use | input to vortex model subroutine for Rmax computation |
Notes
- The
aswiputility requires theTAUcolumn to be a monotonically increasing number of hours. - The storm translation velocity for the very first cycle will be set equal to the storm translation velocity of the 2nd cycle. All other storm translation velocities at cycle
iare computed based on comparison of relative storm location and time elapsed since cyclei-1. - The ADCIRC vortex module produces NaNs for wind velocity if the storm translation velocity is zero. If this occurs (stationary storm) then
aswipsets the storm speed to unity and the storm translation direction equal to the value on the previous line. If there is no previous line, then it sets the storm translation direction equal to zero (i.e., due north). - If the isotach speed (
RAD) from the file is zero, the isotach speed will be set toVMAXfor the purposes of Rmax computation.
If any of the four isotach radii are missing (a common occurrence), the missing values are estimated as follows (with a numerical example of each one):
| Number missing | Action | RAD1 | RAD2 | RAD3 | RAD4 | New Values |
|---|---|---|---|---|---|---|
| 1 | use average of the radii on either side | 30 | 30 | 0 | 20 | 30,30,25,20 |
| 2 | use half the average of the given radii | 40 | 0 | 0 | 50 | 40,22,22,50 |
| 3 | use half the radius that was given | 30 | 0 | 0 | 0 | 30,15,15,15 |
| 4 (all) | use RMW if nonzero, otherwise set to 40 | 0 | 0 | 0 | 0 | 60,60,60,60 |
The last example above is for a line with an RMW field set to 60. If RMW was not set, the RAD1-RAD4 columns would have been set to 40 (hardcoded).
Once these values are read in and set, ADCIRC subroutines are called to compute the Rmax values in each quadrant, as well as some other derived parameters. The data are then dumped to a fixed width ATCF file.
When writing out the ATCF data, the output file name is hardcoded to NWS_20_fort.22 and the write format statement is as follows:
case(20)
WRITE(222,27) advr(ient), iyear(ient),imth(ient),iday(ient),
& ihr(ient), castType(ient),iFcstInc(ient), ilat(ient),ns,
& ilon(ient),ew, ispd(ient), icpress(ient), ivr(ient),
& (ir(ient,i),i=1,4), ipn(ient), atcfRMW(ient),
& nint(h_dir(ient)),nint(h_speed(ient)), stormname(ient),
& cycle_num(ient),isotachs_per_cycle(cycle_num(ient)),
& (quadflag(ient,i),i=1,4),(rmaxw(ient,i),i=1,4),
& HollB(ient),(HollBs(ient,i),i=1,4),
& (VmaxesBL(ient,i),i=1,4)with Fortran formatting statement as follows:
!-----------------------------------
! NHC advisory best-track i/o format
! WITH nws=20 ADDED DATA
!-----------------------------------
27 FORMAT("AL,",1x,i2.2,",",i5,3i2.2,",",3x,",",1x,a4,",",
& i4,",",i4,a1,",",i5,a1,",",i4,",",i5,",",3x,",",i4,",",
& " NEQ,",5(i5,","),5x,",",i4,", ",5(4x,","),i3,", ",i3,",",
& a10," ",1x,",",i4,",",i5,",",1x, 4(i1,",",1x),2x,
& 4(f6.1,",",1x),1x, 8(f8.4,",",1x), f8.4)In this instance the accumulation of Fortran format descriptors can be spelled out as follows (starting with a Fortran-style index of 1 and a real life example BEST track line):
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
AL, 09, 2021082615, , OFCL, 69, 277N, 900W, 95, 0, , 34, NEQ, 140, 130, 70, 120, 0, 0, 0, 115, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
xxxiiixxiiiiiiiiiixxxxxxaaaaxxiiixxiiiaxiiiiiaxxiiixxiiiixxxxxxiiixxxxxxxiiiixxiiiixxiiiixxiiiixxiiiixxxxxxxxiiixxxxxxxxxxxxxxxxxxxxxxxxxxxiiixxiiixxaaaaaaaaaa
3x 2x 3i2 a4 a1 i5 2x 2x 6x 7x i4 i3 2(i3,2x)
i3 i4 6x 2(2x,i3) 1x a1 i3 i4 i3 4(i4,2x) 8x 27x a10
advr iyr iday castType ilat ns ispd ivr ir1 ir2 ir3 ir4 ipn atcfRMW dir speed stormname
imth ihr iFcstInc ilon ew icpress
The symmetric Holland model requires much less data than the Generalized Asymmetric Holland Model (GAHM). The main difference is that storm shape (i.e., isotach) data is not required. The Fortran READ and FORMAT lines are as follows:
READ(UNIT=22,FMT=228,END=9999)
& iYear(i),iMth(i),iDay(i),iHr(i),
& CastType(i),iFcstInc(i),iLat(i),ns(i),iLon(i),ew(i),
& iSpd(i),iCPress(i),iRRP(i),iRMW(i)
C yr,mo,dy,hr, ,type, inc, lat,NS, lon,EW, spd, pc, RRP, RMW
228 FORMAT(8x,i4,i2,i2,i2,6x,a4,2x,i3,1x,i4,a1,2x,i4,a1,2x,i3,2x,i4,47x,i3,2x,i3)The RRP (radius to the last closed isobar) is loaded from the BEST track file, but is not actually used in the code for the symmetric vortex mode. Looking at the top of the BEST track file for Hurricane Floyd:
AL, 08, 1999090718, , BEST, 0, 146N, 456W, 25, 1008, TD, , , , , , , , , , , , , , , , , FLOYD,
AL, 08, 1999090800, , BEST, 0, 150N, 469W, 30, 1007, TD, , , , , , , , , , , , , , , , , FLOYD,
This file is missing the radius to the last closed isobar (RRP) and the radius to maximum winds (RMW). We need to fill in the RRP value so that ADCIRC can read it, but it is not used in the code, so the value does not matter. As a result, we can fill in 300 nautical miles on all lines for RRP. The RMW is not found in the file, so we will apply a reasonable and typical value of 25 nautical miles.
The official documentation for the Automated Tropical Cyclone Format (ATCF) data (last updated 8/31/2016) contains the information described below.
- ATCF best track, aids, bogus format 8/31/2016
- See the notes on missing and deprecated data at the end of this document.
- Common section, fields 1-36, followed by user-data section which is not predefined.
The names of the fields in an ATCF-formatted file are as follows:
BASIN, CY, YYYYMMDDHH, TECHNUM/MIN, TECH, TAU, LatN/S, LonE/W, VMAX, MSLP, TY, RAD, WINDCODE, RAD1, RAD2, RAD3, RAD4, POUTER, ROUTER, RMW, GUSTS, EYE, SUBREGION, MAXSEAS, INITIALS, DIR, SPEED, STORMNAME, DEPTH, SEAS, SEASCODE, SEAS1, SEAS2, SEAS3, SEAS4, USERDEFINED, userdata
I have added commentary after the official definitions to provide clarification and additional information. My commentary (if any) is preceded by jgf: (my initials).
- BASIN
- basin, e.g. WP, IO, SH, CP, EP, AL, LS
- CY
- annual cyclone number: 1 - 99
- YYYYMMDDHH
- Warning Date-Time-Group, yyyymmddhh: 0000010100 through 9999123123
- TECHNUM/MIN
- objective technique sorting number, minutes for best track: 00 - 99
- TECH
- acronym for each objective technique or CARQ or WRNG, BEST for best track, up to 4 chars.
- TAU
- forecast period: -24 through 240 hours, 0 for best-track, negative taus used for CARQ and WRNG records.
- LatN/S
- Latitude for the DTG: 0 - 900 tenths of degrees, N/S is the hemispheric index.
- LonE/W
- Longitude for the DTG: 0 - 1800 tenths of degrees, E/W is the hemispheric index.
- VMAX
- Maximum sustained wind speed in knots: 0 - 300 kts.
- MSLP
- Minimum sea level pressure, 850 - 1050 mb.
- TY
- Highest level of tc development:
- DB - disturbance
- TD - tropical depression
- TS - tropical storm
- TY - typhoon
- ST - super typhoon
- TC - tropical cyclone
- HU - hurricane
- SD - subtropical depression
- SS - subtropical storm
- EX - extratropical systems
- PT - post tropical
- IN - inland
- DS - dissipating
- LO - low
- WV - tropical wave
- ET - extrapolated
- MD - monsoon depression
- XX - unknown
- RAD
- Wind intensity for the radii defined in this record: 34, 50 or 64 kt.
- WINDCODE
- Radius code: AAA - full circle; NEQ, SEQ, SWQ, NWQ - quadrant
- RAD1
- If full circle, radius of specified wind intensity, or radius of first quadrant wind intensity as specified by WINDCODE. 0 - 999 n mi
- RAD2
- If full circle this field not used, or radius of 2nd quadrant wind intensity as specified by WINDCODE. 0 - 999 n mi.
- RAD3
- If full circle this field not used, or radius of 3rd quadrant wind intensity as specified by WINDCODE. 0 - 999 n mi.
- RAD4
- If full circle this field not used, or radius of 4th quadrant wind intensity as specified by WINDCODE. 0 - 999 n mi.
- POUTER
- pressure in millibars of the last closed isobar, 900 - 1050 mb.
- ROUTER
- radius of the last closed isobar, 0 - 999 n mi.
- RMW
- radius of max winds, 0 - 999 n mi.
- GUSTS
- gusts, 0 - 999 kt.
- EYE
- eye diameter, 0 - 120 n mi.
- SUBREGION
- subregion code: W,A,B,S,P,C,E,L,Q.
- A - Arabian Sea
- B - Bay of Bengal
- C - Central Pacific
- E - Eastern Pacific
- L - Atlantic
- P - South Pacific (135E - 120W)
- Q - South Atlantic
- S - South IO (20E - 135E)
- W - Western Pacific
- MAXSEAS
- max seas: 0 - 999 ft.
- INITIALS
- Forecaster's initials used for tau 0 WRNG or OFCL, up to 3 chars.
- DIR
- storm direction, 0 - 359 degrees.
- SPEED
- storm speed, 0 - 999 kts.
- STORMNAME
- literal storm name, number, NONAME or INVEST, or TCcyx where:
- cy = Annual cyclone number 01 - 99
- x = Subregion code: W,A,B,S,P,C,E,L,Q.
- DEPTH
- system depth
- D - deep
- M - medium
- S - shallow
- X - unknown
- SEAS
- Wave height for radii defined in SEAS1 - SEAS4, 0 - 99 ft.
- SEASCODE
- Radius code: AAA - full circle; NEQ, SEQ, SWQ, NWQ - quadrant
- SEAS1
- first quadrant seas radius as defined by SEASCODE, 0 - 999 n mi.
- SEAS2
- second quadrant seas radius as defined by SEASCODE, 0 - 999 n mi.
- SEAS3
- third quadrant seas radius as defined by SEASCODE, 0 - 999 n mi.
- SEAS4
- fourth quadrant seas radius as defined by SEASCODE, 0 - 999 n mi.
- USERDEFINE1
- 1 to 20 character description of user data to follow.
- userdata1
- user data section as indicated by USERDEFINED parameter (up to 100 char).
- USERDEFINE2
- 1 to 20 character description of user data to follow.
- userdata2
- user data section as indicated by USERDEFINED parameter (up to 100 char).
- USERDEFINE3
- 1 to 20 character description of user data to follow.
- userdata3
- user data section as indicated by USERDEFINED parameter (up to 100 char).
- USERDEFINE4
- 1 to 20 character description of user data to follow.
- userdata4
- user data section as indicated by USERDEFINED parameter (up to 100 char).
- USERDEFINE5
- 1 to 20 character description of user data to follow.
- userdata5
- user data section as indicated by USERDEFINED parameter (up to 100 char).
Examples of USERDEFINED/userdata pairs:
- An invest spawned from a genesis area:
SPAWNINVEST, wp712015 to wp902015 - An invest area transitioning to a TC:
TRANSITIONED, shE92015 to sh152015 - A TC dissipated to an invest area:
DISSIPATED, sh162015 sh982015 - A genesis area number:
genesis-num, 001
From the official documentation:
-
No missing data allowed for first eight common fields. Missing data for other fields are expected to be blank characters between the comma delimiters. Although the files are not column dependent please insure that the proper number of blank characters is included in missing data so the columns line up. This makes the files easier to read and troubleshoot. jgf: The fields absolutely are column dependent (fixed width); see my commentary in note 6 below.
-
The USERDEFINED section is for inclusion of items not already in the common fields. The USERDEFINED parameter is 1 to 20 characters, so there should be sufficient space to include some text describing what comes next. jgf: The examples above show that the NHC creates
userdatafields with embedded commas (without quotation marks surrounding the field), which is a showstopper for any sort of comma-delimited parsing. -
Wind records merged in from preexisting wind files (r-decks) were assigned a TECH of CNTR. Wind records created during normal use of this combined data format are assigned the TECH corresponding to the center name as defined in $ATCFINC/atcfsite.nam.
-
WINDCODE and SEASCODE other than AAA, NEQ, SEQ, SWQ and NWQ exist in older data but have been deprecated.
-
RAD values of 100 exist in old data (earlier than 2005) but have been deprecated. Currently only 34, 50 and 64 are valid for RAD. jgf: Units are knots, i.e., nautical miles per hour.
-
The fields are not column dependent, but the files are easier to read and troubleshoot if the columns line up. The fields are comma and space delimited. jgf: This is misleading; even the official documentation above refers to the expected number of characters in some (not all) of the fields. In general, if the fields in any data file are space delimited (fixed width), we wouldn't need commas; if the fields are comma delimited, we wouldn't need spaces. If an analyst were to remove all the spaces in an ATCF file and keep the commas, the file would not be parsed successfully. On the other hand, if an analyst keeps the spaces as specified and ignores the commas during parsing (as
ADCIRCandaswipdo), the file will still be parsed successfully. Therefore, ATCF files should always be treated as fixed width.
The desired field widths and preferred ATCF application ranges are as follows:
| field | width | range |
|---|---|---|
| BASIN | 2 | WP, EP, CP, IO, SH, AL, SL as defined in basin.dat |
| CY | 2 | 01 to 99, 01 to 49 are real storms, 80 to 89 are test storms, 90 to 99 are INVESTS |
| YYYYMMDDHH | 10 | only valid DTGs |
| TECHNUM/MIN | 2 | 00 <= TECHNUM <= 99, 00 <= MIN < 60 |
| TECH | 4 | up to four alphanumeric characters |
| TAU | 3 | -24 <= TAU <= 240 hours |
| LatN/S | 4 | 0 <= Lat <= 900 N/S, in tenths of degrees |
| LonE/W | 5 | 0 <= Lon <=1800 E/W, in tenths of degrees |
| VMAX | 3 | 10 <= VMAX <= 250 kt |
| MSLP | 4 | 850 to 1050 mb |
| TY | 2 | as defined in tcdevel.dat |
| RAD | 3 | 34, 50, 64 kt |
| WINDCODE | 3 | AAA, NEQ, SEQ, SWQ, NWQ |
| RAD1 | 4 | MRD < RAD1 <= 999 n mi, 64 kt RAD1 < 50 kt RAD1 < 34 kt RAD1; 0 for no radius in quadrant, blank for unknown |
| RAD2 | 4 | See RAD1 |
| RAD3 | 4 | See RAD1 |
| RAD4 | 4 | See RAD1 |
| POUTER | 4 | MSLP < RADP < 1050 mb |
| ROUTER | 4 | EYE < RRP <= 999 n mi |
| RMW | 3 | 0 < MRD <= RAD1, RAD2, RAD3, and RAD4 |
| GUSTS | 3 | VMAX < GUSTS < 300 kt |
| EYE | 3 | RRP < EYE < 120 n mi |
| SUBREGION | 3 | W,E,C,A,B,S,P,L,Q - basin.dat |
| MAXSEAS | 3 | 0 < MAXSEAS < 200 ft |
| INITIALS | 3 | |
| DIR | 3 | 0 <= DIR < 360 |
| SPEED | 3 | 0 <= SPEED < 100 kt |
| STORMNAME | 10 | |
| DEPTH | 1 | D, M, S, X |
| SEAS | 2 | 0 < SEAS < 100 ft |
| SEASCODE | 3 | AAA, NEW, SEQ, SWQ, NWQ |
| SEAS1 | 4 | 0 < SEAS1 <= 999 n mi |
| SEAS2 | 4 | See SEAS1 |
| SEAS3 | 4 | See SEAS1 |
| SEAS4 | 4 | See SEAS1 |
| USERDEFINED | up to 20 | 1 to 20 characters of alphanumeric data |
| userdata | up to 200 |
BEST track file for Hurricane Ian (2022) advisory 15:
AL, 09, 2022091912, , BEST, 0, 99N, 466W, 20, 1012, DB, 0, , 0, 0, 0, 0, 0, 0, 0, 0, 0, L, 0, , 0, 0, GENESIS028, , 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022091918, , BEST, 0, 101N, 482W, 15, 1012, DB, 0, , 0, 0, 0, 0, 0, 0, 0, 0, 0, L, 0, , 0, 0, GENESIS028, , 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092000, , BEST, 0, 100N, 498W, 20, 1012, DB, 0, , 0, 0, 0, 0, 0, 0, 0, 0, 0, L, 0, , 0, 0, GENESIS028, , 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092006, , BEST, 0, 102N, 519W, 25, 1012, DB, 0, , 0, 0, 0, 0, 0, 0, 0, 0, 0, L, 0, , 0, 0, GENESIS028, , 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092012, , BEST, 0, 100N, 550W, 30, 1010, DB, 0, , 0, 0, 0, 0, 1012, 150, 90, 0, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028, SPAWNINVEST, al712022 to al982022,
AL, 09, 2022092018, , BEST, 0, 101N, 560W, 30, 1009, DB, 0, , 0, 0, 0, 0, 1010, 150, 90, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092100, , BEST, 0, 102N, 566W, 30, 1009, DB, 0, , 0, 0, 0, 0, 1011, 150, 90, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092106, , BEST, 0, 102N, 578W, 30, 1009, DB, 0, , 0, 0, 0, 0, 1011, 150, 90, 0, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092112, , BEST, 0, 105N, 595W, 30, 1007, DB, 0, , 0, 0, 0, 0, 1010, 150, 90, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092118, , BEST, 0, 109N, 614W, 30, 1007, DB, 0, , 0, 0, 0, 0, 1010, 150, 90, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092200, , BEST, 0, 112N, 628W, 30, 1007, DB, 0, , 0, 0, 0, 0, 1010, 150, 90, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092206, , BEST, 0, 113N, 641W, 30, 1007, DB, 0, , 0, 0, 0, 0, 1010, 150, 90, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092212, , BEST, 0, 117N, 651W, 30, 1007, DB, 0, , 0, 0, 0, 0, 1010, 150, 90, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092218, , BEST, 0, 123N, 663W, 30, 1006, LO, 0, , 0, 0, 0, 0, 1010, 150, 70, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092300, , BEST, 0, 129N, 672W, 30, 1006, LO, 0, , 0, 0, 0, 0, 1010, 150, 70, 40, 0, L, 0, , 0, 0, INVEST, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092306, , BEST, 0, 137N, 681W, 30, 1006, TD, 0, , 0, 0, 0, 0, 1010, 150, 60, 40, 0, L, 0, , 0, 0, NINE, S, 0, , 0, 0, 0, 0, genesis-num, 028, TRANSITIONED, alB82022 to al092022,
AL, 09, 2022092312, , BEST, 0, 141N, 695W, 30, 1006, TD, 0, , 0, 0, 0, 0, 1010, 130, 60, 40, 0, L, 0, , 0, 0, NINE, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092318, , BEST, 0, 146N, 706W, 30, 1006, TD, 0, , 0, 0, 0, 0, 1010, 130, 60, 40, 0, L, 0, , 0, 0, NINE, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092400, , BEST, 0, 148N, 716W, 35, 1005, TS, 34, NEQ, 0, 0, 0, 30, 1010, 140, 30, 45, 0, L, 0, , 0, 0, IAN, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092406, , BEST, 0, 147N, 728W, 35, 1005, TS, 34, NEQ, 0, 0, 0, 30, 1010, 160, 30, 45, 0, L, 0, , 0, 0, IAN, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092412, , BEST, 0, 144N, 745W, 40, 1003, TS, 34, NEQ, 0, 0, 0, 50, 1010, 160, 30, 50, 0, L, 0, , 0, 0, IAN, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092418, , BEST, 0, 144N, 762W, 40, 1003, TS, 34, NEQ, 0, 0, 0, 50, 1010, 160, 30, 50, 0, L, 0, , 0, 0, IAN, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092500, , BEST, 0, 146N, 772W, 45, 1002, TS, 34, NEQ, 40, 0, 0, 50, 1009, 190, 30, 55, 0, L, 0, , 0, 0, IAN, S, 0, , 0, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092506, , BEST, 0, 146N, 783W, 45, 1003, TS, 34, NEQ, 40, 0, 0, 50, 1008, 180, 30, 55, 0, L, 0, , 0, 0, IAN, S, 12, NEQ, 0, 0, 0, 30, genesis-num, 028,
AL, 09, 2022092512, , BEST, 0, 150N, 794W, 40, 1003, TS, 34, NEQ, 40, 0, 0, 50, 1008, 180, 30, 55, 0, L, 0, , 0, 0, IAN, S, 12, NEQ, 30, 0, 0, 30, genesis-num, 028,
AL, 09, 2022092518, , BEST, 0, 157N, 800W, 40, 1003, TS, 34, NEQ, 30, 0, 0, 0, 1008, 180, 30, 50, 0, L, 0, , 0, 0, IAN, S, 12, NEQ, 30, 0, 0, 45, genesis-num, 028,
AL, 09, 2022092600, , BEST, 0, 169N, 809W, 50, 991, TS, 34, NEQ, 60, 60, 0, 30, 1007, 120, 30, 60, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 30, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092600, , BEST, 0, 169N, 809W, 50, 991, TS, 50, NEQ, 30, 0, 0, 0, 1007, 120, 30, 60, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 30, 0, 0, 0, genesis-num, 028,
AL, 09, 2022092606, , BEST, 0, 177N, 817W, 65, 985, HU, 34, NEQ, 70, 70, 30, 70, 1007, 150, 15, 80, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 45, 30, 30, 30, genesis-num, 028,
AL, 09, 2022092606, , BEST, 0, 177N, 817W, 65, 985, HU, 50, NEQ, 30, 30, 0, 20, 1007, 150, 15, 80, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 45, 30, 30, 30, genesis-num, 028,
AL, 09, 2022092606, , BEST, 0, 177N, 817W, 65, 985, HU, 64, NEQ, 15, 0, 0, 0, 1007, 150, 15, 80, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 45, 30, 30, 30, genesis-num, 028,
AL, 09, 2022092612, , BEST, 0, 187N, 824W, 70, 981, HU, 34, NEQ, 90, 80, 40, 90, 1008, 150, 15, 85, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 60, 30, 30, 60, genesis-num, 028,
AL, 09, 2022092612, , BEST, 0, 187N, 824W, 70, 981, HU, 50, NEQ, 40, 40, 0, 30, 1008, 150, 15, 85, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 60, 30, 30, 60, genesis-num, 028,
AL, 09, 2022092612, , BEST, 0, 187N, 824W, 70, 981, HU, 64, NEQ, 20, 0, 0, 0, 1008, 150, 15, 85, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 60, 30, 30, 60, genesis-num, 028,
AL, 09, 2022092618, , BEST, 0, 197N, 830W, 80, 976, HU, 34, NEQ, 100, 90, 60, 90, 1008, 150, 20, 100, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 120, 60, 30, 75, genesis-num, 028,
AL, 09, 2022092618, , BEST, 0, 197N, 830W, 80, 976, HU, 50, NEQ, 50, 50, 20, 30, 1008, 150, 20, 100, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 120, 60, 30, 75, genesis-num, 028,
AL, 09, 2022092618, , BEST, 0, 197N, 830W, 80, 976, HU, 64, NEQ, 30, 25, 0, 20, 1008, 150, 20, 100, 0, L, 0, , 0, 0, IAN, D, 12, NEQ, 120, 60, 30, 75, genesis-num, 028,
OFCL file for Hurricane Ian (2022) for advisory 15:
AL, 09, 2022092621, , OFCL, 0, 203N, 832W, 85, 972, , 34, NEQ, 100, 90, 60, 90, 0, 0, 0, 105, 0, , 0, TBK, 330, 11, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 0, 203N, 832W, 85, 972, , 50, NEQ, 50, 50, 20, 30, 0, 0, 0, 105, 0, , 0, TBK, 330, 11, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 0, 203N, 832W, 85, 972, , 64, NEQ, 30, 25, 0, 20, 0, 0, 0, 105, 0, , 0, TBK, 330, 11, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 9, 217N, 838W, 105, 0, , 34, NEQ, 120, 110, 70, 100, 0, 0, 0, 130, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 9, 217N, 838W, 105, 0, , 50, NEQ, 60, 50, 40, 50, 0, 0, 0, 130, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 9, 217N, 838W, 105, 0, , 64, NEQ, 30, 25, 20, 20, 0, 0, 0, 130, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 21, 236N, 840W, 115, 0, , 34, NEQ, 130, 120, 90, 120, 0, 0, 0, 140, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 21, 236N, 840W, 115, 0, , 50, NEQ, 60, 60, 50, 50, 0, 0, 0, 140, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 21, 236N, 840W, 115, 0, , 64, NEQ, 35, 30, 25, 30, 0, 0, 0, 140, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 33, 253N, 839W, 120, 0, , 34, NEQ, 140, 130, 110, 140, 0, 0, 0, 145, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 33, 253N, 839W, 120, 0, , 50, NEQ, 70, 70, 60, 60, 0, 0, 0, 145, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 33, 253N, 839W, 120, 0, , 64, NEQ, 35, 35, 30, 30, 0, 0, 0, 145, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 45, 267N, 835W, 115, 0, , 34, NEQ, 150, 140, 110, 150, 0, 0, 0, 140, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 45, 267N, 835W, 115, 0, , 50, NEQ, 80, 70, 60, 70, 0, 0, 0, 140, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 45, 267N, 835W, 115, 0, , 64, NEQ, 40, 40, 35, 35, 0, 0, 0, 140, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 57, 275N, 832W, 100, 0, , 34, NEQ, 180, 130, 120, 150, 0, 0, 0, 120, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 57, 275N, 832W, 100, 0, , 50, NEQ, 80, 70, 60, 70, 0, 0, 0, 120, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 69, 281N, 829W, 75, 0, , 34, NEQ, 180, 130, 120, 150, 0, 0, 0, 90, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 69, 281N, 829W, 75, 0, , 50, NEQ, 60, 50, 50, 60, 0, 0, 0, 90, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 93, 301N, 823W, 45, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 55, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2022092621, , OFCL, 117, 335N, 820W, 25, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 35, 0, , 0, TBK, 65, 17, IAN , , 12, NEQ, 60, 60, 0, 0
OFCL file for Hurricane Ida (2021) for advisory 1:
AL, 09, 2021082615, , OFCL, 0, 169N, 792W, 30, 1005, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 40, 0, , 0, TBK, 325, 11, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 9, 182N, 804W, 35, 0, , 34, NEQ, 60, 40, 0, 60, 0, 0, 0, 45, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 21, 203N, 820W, 45, 0, , 34, NEQ, 80, 50, 20, 60, 0, 0, 0, 55, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 33, 225N, 839W, 55, 0, , 34, NEQ, 90, 60, 40, 70, 0, 0, 0, 65, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 33, 225N, 839W, 55, 0, , 50, NEQ, 30, 0, 0, 0, 0, 0, 0, 65, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 45, 244N, 860W, 65, 0, , 34, NEQ, 110, 80, 60, 90, 0, 0, 0, 80, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 45, 244N, 860W, 65, 0, , 50, NEQ, 40, 40, 30, 40, 0, 0, 0, 80, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 45, 244N, 860W, 65, 0, , 64, NEQ, 20, 20, 0, 20, 0, 0, 0, 80, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 57, 261N, 881W, 80, 0, , 34, NEQ, 130, 110, 60, 110, 0, 0, 0, 100, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 57, 261N, 881W, 80, 0, , 50, NEQ, 50, 50, 30, 50, 0, 0, 0, 100, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 69, 277N, 900W, 95, 0, , 34, NEQ, 140, 130, 70, 120, 0, 0, 0, 115, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 69, 277N, 900W, 95, 0, , 50, NEQ, 50, 50, 30, 50, 0, 0, 0, 115, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 93, 305N, 920W, 70, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 85, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
AL, 09, 2021082615, , OFCL, 117, 337N, 912W, 30, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 40, 0, , 0, TBK, 65, 17, NINE , , 12, NEQ, 60, 60, 0, 0
BEST track file for Hurricane Ian (2022) advisory 1:
AL, 09, 2021082406, , BEST, 0, 118N, 642W, 20, 1009, DB, 0, , 0, 0, 0, 0, 1011, 120, 90, 0, 0, L, 0, , 0, 0, INVEST, ,
AL, 09, 2021082412, , BEST, 0, 120N, 664W, 20, 1008, DB, 0, , 0, 0, 0, 0, 1010, 120, 90, 0, 0, L, 0, , 0, 0, INVEST, ,
AL, 09, 2021082418, , BEST, 0, 121N, 686W, 25, 1006, DB, 0, , 0, 0, 0, 0, 1009, 120, 90, 0, 0, L, 0, , 0, 0, INVEST, ,
AL, 09, 2021082500, , BEST, 0, 123N, 708W, 25, 1006, DB, 0, , 0, 0, 0, 0, 1009, 120, 90, 0, 0, L, 0, , 0, 0, INVEST, S,
AL, 09, 2021082506, , BEST, 0, 125N, 731W, 25, 1006, DB, 0, , 0, 0, 0, 0, 1009, 130, 100, 0, 0, L, 0, , 0, 0, INVEST, S,
AL, 09, 2021082512, , BEST, 0, 131N, 749W, 30, 1006, DB, 0, , 0, 0, 0, 0, 1010, 130, 90, 35, 0, L, 0, , 0, 0, INVEST, M,
AL, 09, 2021082518, , BEST, 0, 135N, 760W, 30, 1006, DB, 0, , 0, 0, 0, 0, 1010, 150, 80, 40, 0, L, 0, , 0, 0, INVEST, M,
AL, 09, 2021082600, , BEST, 0, 140N, 770W, 30, 1006, DB, 0, , 0, 0, 0, 0, 1009, 150, 80, 0, 0, L, 0, , 0, 0, INVEST, M,
AL, 09, 2021082606, , BEST, 0, 152N, 780W, 30, 1006, DB, 0, , 0, 0, 0, 0, 1009, 150, 80, 40, 0, L, 0, , 0, 0, INVEST, M,
AL, 09, 2021082612, , BEST, 0, 164N, 790W, 30, 1005, TD, 34, NEQ, 0, 0, 0, 0, 1008, 150, 60, 40, 0, L, 0, , 0, 0, NINE, M, 0, , 0, 0, 0, 0, TRANSITIONED, alB92021 to al092021,
The off-the-shelf BEST track file for Superstorm Sandy contains some idiosyncracies that can be difficult to handle. This section offers a step-by-step walkthrough of the warnings that were logged and how they were handled.
While working on a hindcast of Superstorm Sandy (i.e., nowcast through advisory 31) with ASGS, the following BEST track file was used:
AL, 18, 2012102118, , BEST, 0, 143N, 774W, 25, 1006, LO, 0, , 0, 0, 0, 0, 1008, 180, 150, 35, 0, L, 0, , 0, 0, INVEST, S,
AL, 18, 2012102200, , BEST, 0, 139N, 778W, 25, 1005, LO, 0, , 0, 0, 0, 0, 1008, 180, 150, 35, 0, L, 0, , 0, 0, INVEST, S,
AL, 18, 2012102206, , BEST, 0, 135N, 782W, 25, 1003, LO, 0, , 0, 0, 0, 0, 1008, 225, 75, 35, 0, L, 0, , 0, 0, INVEST, M,
AL, 18, 2012102212, , BEST, 0, 131N, 786W, 30, 1002, TD, 0, , 0, 0, 0, 0, 1007, 250, 75, 0, 0, L, 0, , 0, 0, EIGHTEEN, M,
AL, 18, 2012102218, , BEST, 0, 127N, 787W, 35, 1000, TS, 34, NEQ, 50, 60, 0, 0, 1007, 250, 60, 45, 0, L, 0, , 0, 0, EIGHTEEN, M,
AL, 18, 2012102300, , BEST, 0, 126N, 784W, 40, 998, TS, 34, NEQ, 50, 60, 0, 0, 1007, 250, 40, 50, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 60, 60, 0, 0
AL, 18, 2012102306, , BEST, 0, 129N, 781W, 40, 998, TS, 34, NEQ, 70, 80, 0, 0, 1005, 240, 60, 50, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 60, 45, 0, 45
AL, 18, 2012102312, , BEST, 0, 134N, 779W, 40, 995, TS, 34, NEQ, 100, 100, 0, 0, 1005, 240, 60, 55, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012102318, , BEST, 0, 140N, 776W, 45, 993, TS, 34, NEQ, 100, 120, 0, 0, 1005, 240, 60, 55, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 75, 60, 0, 50
AL, 18, 2012102400, , BEST, 0, 147N, 773W, 55, 990, TS, 34, NEQ, 100, 150, 40, 40, 1007, 300, 60, 60, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 90, 90, 0, 50
AL, 18, 2012102400, , BEST, 0, 147N, 773W, 55, 990, TS, 50, NEQ, 0, 70, 0, 0, 1007, 300, 60, 60, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 90, 90, 0, 50
AL, 18, 2012102406, , BEST, 0, 156N, 771W, 60, 987, TS, 34, NEQ, 100, 150, 50, 50, 1007, 300, 45, 65, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 0, 0
AL, 18, 2012102406, , BEST, 0, 156N, 771W, 60, 987, TS, 50, NEQ, 50, 70, 20, 20, 1007, 300, 45, 65, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 0, 0
AL, 18, 2012102412, , BEST, 0, 166N, 769W, 65, 981, HU, 34, NEQ, 120, 160, 70, 70, 1006, 285, 40, 75, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 45, 100
AL, 18, 2012102412, , BEST, 0, 166N, 769W, 65, 981, HU, 50, NEQ, 50, 60, 40, 30, 1006, 285, 40, 75, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 45, 100
AL, 18, 2012102412, , BEST, 0, 166N, 769W, 65, 981, HU, 64, NEQ, 20, 20, 0, 0, 1006, 285, 40, 75, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 45, 100
AL, 18, 2012102418, , BEST, 0, 177N, 767W, 75, 972, HU, 34, NEQ, 150, 180, 70, 70, 1005, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102418, , BEST, 0, 177N, 767W, 75, 972, HU, 50, NEQ, 50, 60, 40, 40, 1005, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102418, , BEST, 0, 177N, 767W, 75, 972, HU, 64, NEQ, 25, 30, 20, 25, 1005, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 34, NEQ, 150, 180, 70, 70,
AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 50, NEQ, 50, 60, 40, 40,
AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 64, NEQ, 25, 30, 20, 25,
AL, 18, 2012102500, , BEST, 0, 189N, 764W, 85, 964, HU, 34, NEQ, 180, 240, 70, 70, 1005, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102500, , BEST, 0, 189N, 764W, 85, 964, HU, 50, NEQ, 50, 60, 40, 40, 1005, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102500, , BEST, 0, 189N, 764W, 85, 964, HU, 64, NEQ, 30, 30, 25, 25, 1005, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 34, NEQ, 240, 240, 70, 120,
AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 50, NEQ, 50, 60, 40, 40,
AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 64, NEQ, 30, 30, 25, 25,
AL, 18, 2012102506, , BEST, 0, 201N, 760W, 100, 954, HU, 34, NEQ, 240, 240, 70, 120, 1005, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102506, , BEST, 0, 201N, 760W, 100, 954, HU, 50, NEQ, 50, 60, 40, 40, 1005, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102506, , BEST, 0, 201N, 760W, 100, 954, HU, 64, NEQ, 25, 20, 20, 20, 1005, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 34, NEQ, 240, 240, 70, 180,
AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 50, NEQ, 50, 60, 40, 40,
AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 64, NEQ, 25, 20, 20, 20,
AL, 18, 2012102512, , BEST, 0, 217N, 755W, 95, 966, HU, 34, NEQ, 240, 240, 70, 240, 1005, 320, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 180, 360, 120, 180
AL, 18, 2012102512, , BEST, 0, 217N, 755W, 95, 966, HU, 50, NEQ, 60, 60, 40, 50, 1005, 320, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 180, 360, 120, 180
AL, 18, 2012102512, , BEST, 0, 217N, 755W, 95, 966, HU, 64, NEQ, 30, 30, 20, 20, 1005, 320, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 180, 360, 120, 180
AL, 18, 2012102518, , BEST, 0, 233N, 753W, 90, 963, HU, 34, NEQ, 270, 270, 120, 270, 1005, 350, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 360, 270, 0, 180
AL, 18, 2012102518, , BEST, 0, 233N, 753W, 90, 963, HU, 50, NEQ, 60, 60, 40, 50, 1005, 350, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 360, 270, 0, 180
AL, 18, 2012102518, , BEST, 0, 233N, 753W, 90, 963, HU, 64, NEQ, 30, 30, 20, 20, 1005, 350, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 360, 270, 0, 180
AL, 18, 2012102600, , BEST, 0, 248N, 759W, 75, 965, HU, 34, NEQ, 300, 300, 160, 270, 1007, 375, 20, 105, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 300, 60, 180
AL, 18, 2012102600, , BEST, 0, 248N, 759W, 75, 965, HU, 50, NEQ, 70, 60, 40, 60, 1007, 375, 20, 105, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 300, 60, 180
AL, 18, 2012102600, , BEST, 0, 248N, 759W, 75, 965, HU, 64, NEQ, 30, 30, 20, 30, 1007, 375, 20, 105, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 300, 60, 180
AL, 18, 2012102606, , BEST, 0, 257N, 764W, 70, 968, HU, 34, NEQ, 300, 300, 160, 240, 1006, 380, 30, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 120, 300
AL, 18, 2012102606, , BEST, 0, 257N, 764W, 70, 968, HU, 50, NEQ, 90, 70, 50, 70, 1006, 380, 30, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 120, 300
AL, 18, 2012102606, , BEST, 0, 257N, 764W, 70, 968, HU, 64, NEQ, 30, 20, 0, 60, 1006, 380, 30, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 120, 300
AL, 18, 2012102612, , BEST, 0, 264N, 769W, 65, 970, HU, 34, NEQ, 360, 240, 170, 240, 1008, 420, 70, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 180, 330
AL, 18, 2012102612, , BEST, 0, 264N, 769W, 65, 970, HU, 50, NEQ, 90, 80, 90, 120, 1008, 420, 70, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 180, 330
AL, 18, 2012102612, , BEST, 0, 264N, 769W, 65, 970, HU, 64, NEQ, 0, 0, 0, 90, 1008, 420, 70, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 180, 330
AL, 18, 2012102618, , BEST, 0, 270N, 772W, 65, 971, HU, 34, NEQ, 400, 210, 170, 240, 1008, 420, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 520, 270, 330
AL, 18, 2012102618, , BEST, 0, 270N, 772W, 65, 971, HU, 50, NEQ, 60, 70, 90, 140, 1008, 420, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 520, 270, 330
AL, 18, 2012102618, , BEST, 0, 270N, 772W, 65, 971, HU, 64, NEQ, 0, 0, 0, 90, 1008, 420, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 520, 270, 330
AL, 18, 2012102700, , BEST, 0, 275N, 771W, 60, 969, TS, 34, NEQ, 450, 210, 180, 270, 1008, 450, 60, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 540, 240, 330
AL, 18, 2012102700, , BEST, 0, 275N, 771W, 60, 969, TS, 50, NEQ, 0, 0, 120, 160, 1008, 450, 60, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 540, 240, 330
AL, 18, 2012102706, , BEST, 0, 281N, 769W, 60, 968, TS, 34, NEQ, 450, 260, 180, 280, 1008, 460, 70, 75, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102706, , BEST, 0, 281N, 769W, 60, 968, TS, 50, NEQ, 0, 0, 120, 160, 1008, 460, 70, 75, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102712, , BEST, 0, 288N, 765W, 70, 956, HU, 34, NEQ, 450, 300, 210, 280, 1008, 460, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102712, , BEST, 0, 288N, 765W, 70, 956, HU, 50, NEQ, 30, 120, 160, 200, 1008, 460, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102712, , BEST, 0, 288N, 765W, 70, 956, HU, 64, NEQ, 0, 0, 120, 120, 1008, 460, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102718, , BEST, 0, 297N, 756W, 70, 960, HU, 34, NEQ, 450, 300, 240, 280, 1006, 480, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 575, 600, 270, 330
AL, 18, 2012102718, , BEST, 0, 297N, 756W, 70, 960, HU, 50, NEQ, 30, 150, 180, 200, 1006, 480, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 575, 600, 270, 330
AL, 18, 2012102718, , BEST, 0, 297N, 756W, 70, 960, HU, 64, NEQ, 0, 0, 150, 180, 1006, 480, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 575, 600, 270, 330
AL, 18, 2012102800, , BEST, 0, 305N, 747W, 65, 960, HU, 34, NEQ, 480, 300, 300, 280, 1006, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 360, 330
AL, 18, 2012102800, , BEST, 0, 305N, 747W, 65, 960, HU, 50, NEQ, 30, 180, 180, 210, 1006, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 360, 330
AL, 18, 2012102800, , BEST, 0, 305N, 747W, 65, 960, HU, 64, NEQ, 0, 0, 150, 180, 1006, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 360, 330
AL, 18, 2012102806, , BEST, 0, 313N, 739W, 65, 959, HU, 34, NEQ, 450, 300, 300, 270, 1006, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 390, 300
AL, 18, 2012102806, , BEST, 0, 313N, 739W, 65, 959, HU, 50, NEQ, 0, 180, 180, 210, 1006, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 390, 300
AL, 18, 2012102806, , BEST, 0, 313N, 739W, 65, 959, HU, 64, NEQ, 0, 0, 150, 180, 1006, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 390, 300
AL, 18, 2012102812, , BEST, 0, 320N, 730W, 65, 954, HU, 34, NEQ, 450, 300, 300, 270, 1006, 480, 100, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 600, 420, 270
AL, 18, 2012102812, , BEST, 0, 320N, 730W, 65, 954, HU, 50, NEQ, 0, 150, 200, 210, 1006, 480, 100, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 600, 420, 270
AL, 18, 2012102812, , BEST, 0, 320N, 730W, 65, 954, HU, 64, NEQ, 0, 0, 150, 180, 1006, 480, 100, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 600, 420, 270
AL, 18, 2012102818, , BEST, 0, 328N, 720W, 65, 952, HU, 34, NEQ, 450, 300, 350, 270, 1006, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 460, 270
AL, 18, 2012102818, , BEST, 0, 328N, 720W, 65, 952, HU, 50, NEQ, 0, 150, 200, 210, 1006, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 460, 270
AL, 18, 2012102818, , BEST, 0, 328N, 720W, 65, 952, HU, 64, NEQ, 0, 0, 150, 180, 1006, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 460, 270
AL, 18, 2012102900, , BEST, 0, 339N, 710W, 70, 950, HU, 34, NEQ, 450, 300, 400, 270, 1004, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102900, , BEST, 0, 339N, 710W, 70, 950, HU, 50, NEQ, 150, 150, 200, 200, 1004, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102900, , BEST, 0, 339N, 710W, 70, 950, HU, 64, NEQ, 0, 0, 150, 0, 1004, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102906, , BEST, 0, 353N, 705W, 80, 947, HU, 34, NEQ, 420, 360, 450, 270, 1004, 500, 100, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102906, , BEST, 0, 353N, 705W, 80, 947, HU, 50, NEQ, 150, 150, 200, 180, 1004, 500, 100, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102906, , BEST, 0, 353N, 705W, 80, 947, HU, 64, NEQ, 0, 0, 150, 0, 1004, 500, 100, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102912, , BEST, 0, 369N, 710W, 85, 945, HU, 34, NEQ, 420, 420, 400, 270, 1004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 720, 660, 480
AL, 18, 2012102912, , BEST, 0, 369N, 710W, 85, 945, HU, 50, NEQ, 200, 150, 200, 180, 1004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 720, 660, 480
AL, 18, 2012102912, , BEST, 0, 369N, 710W, 85, 945, HU, 64, NEQ, 0, 70, 120, 0, 1004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 720, 660, 480
AL, 18, 2012102918, , BEST, 0, 383N, 732W, 80, 940, HU, 34, NEQ, 420, 420, 400, 420, 1004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102918, , BEST, 0, 383N, 732W, 80, 940, HU, 50, NEQ, 220, 150, 200, 150, 1004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102918, , BEST, 0, 383N, 732W, 80, 940, HU, 64, NEQ, 180, 80, 120, 0, 1004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 34, NEQ, 420, 420, 400, 420,
AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 50, NEQ, 220, 150, 200, 150,
AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 64, NEQ, 180, 80, 120, 0,
AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 34, NEQ, 460, 370, 400, 490,
AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 50, NEQ, 180, 150, 80, 50,
AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 64, NEQ, 70, 80, 60, 0,
AL, 18, 2012103000, , BEST, 0, 395N, 745W, 70, 946, EX, 34, NEQ, 460, 370, 400, 490, 1006, 525, 80, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 660, 995, 660, 180
AL, 18, 2012103000, , BEST, 0, 395N, 745W, 70, 946, EX, 50, NEQ, 150, 150, 80, 50, 1006, 525, 80, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 660, 995, 660, 180
AL, 18, 2012103000, , BEST, 0, 395N, 745W, 70, 946, EX, 64, NEQ, 65, 0, 0, 0, 1006, 525, 80, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 660, 995, 660, 180
AL, 18, 2012103006, , BEST, 0, 399N, 762W, 55, 960, EX, 34, NEQ, 450, 400, 160, 530, 1006, 480, 80, 75, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 995, 600, 0
AL, 18, 2012103006, , BEST, 0, 399N, 762W, 55, 960, EX, 50, NEQ, 150, 150, 30, 30, 1006, 480, 80, 75, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 995, 600, 0
AL, 18, 2012103012, , BEST, 0, 401N, 778W, 50, 978, EX, 34, NEQ, 450, 490, 0, 500, 1006, 480, 30, 0, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103012, , BEST, 0, 401N, 778W, 50, 978, EX, 50, NEQ, 0, 0, 0, 260, 1006, 480, 30, 0, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103018, , BEST, 0, 404N, 789W, 40, 986, EX, 34, NEQ, 0, 530, 0, 430, 1006, 480, 30, 50, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103100, , BEST, 0, 407N, 798W, 35, 992, EX, 34, NEQ, 0, 0, 0, 410,
AL, 18, 2012103106, , BEST, 0, 411N, 803W, 35, 993, EX, 34, NEQ, 0, 0, 0, 380,
AL, 18, 2012103112, , BEST, 0, 415N, 807W, 30, 995, EX, 0, , 0, 0, 0, 0,
The corresponding OFCL file for advisory 31 was as follows:
AL, 18, 2012103003, , OFCL, 0, 398N, 754W, 65, 952, , 34, NEQ, 420, 360, 200, 140, 0, 0, 0, 80, 0, , 0, TBK, 305, 16, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 0, 398N, 754W, 65, 952, , 50, NEQ, 150, 150, 80, 50, 0, 0, 0, 80, 0, , 0, TBK, 305, 16, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 0, 398N, 754W, 65, 952, , 64, NEQ, 0, 80, 0, 0, 0, 0, 0, 80, 0, , 0, TBK, 305, 16, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 9, 405N, 772W, 55, 0, , 34, NEQ, 360, 360, 100, 60, 0, 0, 0, 65, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 9, 405N, 772W, 55, 0, , 50, NEQ, 0, 180, 0, 0, 0, 0, 0, 65, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 21, 413N, 783W, 40, 0, , 34, NEQ, 0, 360, 0, 0, 0, 0, 0, 50, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 33, 426N, 779W, 30, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 40, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 45, 440N, 769W, 25, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 35, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 69, 465N, 745W, 25, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 35, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 93, 485N, 705W, 25, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 35, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012103003, , OFCL, 117, 485N, 705W, 25, 0, , 34, NEQ, 0, 0, 0, 0, 0, 0, 0, 35, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
The ASGS script storm_track_gen.pl consumed these files and produced the following error messages in the process (verbatim from the ASGS log file):
[2022-Nov-22-T11:53:17-0600] INFO: nowcast: asgs_main.sh: Generating ADCIRC Met File (fort.22) for nowcast with the following options: --dir /work/jgflemin/asgs1316487/31 --storm 18 --year 2012 --name nowcast --nws 320 --hotstartseconds 2592000.00000000 --coldstartdate 2012092400 --strengthPercent null.
INFO: storm_track_gen.pl: The fort.22 will be configured to start on 2012102400 UTC.
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 20 in the hindcast file is incomplete: AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 34, NEQ, 150, 180, 70, 70,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 34, NEQ, 150, 180, 70, 70,
005, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 21 in the hindcast file is incomplete: AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 50, NEQ, 50, 60, 40, 40,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 50, NEQ, 50, 60, 40, 40,
005, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 22 in the hindcast file is incomplete: AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 64, NEQ, 25, 30, 20, 25,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 64, NEQ, 25, 30, 20, 25,
005, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 26 in the hindcast file is incomplete: AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 34, NEQ, 240, 240, 70, 120,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 34, NEQ, 240, 240, 70, 120,
005, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 27 in the hindcast file is incomplete: AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 50, NEQ, 50, 60, 40, 40,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 50, NEQ, 50, 60, 40, 40,
005, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 28 in the hindcast file is incomplete: AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 64, NEQ, 30, 30, 25, 25,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 64, NEQ, 30, 30, 25, 25,
005, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 32 in the hindcast file is incomplete: AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 34, NEQ, 240, 240, 70, 180,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 34, NEQ, 240, 240, 70, 180,
005, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 33 in the hindcast file is incomplete: AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 50, NEQ, 50, 60, 40, 40,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 50, NEQ, 50, 60, 40, 40,
005, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 34 in the hindcast file is incomplete: AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 64, NEQ, 25, 20, 20, 20,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 64, NEQ, 25, 20, 20, 20,
005, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 87 in the hindcast file is incomplete: AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 34, NEQ, 420, 420, 400, 420,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 34, NEQ, 420, 420, 400, 420,
004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 88 in the hindcast file is incomplete: AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 50, NEQ, 220, 150, 200, 150,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 50, NEQ, 220, 150, 200, 150,
004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 89 in the hindcast file is incomplete: AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 64, NEQ, 180, 80, 120, 0,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 64, NEQ, 180, 80, 120, 0,
004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 90 in the hindcast file is incomplete: AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 34, NEQ, 460, 370, 400, 490,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 34, NEQ, 460, 370, 400, 490,
004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 91 in the hindcast file is incomplete: AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 50, NEQ, 180, 150, 80, 50,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 50, NEQ, 180, 150, 80, 50,
004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 92 in the hindcast file is incomplete: AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 64, NEQ, 70, 80, 60, 0,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 64, NEQ, 70, 80, 60, 0,
004, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 101 in the hindcast file is incomplete: AL, 18, 2012103100, , BEST, 0, 407N, 798W, 35, 992, EX, 34, NEQ, 0, 0, 0, 410,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012103100, , BEST, 0, 407N, 798W, 35, 992, EX, 34, NEQ, 0, 0, 0, 410,
006, 480, 30, 50, 0, L, 0, , 0, 0, SANDY, M,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 102 in the hindcast file is incomplete: AL, 18, 2012103106, , BEST, 0, 411N, 803W, 35, 993, EX, 34, NEQ, 0, 0, 0, 380,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012103106, , BEST, 0, 411N, 803W, 35, 993, EX, 34, NEQ, 0, 0, 0, 380,
006, 480, 30, 50, 0, L, 0, , 0, 0, SANDY, M,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: Line 103 in the hindcast file is incomplete: AL, 18, 2012103112, , BEST, 0, 415N, 807W, 30, 995, EX, 0, , 0, 0, 0, 0,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: The incomplete line could not be filled in with data from prior lines, and will be dropped.
To summarize for brevity, the "offending" lines are as follows, based on the WARNING messages above:
Lines 20--22
AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 34, NEQ, 150, 180, 70, 70,
AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 50, NEQ, 50, 60, 40, 40,
AL, 18, 2012102419, , BEST, 0, 179N, 766W, 75, 971, HU, 64, NEQ, 25, 30, 20, 25,
Lines 26--28
AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 34, NEQ, 240, 240, 70, 120,
AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 50, NEQ, 50, 60, 40, 40,
AL, 18, 2012102505, 25, BEST, 0, 200N, 760W, 100, 954, HU, 64, NEQ, 30, 30, 25, 25,
Lines 32--34
AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 34, NEQ, 240, 240, 70, 180,
AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 50, NEQ, 50, 60, 40, 40,
AL, 18, 2012102509, , BEST, 0, 209N, 757W, 95, 960, HU, 64, NEQ, 25, 20, 20, 20,
Lines 87--89
AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 34, NEQ, 420, 420, 400, 420,
AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 50, NEQ, 220, 150, 200, 150,
AL, 18, 2012102921, , BEST, 0, 388N, 740W, 75, 943, EX, 64, NEQ, 180, 80, 120, 0,
Lines 90--92
AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 34, NEQ, 460, 370, 400, 490,
AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 50, NEQ, 180, 150, 80, 50,
AL, 18, 2012102923, 30, BEST, 0, 394N, 744W, 70, 945, EX, 64, NEQ, 70, 80, 60, 0,
Lines 101--103
AL, 18, 2012103100, , BEST, 0, 407N, 798W, 35, 992, EX, 34, NEQ, 0, 0, 0, 410,
AL, 18, 2012103106, , BEST, 0, 411N, 803W, 35, 993, EX, 34, NEQ, 0, 0, 0, 380,
AL, 18, 2012103112, , BEST, 0, 415N, 807W, 30, 995, EX, 0, , 0, 0, 0, 0,
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: The incomplete line could not be filled in with data from prior lines, and will be dropped.
All lines except the last one produced a WARNING message like the following:
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: That line will be replaced with the following line: AL, 18, 2012103106, , BEST, 0, 411N, 803W, 35, 993, EX, 34, NEQ, 0, 0, 0, 380,
In contrast, the final line, 103, produced the following error message:
[2022-Nov-22-T11:53:17] WARNING: nowcast: storm_track_gen.pl: The incomplete line could not be filled in with data from prior lines, and will be dropped.
The storm_track_gen.pl generated the following "original" fort.22 file which was then fed into aswip:
AL, 18, 2012102400, , BEST, 0, 147N, 773W, 55, 990, TS, 34, NEQ, 100, 150, 40, 40, 1013, 300, 60, 60, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 90, 90, 0, 50
AL, 18, 2012102400, , BEST, 0, 147N, 773W, 55, 990, TS, 50, NEQ, 0, 70, 0, 0, 1013, 300, 60, 60, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 90, 90, 0, 50
AL, 18, 2012102406, , BEST, 6, 156N, 771W, 60, 987, TS, 34, NEQ, 100, 150, 50, 50, 1013, 300, 45, 65, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 0, 0
AL, 18, 2012102406, , BEST, 6, 156N, 771W, 60, 987, TS, 50, NEQ, 50, 70, 20, 20, 1013, 300, 45, 65, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 0, 0
AL, 18, 2012102412, , BEST, 12, 166N, 769W, 65, 981, HU, 34, NEQ, 120, 160, 70, 70, 1013, 285, 40, 75, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 45, 100
AL, 18, 2012102412, , BEST, 12, 166N, 769W, 65, 981, HU, 50, NEQ, 50, 60, 40, 30, 1013, 285, 40, 75, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 45, 100
AL, 18, 2012102412, , BEST, 12, 166N, 769W, 65, 981, HU, 64, NEQ, 20, 20, 0, 0, 1013, 285, 40, 75, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 180, 45, 100
AL, 18, 2012102418, , BEST, 18, 177N, 767W, 75, 972, HU, 34, NEQ, 150, 180, 70, 70, 1013, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102418, , BEST, 18, 177N, 767W, 75, 972, HU, 50, NEQ, 50, 60, 40, 40, 1013, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102418, , BEST, 18, 177N, 767W, 75, 972, HU, 64, NEQ, 25, 30, 20, 25, 1013, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102419, , BEST, 19, 179N, 766W, 75, 971, HU, 34, NEQ, 150, 180, 70, 70, 1013, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102419, , BEST, 19, 179N, 766W, 75, 971, HU, 50, NEQ, 50, 60, 40, 40, 1013, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102419, , BEST, 19, 179N, 766W, 75, 971, HU, 64, NEQ, 25, 30, 20, 25, 1013, 290, 25, 85, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102500, , BEST, 24, 189N, 764W, 85, 964, HU, 34, NEQ, 180, 240, 70, 70, 1013, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102500, , BEST, 24, 189N, 764W, 85, 964, HU, 50, NEQ, 50, 60, 40, 40, 1013, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102500, , BEST, 24, 189N, 764W, 85, 964, HU, 64, NEQ, 30, 30, 25, 25, 1013, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102505, 25, BEST, 29, 200N, 760W, 100, 954, HU, 34, NEQ, 240, 240, 70, 120, 1013, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102505, 25, BEST, 29, 200N, 760W, 100, 954, HU, 50, NEQ, 50, 60, 40, 40, 1013, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102505, 25, BEST, 29, 200N, 760W, 100, 954, HU, 64, NEQ, 30, 30, 25, 25, 1013, 300, 15, 100, 0, L, 0, , 0, 0, SANDY, M, 12, NEQ, 180, 240, 0, 90
AL, 18, 2012102506, , BEST, 30, 201N, 760W, 100, 954, HU, 34, NEQ, 240, 240, 70, 120, 1013, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102506, , BEST, 30, 201N, 760W, 100, 954, HU, 50, NEQ, 50, 60, 40, 40, 1013, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102506, , BEST, 30, 201N, 760W, 100, 954, HU, 64, NEQ, 25, 20, 20, 20, 1013, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102509, , BEST, 33, 209N, 757W, 95, 960, HU, 34, NEQ, 240, 240, 70, 180, 1013, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102509, , BEST, 33, 209N, 757W, 95, 960, HU, 50, NEQ, 50, 60, 40, 40, 1013, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102509, , BEST, 33, 209N, 757W, 95, 960, HU, 64, NEQ, 25, 20, 20, 20, 1013, 300, 10, 115, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 120, 300, 120, 120
AL, 18, 2012102512, , BEST, 36, 217N, 755W, 95, 966, HU, 34, NEQ, 240, 240, 70, 240, 1013, 320, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 180, 360, 120, 180
AL, 18, 2012102512, , BEST, 36, 217N, 755W, 95, 966, HU, 50, NEQ, 60, 60, 40, 50, 1013, 320, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 180, 360, 120, 180
AL, 18, 2012102512, , BEST, 36, 217N, 755W, 95, 966, HU, 64, NEQ, 30, 30, 20, 20, 1013, 320, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 180, 360, 120, 180
AL, 18, 2012102518, , BEST, 42, 233N, 753W, 90, 963, HU, 34, NEQ, 270, 270, 120, 270, 1013, 350, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 360, 270, 0, 180
AL, 18, 2012102518, , BEST, 42, 233N, 753W, 90, 963, HU, 50, NEQ, 60, 60, 40, 50, 1013, 350, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 360, 270, 0, 180
AL, 18, 2012102518, , BEST, 42, 233N, 753W, 90, 963, HU, 64, NEQ, 30, 30, 20, 20, 1013, 350, 20, 110, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 360, 270, 0, 180
AL, 18, 2012102600, , BEST, 48, 248N, 759W, 75, 965, HU, 34, NEQ, 300, 300, 160, 270, 1013, 375, 20, 105, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 300, 60, 180
AL, 18, 2012102600, , BEST, 48, 248N, 759W, 75, 965, HU, 50, NEQ, 70, 60, 40, 60, 1013, 375, 20, 105, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 300, 60, 180
AL, 18, 2012102600, , BEST, 48, 248N, 759W, 75, 965, HU, 64, NEQ, 30, 30, 20, 30, 1013, 375, 20, 105, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 300, 60, 180
AL, 18, 2012102606, , BEST, 54, 257N, 764W, 70, 968, HU, 34, NEQ, 300, 300, 160, 240, 1013, 380, 30, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 120, 300
AL, 18, 2012102606, , BEST, 54, 257N, 764W, 70, 968, HU, 50, NEQ, 90, 70, 50, 70, 1013, 380, 30, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 120, 300
AL, 18, 2012102606, , BEST, 54, 257N, 764W, 70, 968, HU, 64, NEQ, 30, 20, 0, 60, 1013, 380, 30, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 120, 300
AL, 18, 2012102612, , BEST, 60, 264N, 769W, 65, 970, HU, 34, NEQ, 360, 240, 170, 240, 1013, 420, 70, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 180, 330
AL, 18, 2012102612, , BEST, 60, 264N, 769W, 65, 970, HU, 50, NEQ, 90, 80, 90, 120, 1013, 420, 70, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 180, 330
AL, 18, 2012102612, , BEST, 60, 264N, 769W, 65, 970, HU, 64, NEQ, 0, 0, 0, 90, 1013, 420, 70, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 420, 360, 180, 330
AL, 18, 2012102618, , BEST, 66, 270N, 772W, 65, 971, HU, 34, NEQ, 400, 210, 170, 240, 1013, 420, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 520, 270, 330
AL, 18, 2012102618, , BEST, 66, 270N, 772W, 65, 971, HU, 50, NEQ, 60, 70, 90, 140, 1013, 420, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 520, 270, 330
AL, 18, 2012102618, , BEST, 66, 270N, 772W, 65, 971, HU, 64, NEQ, 0, 0, 0, 90, 1013, 420, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 520, 270, 330
AL, 18, 2012102700, , BEST, 72, 275N, 771W, 60, 969, TS, 34, NEQ, 450, 210, 180, 270, 1013, 450, 60, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 540, 240, 330
AL, 18, 2012102700, , BEST, 72, 275N, 771W, 60, 969, TS, 50, NEQ, 0, 0, 120, 160, 1013, 450, 60, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 540, 240, 330
AL, 18, 2012102706, , BEST, 78, 281N, 769W, 60, 968, TS, 34, NEQ, 450, 260, 180, 280, 1013, 460, 70, 75, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102706, , BEST, 78, 281N, 769W, 60, 968, TS, 50, NEQ, 0, 0, 120, 160, 1013, 460, 70, 75, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102712, , BEST, 84, 288N, 765W, 70, 956, HU, 34, NEQ, 450, 300, 210, 280, 1013, 460, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102712, , BEST, 84, 288N, 765W, 70, 956, HU, 50, NEQ, 30, 120, 160, 200, 1013, 460, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102712, , BEST, 84, 288N, 765W, 70, 956, HU, 64, NEQ, 0, 0, 120, 120, 1013, 460, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 510, 600, 300, 330
AL, 18, 2012102718, , BEST, 90, 297N, 756W, 70, 960, HU, 34, NEQ, 450, 300, 240, 280, 1013, 480, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 575, 600, 270, 330
AL, 18, 2012102718, , BEST, 90, 297N, 756W, 70, 960, HU, 50, NEQ, 30, 150, 180, 200, 1013, 480, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 575, 600, 270, 330
AL, 18, 2012102718, , BEST, 90, 297N, 756W, 70, 960, HU, 64, NEQ, 0, 0, 150, 180, 1013, 480, 75, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 575, 600, 270, 330
AL, 18, 2012102800, , BEST, 96, 305N, 747W, 65, 960, HU, 34, NEQ, 480, 300, 300, 280, 1013, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 360, 330
AL, 18, 2012102800, , BEST, 96, 305N, 747W, 65, 960, HU, 50, NEQ, 30, 180, 180, 210, 1013, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 360, 330
AL, 18, 2012102800, , BEST, 96, 305N, 747W, 65, 960, HU, 64, NEQ, 0, 0, 150, 180, 1013, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 360, 330
AL, 18, 2012102806, , BEST, 102, 313N, 739W, 65, 959, HU, 34, NEQ, 450, 300, 300, 270, 1013, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 390, 300
AL, 18, 2012102806, , BEST, 102, 313N, 739W, 65, 959, HU, 50, NEQ, 0, 180, 180, 210, 1013, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 390, 300
AL, 18, 2012102806, , BEST, 102, 313N, 739W, 65, 959, HU, 64, NEQ, 0, 0, 150, 180, 1013, 480, 90, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 630, 390, 300
AL, 18, 2012102812, , BEST, 108, 320N, 730W, 65, 954, HU, 34, NEQ, 450, 300, 300, 270, 1013, 480, 100, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 600, 420, 270
AL, 18, 2012102812, , BEST, 108, 320N, 730W, 65, 954, HU, 50, NEQ, 0, 150, 200, 210, 1013, 480, 100, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 600, 420, 270
AL, 18, 2012102812, , BEST, 108, 320N, 730W, 65, 954, HU, 64, NEQ, 0, 0, 150, 180, 1013, 480, 100, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 600, 420, 270
AL, 18, 2012102818, , BEST, 114, 328N, 720W, 65, 952, HU, 34, NEQ, 450, 300, 350, 270, 1013, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 460, 270
AL, 18, 2012102818, , BEST, 114, 328N, 720W, 65, 952, HU, 50, NEQ, 0, 150, 200, 210, 1013, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 460, 270
AL, 18, 2012102818, , BEST, 114, 328N, 720W, 65, 952, HU, 64, NEQ, 0, 0, 150, 180, 1013, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 460, 270
AL, 18, 2012102900, , BEST, 120, 339N, 710W, 70, 950, HU, 34, NEQ, 450, 300, 400, 270, 1013, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102900, , BEST, 120, 339N, 710W, 70, 950, HU, 50, NEQ, 150, 150, 200, 200, 1013, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102900, , BEST, 120, 339N, 710W, 70, 950, HU, 64, NEQ, 0, 0, 150, 0, 1013, 500, 120, 80, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102906, , BEST, 126, 353N, 705W, 80, 947, HU, 34, NEQ, 420, 360, 450, 270, 1013, 500, 100, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102906, , BEST, 126, 353N, 705W, 80, 947, HU, 50, NEQ, 150, 150, 200, 180, 1013, 500, 100, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102906, , BEST, 126, 353N, 705W, 80, 947, HU, 64, NEQ, 0, 0, 150, 0, 1013, 500, 100, 90, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 660, 660, 480
AL, 18, 2012102912, , BEST, 132, 369N, 710W, 85, 945, HU, 34, NEQ, 420, 420, 400, 270, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 720, 660, 480
AL, 18, 2012102912, , BEST, 132, 369N, 710W, 85, 945, HU, 50, NEQ, 200, 150, 200, 180, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 720, 660, 480
AL, 18, 2012102912, , BEST, 132, 369N, 710W, 85, 945, HU, 64, NEQ, 0, 70, 120, 0, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 480, 720, 660, 480
AL, 18, 2012102918, , BEST, 138, 383N, 732W, 80, 940, HU, 34, NEQ, 420, 420, 400, 420, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102918, , BEST, 138, 383N, 732W, 80, 940, HU, 50, NEQ, 220, 150, 200, 150, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102918, , BEST, 138, 383N, 732W, 80, 940, HU, 64, NEQ, 180, 80, 120, 0, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102921, , BEST, 141, 388N, 740W, 75, 943, EX, 34, NEQ, 420, 420, 400, 420, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102921, , BEST, 141, 388N, 740W, 75, 943, EX, 50, NEQ, 220, 150, 200, 150, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102921, , BEST, 141, 388N, 740W, 75, 943, EX, 64, NEQ, 180, 80, 120, 0, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102923, 30, BEST, 143, 394N, 744W, 70, 945, EX, 34, NEQ, 460, 370, 400, 490, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102923, 30, BEST, 143, 394N, 744W, 70, 945, EX, 50, NEQ, 180, 150, 80, 50, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012102923, 30, BEST, 143, 394N, 744W, 70, 945, EX, 64, NEQ, 70, 80, 60, 0, 1013, 500, 110, 100, 0, L, 0, , 0, 0, SANDY, D,
AL, 18, 2012103000, , BEST, 144, 395N, 745W, 70, 946, EX, 34, NEQ, 460, 370, 400, 490, 1013, 525, 80, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 660, 995, 660, 180
AL, 18, 2012103000, , BEST, 144, 395N, 745W, 70, 946, EX, 50, NEQ, 150, 150, 80, 50, 1013, 525, 80, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 660, 995, 660, 180
AL, 18, 2012103000, , BEST, 144, 395N, 745W, 70, 946, EX, 64, NEQ, 65, 0, 0, 0, 1013, 525, 80, 85, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 660, 995, 660, 180
AL, 18, 2012103006, , BEST, 150, 399N, 762W, 55, 960, EX, 34, NEQ, 450, 400, 160, 530, 1013, 480, 80, 75, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 995, 600, 0
AL, 18, 2012103006, , BEST, 150, 399N, 762W, 55, 960, EX, 50, NEQ, 150, 150, 30, 30, 1013, 480, 80, 75, 0, L, 0, , 0, 0, SANDY, D, 12, NEQ, 600, 995, 600, 0
AL, 18, 2012103012, , BEST, 156, 401N, 778W, 50, 978, EX, 34, NEQ, 450, 490, 0, 500, 1013, 480, 30, 0, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103012, , BEST, 156, 401N, 778W, 50, 978, EX, 50, NEQ, 0, 0, 0, 260, 1013, 480, 30, 0, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103018, , BEST, 162, 404N, 789W, 40, 986, EX, 34, NEQ, 0, 530, 0, 430, 1013, 480, 30, 50, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103100, , BEST, 168, 407N, 798W, 35, 992, EX, 34, NEQ, 0, 0, 0, 410, 1013, 480, 30, 50, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103106, , BEST, 174, 411N, 803W, 35, 993, EX, 34, NEQ, 0, 0, 0, 380, 1013, 480, 30, 50, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103112, , OFCL, 180, 426N, 779W, 30, 993, , 34, NEQ, 0, 0, 0, 0, 1013, 0, 0, 40, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012110100, , OFCL, 192, 440N, 769W, 25, 993, , 34, NEQ, 0, 0, 0, 0, 1013, 0, 0, 35, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012110200, , OFCL, 216, 465N, 745W, 25, 993, , 34, NEQ, 0, 0, 0, 0, 1013, 0, 0, 35, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012110300, , OFCL, 240, 485N, 705W, 25, 993, , 34, NEQ, 0, 0, 0, 0, 1013, 0, 0, 35, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
AL, 18, 2012110400, , OFCL, 264, 485N, 705W, 25, 993, , 34, NEQ, 0, 0, 0, 0, 1013, 0, 0, 35, 0, , 0, TBK, 65, 17, SANDY , , 12, NEQ, 60, 60, 0, 0
The fort.22.orig file above was then used as input into aswip with the following messages going to the ASGS log file:
[2022-Nov-22-T11:53:17-0600] INFO: nowcast: asgs_main.sh: Detecting storm name in run.properties file.
INFO: Processing '-n 20'.
Finished processing ient = 2 iquadrot = 2
Finished processing ient = 1 iquadrot = 1
Finished processing ient = 4 iquadrot = 2
Finished processing ient = 3 iquadrot = 1
Finished processing ient = 7 iquadrot = 2
Finished processing ient = 6 iquadrot = 1
Finished processing ient = 5 iquadrot = 1
Finished processing ient = 10 iquadrot = 2
Finished processing ient = 9 iquadrot = 1
Finished processing ient = 8 iquadrot = 1
Finished processing ient = 13 iquadrot = 2
Finished processing ient = 12 iquadrot = 1
Finished processing ient = 11 iquadrot = 1
Finished processing ient = 16 iquadrot = 1
Finished processing ient = 15 iquadrot = 1
Finished processing ient = 14 iquadrot = 1
Finished processing ient = 19 iquadrot = 1
Finished processing ient = 18 iquadrot = 1
Finished processing ient = 17 iquadrot = 1
Finished processing ient = 22 iquadrot = 1
Finished processing ient = 21 iquadrot = 1
Finished processing ient = 20 iquadrot = 1
Finished processing ient = 25 iquadrot = 1
Finished processing ient = 24 iquadrot = 1
Finished processing ient = 23 iquadrot = 1
Finished processing ient = 28 iquadrot = 1
Finished processing ient = 27 iquadrot = 1
Finished processing ient = 26 iquadrot = 1
Finished processing ient = 31 iquadrot = 1
Finished processing ient = 30 iquadrot = 1
Finished processing ient = 29 iquadrot = 1
Finished processing ient = 34 iquadrot = 2
Finished processing ient = 33 iquadrot = 1
Finished processing ient = 32 iquadrot = 1
Finished processing ient = 37 iquadrot = 2
Finished processing ient = 36 iquadrot = 1
Finished processing ient = 35 iquadrot = 1
Finished processing ient = 40 iquadrot = 2
Finished processing ient = 39 iquadrot = 1
Finished processing ient = 38 iquadrot = 1
Finished processing ient = 43 iquadrot = 2
Finished processing ient = 42 iquadrot = 1
Finished processing ient = 41 iquadrot = 1
Finished processing ient = 45 iquadrot = 1
Finished processing ient = 44 iquadrot = 1
Finished processing ient = 47 iquadrot = 3
Finished processing ient = 46 iquadrot = 1
Finished processing ient = 50 iquadrot = 2
Finished processing ient = 49 iquadrot = 1
Finished processing ient = 48 iquadrot = 1
Finished processing ient = 53 iquadrot = 2
Finished processing ient = 52 iquadrot = 1
Finished processing ient = 51 iquadrot = 1
Finished processing ient = 56 iquadrot = 2
Finished processing ient = 55 iquadrot = 1
Finished processing ient = 54 iquadrot = 1
Finished processing ient = 59 iquadrot = 2
Finished processing ient = 58 iquadrot = 1
Finished processing ient = 57 iquadrot = 1
Finished processing ient = 62 iquadrot = 2
Finished processing ient = 61 iquadrot = 1
Finished processing ient = 60 iquadrot = 1
Finished processing ient = 65 iquadrot = 2
Finished processing ient = 64 iquadrot = 1
Finished processing ient = 63 iquadrot = 1
Finished processing ient = 68 iquadrot = 5
Finished processing ient = 67 iquadrot = 1
Finished processing ient = 66 iquadrot = 1
Finished processing ient = 71 iquadrot = 1
Finished processing ient = 70 iquadrot = 1
Finished processing ient = 69 iquadrot = 1
Finished processing ient = 74 iquadrot = 1
Finished processing ient = 73 iquadrot = 1
Finished processing ient = 72 iquadrot = 1
Finished processing ient = 77 iquadrot = 2
Finished processing ient = 76 iquadrot = 1
Finished processing ient = 75 iquadrot = 1
Finished processing ient = 80 iquadrot = 2
Finished processing ient = 79 iquadrot = 1
Finished processing ient = 78 iquadrot = 1
Finished processing ient = 83 iquadrot = 2
Finished processing ient = 82 iquadrot = 1
Finished processing ient = 81 iquadrot = 1
Finished processing ient = 86 iquadrot = 1
Finished processing ient = 85 iquadrot = 1
Finished processing ient = 84 iquadrot = 1
Finished processing ient = 88 iquadrot = 2
Finished processing ient = 87 iquadrot = 1
Finished processing ient = 90 iquadrot = 2
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 3 No root found, return dist. to Isotach
Finished processing ient = 89 iquadrot = 1
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 2 No root found, return dist. to Isotach
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 2 No root found, return dist. to Isotach
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 2 No root found, return dist. to Isotach
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 2 No root found, return dist. to Isotach
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 2 No root found, return dist. to Isotach
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 2 No root found, return dist. to Isotach
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 2 No root found, return dist. to Isotach
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
Finished processing ient = 91 iquadrot = 7
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 4 No root found, return dist. to Isotach
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
FUNCTION findRoot: exceeded max # of iterations
iquad= 4 No root found, return dist. to Isotach
Finished processing ient = 92 iquadrot = 2
Finished processing ient = 93 iquadrot = 2
Finished processing ient = 94 iquadrot = 1
Finished processing ient = 95 iquadrot = 2
Finished processing ient = 96 iquadrot = 2
Finished processing ient = 97 iquadrot = 1
Finished processing ient = 98 iquadrot = 2
Looking at lines 89--91 in the fort.22.orig file that produced the FUNCTION findRoot: exceeded max # of iterations error message:
AL, 18, 2012103012, , BEST, 156, 401N, 778W, 50, 978, EX, 34, NEQ, 450, 490, 0, 500, 1013, 480, 30, 0, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103012, , BEST, 156, 401N, 778W, 50, 978, EX, 50, NEQ, 0, 0, 0, 260, 1013, 480, 30, 0, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103018, , BEST, 162, 404N, 789W, 40, 986, EX, 34, NEQ, 0, 530, 0, 430, 1013, 480, 30, 50, 0, L, 0, , 0, 0, SANDY, M,
AL, 18, 2012103100, , BEST, 168, 407N, 798W, 35, 992, EX, 34, NEQ, 0, 0, 0, 410, 1013, 480, 30, 50, 0, L, 0, , 0, 0, SANDY, M,
Deleting the corresponding lines from the BEST track file and rerunning storm_track_gen.pl and aswip resulted in the ASGS being able to produce a fort.22 file without any FUNCTION findRoot: exceeded max # of iterations error messages.
Upon running the Sandy hindcast with those lines removed, I found that ADCIRC went unstable (numerically) with the following messages in the padcswan.out file:
+time 20121029.164000 , step 410; iteration 6
TIME STEP = 3084109 ITERATIONS = 15 TIME = 0.30841090E+07
ELMAX = 2.0186E+001 AT NODE 395364 SPEEDMAX = 9.8903E+000 AT NODE 412260 ON MYPROC = 199 ** WARNING: Elevation.gt.WarnElev **
<...>
TIME STEP = 3084241 ITERATIONS = 16 TIME = 0.30842410E+07
ELMAX = 3.6218E+003 AT NODE 461555 SPEEDMAX = 7.1708E+001 AT NODE 466283 ON MYPROC = 199
** ERROR: Elevation.gt.ErrorElev, ADCIRC stopping. **
MPI terminated with Status = 0
The official file format documentation
NCAR real time guidance documentation.
Collection of resources and docuementation on ATCF from NRL Monterey.
BEST track changelog.
Wikipedia entry for the Automated Tropical Cyclone Forecasting (ATCF) system itself.
ATCF system requirements and functional specification (pdf) including GFS vortex removal and interfacing with WaveWatchII global wave model.
Automated Tropical Cyclone Forecast (ATCF) Data Files / Text Files documentation.
2021 National Hurricane Operations Plan (pdf).
Theory and implementation of GAHM (pptx)
Dissertation containing details on GAHM parametric vortex research and development: On the Surface Wind Stress for Storm Surge Modelling