← 돌아가기

Vortex tracking automation

The GFDL Vortex Tracker is wrapped in shell tooling that looks up storms from vitals records by name, runs whole periods automatically or with explicit start/end times, and feeds a Python plotter that compares multi-model tracks, central pressure (MSLP), and maximum wind speed (MWS) against observations.

GFDL Vortex Tracker Bash automation Python plotting

Initial-condition preparation

A merge tool combines surface and pressure-level fields retrieved from ECMWF MARS or CDS into a single per-model input file for each initial time, so seven different AI models share one data-preparation path.

MARS / CDS GRIB 7 AI models

GRIB / NetCDF processing

eCCodes-based readers skip unused GRIB messages and downcast to float32, halving memory use. A slim postprocessor keeps only the 49 channels the tracker needs, cutting output files by ~41% before optional lossless compression.

eCCodes NetCDF · zlib float32 49-channel slim

Parallel filtering & QC

Track filtering fans out with Python multiprocessing on 64-core servers (~56 workers, leaving headroom for the system). QC scripts cross-check initial-time coverage and storm identifiers against KMA FCT lists and IBTrACS, producing re-collection lists automatically.

multiprocessing IBTrACS QC Auto re-collection lists

Environments & remote work

Python environments are managed with uv (fast, named venvs) alongside conda for model runtimes. GPU and storage servers are bridged with sshfs mounts, and heavy post-processing stays on the GPU server so only MB-scale results cross the network.

uv conda sshfs GPU-local post-processing