Skip to main content

An earthkit-workflows interface to anemoi inference

Project description

earthkit-workflows-anemoi

Static Badge Code Coverage License: Apache 2.0 Latest Release

[!IMPORTANT] This software is Sandbox and subject to ECMWF's guidelines on Software Maturity.

Earthkit-Workflows-Anemoi is a Python library for connecting anemoi-inference to earthkit-workflows. Allowing for the inference tasks to be run as part of a larger DAG. It provides an API to directly create a graph consisting of initial condition retrieval and model execution, or to run inference off other source nodes which themselves are the initial conditions.

Installation

The package has a split dependency structure to allow flexible installation:

For workflow creation (minimal)

To create workflows without running them locally:

pip install earthkit-workflows-anemoi

This installs only the core dependencies needed to define and serialize workflows.

For workflow execution (full runtime)

To both create and execute workflows locally:

pip install 'earthkit-workflows-anemoi[runtime]'

This includes anemoi-inference and anemoi-datasets required for local execution.

For development

git clone https://github.com/ecmwf/earthkit-workflows-anemoi.git
cd earthkit-workflows-anemoi
pip install -e '.[dev]'

Additionally you may want to install pre-commit hooks:

pip install pre-commit
pre-commit install

Quick Start

To create a graph relying on anemoi-inference to get the initial conditions the following can be used:

from earthkit.workflows.plugins import anemoi as anemoi_workflows

CKPT = {'huggingface': 'ecmwf/aifs-single-1.0'}

model_action = anemoi_workflows.fluent.from_input(CKPT, 'mars', '2022-01-01T00:00', lead_time = '7D', ensemble_members=51)
model_action

Note: For models with multiple datasets (supported since anemoi-inference 0.11.0), the resulting action includes a dataset dimension. Use .select({"dataset": "era5"}) to select a specific dataset if needed.

Given other nodes as the initial conditions:

from earthkit.workflows.plugins import anemoi as anemoi_workflows
from earthkit.workflows import fluent

SOURCE_NODES: fluent.Action
CKPT = {'huggingface': 'ecmwf/aifs-single-1.0'}

SOURCE_NODES.anemoi.infer(CKPT, lead_time = '7D', ensemble_members = 51)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

earthkit_workflows_anemoi-0.7.3.tar.gz (51.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

earthkit_workflows_anemoi-0.7.3-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file earthkit_workflows_anemoi-0.7.3.tar.gz.

File metadata

File hashes

Hashes for earthkit_workflows_anemoi-0.7.3.tar.gz
Algorithm Hash digest
SHA256 ba57a0b776bbc2f05b72eb1cb7a54e473852189d324c5cda337d43dcd60f0a3b
MD5 dfe8b162337d3b4230b138d565c9ef37
BLAKE2b-256 07d1d2ca34b8fea078ae5b0e764aa89df2a3ff49f34d3520a34f56e7ae21cbb9

See more details on using hashes here.

File details

Details for the file earthkit_workflows_anemoi-0.7.3-py3-none-any.whl.

File metadata

File hashes

Hashes for earthkit_workflows_anemoi-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1896f90760788d8106b7e084bc0934381aa25c6185c92f8b6b10df37bad98e29
MD5 ea7255e42a4b9774b12a3fd99259613c
BLAKE2b-256 aa8e4214e188f483ab483cf30023c8ded362f9bea9f7f9d7d35bfc408876f72f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page