Skip to main content

Model Ensembler

GitHub issues GitHub closed issues GitHub GitHub forks GitHub forks Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. Contributor Covenant

model-ensembleris a tool to configure and automate running model ensembles on High-Performance Computing (HPC) clusters. It reduces the manual configuration of individual ensemble runs, by using a common configuration to individually generate templates for each run.

It also provides pre-and post processing functionality to allow for common tasks to be applied to the ensemble, before and after the individual runs.

model-ensembler is developed to be extendable to various HPC backends,currently supporting SLURM and running locally.

Installation

To install model-ensembler:

python -m venv venv
source venv/bin/activate
pip install model-ensembler

To check it has installed correctly, you can run:

model_ensemble_check [dummy|slurm]

Basic Usage

Under the examples/ folder you will find example configs and templates that we can run on a local machine:

examples/
├── template_job/
│   ├── inputfile.j2
│   ├── pre_run.sh.j2
│   ├── slurm_run.sh.js
│   └── post_run.sh.j2
└── ensemble_config.yml

The command model_ensemble is provided to execute the ensemble.

The --help flag can be used to find out more information:

model_ensemble --help

Its use is as follows:

model_ensemble configuration {slurm, dummy}

Here configuration refers to our configuration file, and {slurm, dummy} are the HPC backend options (where dummy is the options to run locally).

Applying this to our examples/, and running locally:

model_ensemble examples/sanity-check.yml dummy

You are now running a model ensemble!

Documentation

For further usage instructions and an overview of model-ensembler, please refer to the documentation.

Future plans

Current plans are captured now in the github issues. There's nothing in the long term that I'm focusing on for this tool, except to maintain it and see if I can promote the usage a bit more.

This tool was merely to help out with a single support ticket for a weather model run, but the concept had potential and it was easier than deploying something more substantial! If there are better approaches or tools that do something similar, very keen to look at them!

Certainly, things like Airflow and job arrays have similar concepts, but are either more heavyweight/less suitable deployment wise or not abstracted enough for simplifying lives, respectively!!!

Cylc

Compare Cylc to model-ensembler.

Environmental Forecasting

The model-ensembler is part of a wider family of tools for Environmental Forecasting:

  • download-toolbox: A toolbox of downloaders for environmental data.
  • preprocess-toolbox: A toolbox for processing downloaded datasets according to common approaches for environmental data.

Copyright

MIT LICENSE

© British Antarctic Survey 2021-2025

Metadata

Release files for model-ensembler 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for model-ensembler 0.6.2
File Size Uploaded
model_ensembler-0.6.2.tar.gz 27.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for model-ensembler 0.6.2
File Interpreter ABI Platform
model_ensembler-0.6.2-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 52.8 kB

Release files / model_ensembler-0.6.2.tar.gz

Download URL model_ensembler-0.6.2.tar.gz
Size 27.0 kB
Tags Source
SHA-256 checksum
How to use checksums
707dcab4403bbc46f54053ad0237d8ef86dec364e1a2b16cd0b828922293e68c
BLAKE2b-256 checksum
How to use checksums
c666b4fee39da76b97b1f12eba3f2f41b366207a7434b3facc8222aafc56031d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / model_ensembler-0.6.2-py2.py3-none-any.whl

Download URL model_ensembler-0.6.2-py2.py3-none-any.whl
Size 25.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
f94d4b6391a7f6893fe518375cdb9ee7ab51ff3d9e15f2db82b4ce00e8aa0f81
BLAKE2b-256 checksum
How to use checksums
528895c4b9059a688ddb7c2ae720710c94d8452a2529215ce52af739e3cb5c6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page