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.0.tar.gz (51.8 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.0-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for earthkit_workflows_anemoi-0.7.0.tar.gz
Algorithm Hash digest
SHA256 9cc6cddc6893557315faec675bf259efb5400fa6ecabdd5aa0b6eb401952bec9
MD5 6d018fafb4cbebd2829a96f95b2fd68f
BLAKE2b-256 0fa4a7a55f9c246293990d000ccd1873392625b4a34a37038b5937a9e3cf53b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for earthkit_workflows_anemoi-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df2bd05896b746757e240a28d4fbcdfc990043c013a80f351d0f32ccbc1f308e
MD5 7dc9aae2f4e3a5b3cfce517ebd435d85
BLAKE2b-256 8aa296d49d0b7af97c89bb5ae6cf9771571043e4ae8a09b01789d5fa1fb564d5

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