Welcome to the anemoi-graphs documentation!
Warning
This documentation is work in progress.
The anemoi-graphs package is a collection of tools enabling you to design custom graphs for training data-driven weather models. It is one of the packages within the anemoi framework.
About Anemoi
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.
Quick overview
The anemoi-graphs package contains a suite of tools for creating graphs for use in data-driven weather forecasting models, typically those based on deep learning approaches.
anemoi-graphs provides a simple high-level interface based on a YAML recipe file, which can be used to build graphs for the input, hidden and output layers. For each layer, the package allows you to:
Define graph nodes based on coordinates defined in a dataset (Zarr and NPZ) or via algorithmic approaches such as the triangular refined icosahedron.
Define edges (connections between nodes) based on methods such as the cut-off radius or K nearest-neighbours.
Define attributes of nodes and edges, such as weights, lengths and directions.
The node definition also allows to combine two input datasets, enabling limited-area models and stretched grid models.
The specification of each layer is defined using a YAML file, which is
run via the command-line tool. The
command-line tool allows you to quickly create graphs, as well as
describe and inspect existing graphs, from command line prompts. For
example, to create a graph based on an existing YAML file
recipe.yaml
and output to graph.pt
:
$ anemoi-graphs create recipe.yaml graph.pt
In the rest of this documentation, the commands and syntax for defining the YAML files will be explained. A full example of a YAML file for a global weather model is found in the Create your first graph section.
Installing
To install the package, you can use the following command:
pip install anemoi-graphs
Get more information in the installing section.
Contributing
git clone ...
cd anemoi-graphs
pip install .[dev]
pip install -r docs/requirements.txt
You may also have to install pandoc on MacOS:
brew install pandoc
Other Anemoi packages
License
Anemoi is available under the open source Apache License.