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:
- Base config (from EC-Earth4 repo)
- Platform settings (HPC-specific paths, modules)
- Recipe (experiment type: GCM, OMIP, AMIP, etc.)
- Your defaults (~/.config/ece4-exp/defaults.yml)
- 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
- Full guide: https://ece4-exp.readthedocs.io
- Help:
ece4-exp --helporece4-exp generate --help
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 generateece4-exp generate gcm<TAB>→ completes recipe names
Support
- Issues: https://github.com/vlap/ece4-exp/issues
- Contact: vladimir.lapin@bsc.es
- License: MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ece4_exp-1.3.0.tar.gz.
File metadata
- Download URL: ece4_exp-1.3.0.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a023ece496703324824140e968530fb746e5602df642759c118fd1573319712
|
|
| MD5 |
681aa586573ccd7a9b887ae806bf58d2
|
|
| BLAKE2b-256 |
07a53492504e1da62aaa52ce3f714aee5a7b367cdd6cf325395951169c09e88b
|
File details
Details for the file ece4_exp-1.3.0-py3-none-any.whl.
File metadata
- Download URL: ece4_exp-1.3.0-py3-none-any.whl
- Upload date:
- Size: 42.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c991963d327d0aab48eedab98482aa9f77b5baba5ba11c21e5273280160bf08
|
|
| MD5 |
b41f305018eb9a1effaff7247ed3a507
|
|
| BLAKE2b-256 |
3f08bc51f182f3240355e1cc0a27947d2e9271c2c73eb1d4f60d0bc6c0935404
|