Changelog
v0.5.0 - 2026-04-08
Features
High-Precision Derivatives: New
vodvmodule for computing relative vorticity and divergence using spin-1 vector harmonics.Planetary Constants: Standardized Earth radius to 6,371,220 m across derivatives and tracking geometry.
pst-convert & JSON Support: New utility for format conversion and a GPU-optimized JSON format for track data.
Interactive Track Explorer: Web-based visualization with real-time filtering and animations.
Hodges (TRACK) Parity: Full implementation of the Hodges algorithm with TRACK parity.
Preprocessing & Performance: Improved spherical harmonic filtering and backend auto-detection.
Remote Zarr Support: Added support for remote Zarr datasets via HTTP, S3, and GS protocols.
Enhanced DataLoader: Refactored
io.loadertoio.data_loaderwith automatic format detection for NetCDF, GRIB, and Zarr.Improved UX: Added friendly error messages with installation instructions when optional dependencies (
cfgrib,zarr) are missing.Expanded Sample Data: Integrated ERA5 UV850 sample datasets and Zarr-formatted alternatives in
utils.data.
Testing
NCL Validation: New integration test suite validated against NCL 6.6.2 reference data.
Format Auto-detection Tests: Added comprehensive tests for NetCDF, GRIB, and Zarr auto-detection in
DataLoader.
CI/CD & Testing
Verification: Enhanced documentation builds and expanded test coverage.
Maintenance
Spectral Backend Consolidation: Evaluated
pyshtools,SHTns,ducc0, andjaxfor performance, accuracy, and portability. Selected ducc0 as the default backend due to its superior multi-frame performance (6.3x faster than SHTns), self-contained architecture (no external C dependencies), and near bit-wise parity with NCL for kinematics. Integrated JAX as an experimental alternative backend for GPU-accelerated spherical harmonic transforms.Strict Typing: Achieved 100%
mypycompliance in core I/O modules and removed usage ofAny.Dependency Refinement: Introduced a dedicated
zarroptional dependency group and updated theallextra.
v0.4.2 - 2026-03-19
Performance
Transitioned Dask backend to threaded scheduling for improved efficiency.
Decoupled chunk processing to reduce memory overhead.
Optimized default worker count to match CPU core availability (max 4).
Features
Added
--chunk-size(or-c) CLI argument to control processing granularity.Refined Docker publishing logic with improved tag prioritization.
Maintenance
Enhanced CI/CD concurrency rules to reduce redundant build noise.
v0.4.1 - 2026-03-18
Note: First release available on Conda-Forge.
Testing
Registered integration markers to resolve warnings in Conda-forge CI pipelines.
v0.4.0 - 2026-03-14
Architecture (Modernization)
Vectorized Data Model: Massive refactor from Python-object trajectories to a high-performance, array-backed structure.
JIT-Optimized Kernels: Replaced core mathematical loops with Numba-compiled kernels, achieving C-level performance.
Dask Integration: Implemented end-to-end multi-processing with tree reduction for large-scale datasets.
Features
GRIB Support: Introduced support for GRIB files via the
cfgribengine.Multi-Variable Tracking: Support for tracking multiple variables per center using a flexible dictionary structure.
Performance
Vectorized Linker: Re-engineered the
SimpleLinkerusing NumPy broadcasting for near-instant distance calculations.Memory Efficiency: Implemented
slots=Truefor dataclasses and flat-array extraction for centers.
v0.3.3 - 2026-03-10
Security
Integrated Trivy vulnerability scanning into the Docker build pipeline.
Added SBOM (Software Bill of Materials) and provenance attestations to all releases.
Maintenance
Refined Docker image tagging and unified caching scopes.
Simplified CI test matrix for faster verification.
v0.3.2 - 2026-03-09
CI/CD
Added support for ARM64 Docker images.
Migrated project management to
uvfor deterministic builds and faster dependency resolution.Optimized Docker layer caching for significantly faster image deployments.
Maintenance
Updated project homepage and refined repository metadata.
v0.3.1 - 2026-03-08
Maintenance
Synchronized documentation versions and updated dependency lockfiles.
v0.3.0 - 2026-03-08
Features
IMILAST Export: Added support for exporting cyclone trajectories in the standard IMILAST intercomparison format.
Automated Data Fetching: Integrated
poochfor automatic retrieval of ERA5 test datasets.
Refactoring
Xarray Native: Migrated detection pipeline to use Xarray for coordinate-aware processing.
Strict Typing: Achieved 100%
mypycompliance and dropped support for Python 3.10 (enforced Python 3.11+ standards).
Infrastructure
Added Read the Docs documentation scaffolding.
Implemented tiered integration testing (Short vs. Full variants).
v0.2.2 - 2026-03-04
Note: First release available on PyPI.
Distribution
Established automated publishing to PyPI via GitHub Actions.
Added Zenodo DOI integration for scientific citation.
Documentation
Initial Read the Docs configuration.
Standardized PyPI installation instructions in README.
v0.2.1 - 2026-03-04
Maintenance
Metadata fixes and version synchronization.
v0.2.0 - 2026-03-01
Features
Dask Backend: Introduced task-parallel execution with automatic worker detection.
CSV Output: Transitioned from pickle to user-friendly CSV as the default output format.
Architecture (Modernization)
Python 3 Migration: Complete refactor from Python 2.7 to Python 3.10+, including type hints and modern syntax.
NetCDF4 Migration: Switched from the legacy
Niolibrary tonetCDF4for robust data handling.
Refactoring
Extracted core logic into
simple/andmodels/modules for better maintainability.
v0.0.2 - 2018-10-25
Added
minmaxmodesupport for ERA-Interim Mean Sea Level Pressure (MSL) and Vorticity (VO) tracking.
v0.0.1 - 2016-01-11
Initial release.
Core cyclone tracking logic based on local extrema detection.