Welcome to anemoi-utils documentation!

Anemoi is a framework for developing machine learning weather forecasting models. It comprises of components or packages for preparing training datasets, conducting ML model training and a registry for datasets and trained models. Anemoi provides tools for operational inference, including interfacing to verification software. As a framework it seeks to handle many of the complexities that meteorological organisations will share, allowing them to easily train models from existing recipes but with their own data.

anemoi-utils is the shared utility layer that the rest of the Anemoi packages depend on. It provides:

Configuration & settings

A Pydantic-settings based configuration system that loads from TOML/YAML files and environment variables, with built-in secret management. See Settings for the full schema reference and environment variable naming conventions.

Checkpoint I/O

Read and write extra metadata inside PyTorch checkpoint files (zip archives). See checkpoints.

Date & frequency handling

Normalise frequencies, generate date ranges, and parse date specifications used across Anemoi workflows. See dates.

GRIB parameter database

Look up GRIB parameter metadata from the ECMWF parameter database, with local caching support. See grib.

Human-readable formatting

Convert bytes, seconds, and other quantities into human-friendly strings. See humanize.

Provenance tracking

Collect environment information (Python version, installed packages, git state) for experiment reproducibility. See provenance.

S3 / object storage

Helpers for interacting with S3-compatible object storage, including per-bucket credential overrides. See s3.

Testing utilities

Shared test helpers and fixtures used across Anemoi packages. See testing.

Text & table formatting

Terminal-friendly text utilities including table rendering, dotted lines, and tree display. See text.

License

Anemoi is available under the open source Apache License.