atcf-data-parser

A Python parser and command-line utility for the “a-deck” data posted online by the Automated Tropical Cyclone Forecasting System

Intended to read the cyclone forecasts posted as gzipped files to ftp.nhc.noaa.gov/atcf/aid_public/.

Installation

Install the package from the Python Package Index (PyPI) with pipenv:

pipenv install atcf-data-parser

Usage

You’ll want to start with a URL to a gzipped a-deck file listed in the government FTP at ftp.nhc.noaa.gov/atcf/aid_public/. We will use 2023’s Hurricane Otis, which had the id of ep182023, as our example.

From Python, you can download a pandas dataframe:

import atcf_data_parser

url = "https://ftp.nhc.noaa.gov/atcf/aid_public/aep182023.dat.gz"
df = atcf_data_parser.get_dataframe(url)

Alternatively, from the command line you can output a CSV to stdout:

atcf-data-parser get-comma-delimited-data https://ftp.nhc.noaa.gov/atcf/aid_public/aep182023.dat.gz

Reference

Here’s more about how our utilities work.

Python Functions

A collection of functions for downloading and parsing ATCF data posted to its public FTP site

atcf_data_parser.get_dataframe(url: str) DataFrame

Parse a fixed-width file into a pandas DataFrame.

Parameters:

url (str) – URL of the gzipped file.

Returns:

DataFrame containing the parsed data.

Return type:

pandas.DataFrame

Examples

>>> url = "https://ftp.nhc.noaa.gov/atcf/aid_public/aep182023.dat.gz"
>>> get_dataframe(url)
atcf_data_parser.get_gzipped_url(url: str) str

Open a gzipped file from a URL and return its contents as a list of strings.

Parameters:

url (str) – URL of the gzipped file.

Returns:

List of strings representing the lines of the file.

Return type:

str

Examples

>>> url = "https://ftp.nhc.noaa.gov/atcf/aid_public/aep182023.dat.gz"
>>> get_gzipped_url(url)

Command-line Interface

A command-line utility for downloading and parsing ATCF data posted to its public FTP site

Usage: atcf-data-parser [OPTIONS] COMMAND [ARGS]...

  Parse “a-deck” data posted online by the Automated Tropical Cyclone
  Forecasting System.

Options:
  --help  Show this message and exit.

Commands:
  get-comma-delimited-data  Download a comma-delimited file from a URL...
  get-fixed-width-data      Download a fixed-width file from a URL and..

get-comma-delimited-data

Usage: atcf-data-parser get-comma-delimited-data [OPTIONS] URL

  Download a comma-delimited file from a URL and print its contents.

Options:
  --help  Show this message and exit.

get-fixed-width-data

Usage: atcf-data-parser get-fixed-width-data [OPTIONS] URL

  Download a fixed-width file from a URL and print its contents.

Options:
  --help  Show this message and exit.