Skip to main content

Model Ensembler for managed batch workflows

Reason this release was yanked:

Not working

Project description

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

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

model_ensembler-0.6.1.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

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

model_ensembler-0.6.1-py2.py3-none-any.whl (17.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file model_ensembler-0.6.1.tar.gz.

File metadata

  • Download URL: model_ensembler-0.6.1.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for model_ensembler-0.6.1.tar.gz
Algorithm Hash digest
SHA256 263176c485e265f5c63c1abe1818cde68be8cdf85ed73b6681d9efba4c49a190
MD5 440a92790bfd3fb10b5abbaa6d87754a
BLAKE2b-256 47d545aac33bf466d378a8e539e8ff0831106e8c1c30d1ec3df92d346d90948f

See more details on using hashes here.

File details

Details for the file model_ensembler-0.6.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for model_ensembler-0.6.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 13a9e21d4199512c3a40d14a7cb705dc33fa728f3bfc0de5b7531ed1a1b05685
MD5 412f114b5042d88dc233ce79db3467dc
BLAKE2b-256 a6ca7efbd0c08fb97a368194344f275837b80c1c40535265d585437353c5a674

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