Skip to main content

EC-Earth4 experiment configuration tool with YAML overlay system

Project description

ece4-exp

Generate EC-Earth4 experiment configs in 30 seconds.

pip install ece4-exp
ece4-exp setup                 # First-time setup
ece4-exp generate gcm-sr 10 a001  # 10 nodes

Quick Start

# 1. Install
pip install ece4-exp

# 2. Setup (also enables TAB completion)
ece4-exp setup
# Restart your shell

# 3. Generate experiment
ece4-exp generate gcm-sr 10 a001  # 10 nodes = 1120 cores on MareNostrum5

That's it! You have a001_experiment.yml ready to use with EC-Earth4.

Common Recipes

Recipe Description Typical Nodes (MN5)
gcm-sr Coupled atmosphere-ocean GCM 10 nodes (1120 cores)
omip-sr Ocean-only forced by reanalysis 2 nodes (224 cores)
amip-sr Atmosphere-only prescribed SST 8 nodes (896 cores)
ccycle-sr Carbon cycle coupled 10+ nodes

Commands

# Setup
ece4-exp setup                      # Configure platform, account, and HPC host

# Generate (specify nodes, not processors)
ece4-exp generate RECIPE NODES EXPID
ece4-exp generate gcm-sr 10 a001      # 10 nodes
ece4-exp generate omip-sr 2 o001 --walltime 72

# Discovery
ece4-exp list                       # Show available recipes
ece4-exp inspect gcm-sr             # View recipe details

# Deploy to HPC
ece4-exp deploy a001                # rsync config to HPC runtime directory

# Advanced
ece4-exp save --expid a001          # Save modifications as new recipe

Customization

Override defaults:

ece4-exp generate gcm-sr 10 a001 --platform ecmwf-hpc2020 --account myproj

Custom recipes:

# Generate, edit, save as recipe
ece4-exp generate gcm-sr 10 test
vim test_experiment.yml              # Make changes
ece4-exp save --expid test --recipe gcm-sr
# If you moved the file: --config /path/to/test_experiment.yml

# Reuse your recipe
ece4-exp generate test 10 a002

Custom platforms:

cp $(python3 -c "from ece4_exp import paths; print(paths.PLATFORMS_DIR)")/bsc-marenostrum5.yml \\
   ~/.config/ece4-exp/platforms/my-hpc.yml
vim ~/.config/ece4-exp/platforms/my-hpc.yml  # Adjust settings
ece4-exp generate gcm-sr 10 a001 --platform my-hpc

What It Does

ece4-exp creates EC-Earth4 experiment configuration files by combining:

  1. Base config (from EC-Earth4 repo)
  2. Platform settings (HPC-specific paths, modules)
  3. Recipe (experiment type: GCM, OMIP, AMIP, etc.)
  4. Your defaults (~/.config/ece4-exp/defaults.yml)
  5. CLI overrides (command-line flags)

The result is a validated YAML file you deploy to the HPC and pass to EC-Earth4's runtime:

ece4-exp deploy a001   # rsync to HPC scratch/ecearth4/scripts/runtime/

# then on the HPC:
cd $scratch/ecearth4/scripts/runtime
se user.yml platform.yml a001_experiment.yml scriptlib/main.yml

Documentation

Tab Completion

Add one line to your shell config file (shown by ece4-exp setup):

bash — add to ~/.bashrc:

eval "$(register-python-argcomplete ece4-exp)"

zsh — add to ~/.zshrc:

eval "$(register-python-argcomplete ece4-exp)"

Then restart your shell or run source ~/.bashrc (or ~/.zshrc).

After that:

  • ece4-exp ge<TAB>ece4-exp generate
  • ece4-exp generate gcm<TAB> → completes recipe names

Support

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

ece4_exp-1.3.2.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

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

ece4_exp-1.3.2-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file ece4_exp-1.3.2.tar.gz.

File metadata

  • Download URL: ece4_exp-1.3.2.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for ece4_exp-1.3.2.tar.gz
Algorithm Hash digest
SHA256 38a472a335c287f6ac8c136cd6a44637a5dbb7e1bfdd106ad07402fb09cf6c66
MD5 73735ec59eff0cc07960a65732029b65
BLAKE2b-256 8fff2aed91ac8cd38a269db82b0bd049654b8fb1850f73a5a8ef00fd2401ac80

See more details on using hashes here.

File details

Details for the file ece4_exp-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: ece4_exp-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 33.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for ece4_exp-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6e80a9c94134035ba2bcf60642b4571699b26e88065ae70d59daad516a0e3354
MD5 b7f4ca7fa2e3d50b2edb49276c055f27
BLAKE2b-256 d62a0e64132d27f9ce7d85468e14feca46cf4a357ed34fdb24cc4e2649781aa5

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