Changelog
All notable changes to ece4-exp are documented here.
Version 1.1.0 (2026-06-11)
New Features
``ece4-exp deploy EXPID``: rsync the generated config to the HPC runtime directory.
ece4-exp deploy a001 # uses host/scratch from defaults.yml
Configure once in
~/.config/ece4-exp/defaults.yml:host: bsc032XXX@mn1.bsc.es scratch: /gpfs/scratch/bsc32/bsc032XXX
Supports
--host,--scratch, and--configoverrides.
Bug Fixes
Fixed ``ece4-exp save`` completely broken:
save_recipe_from_diff.pywas missing amain()function, causing every invocation to crash withAttributeError.Fixed save looking for config in CWD only:
create_recipe_from_diffnow accepts an explicitmodified_filepath. Added--configflag toece4-exp save.Fixed pristine file written to wrong directory: When using
-o /absolute/path.yml, the pristine copy ended up alongside the output instead of in~/.config/ece4-exp/, breaking subsequentece4-exp save.Fixed ``–quiet`` not suppressing color in node-conversion log:
set_quiet_mode()was called after the firstlog_info()incmd_generate.Fixed recipe TAB completion returning nothing: The positional
recipeargument had no argcomplete completer. Added_recipe_completer()togenerateandinspect.Fixed stale ``BASE_CONFIG_EXAMPLE`` path: Path was evaluated at import time before the EC-Earth4 repo was cloned. Replaced with
get_base_config_example()called after clone.
Improvements
104 unit tests: YAML merge logic, node expressions, expid validation, launcher-kind auto-detection, full generate pipeline (no network), save/overlay roundtrip, CLI routing.
``ECE4_SKIP_SYNC`` env var: Set to skip git.smhi.se clone (used by test suite and CI).
EC-Earth4 version stamp: Generated configs include
experiment._ece4_version: v4.1.8so scientists know which version produced a given config.Module rename:
generate-experiment-config.py→generate_experiment_config.py,validate-experiment-config.py→validate_experiment_config.py.``cmd_save`` refactored: No longer rewrites
sys.argv; callscreate_recipe_from_diff()directly.Nodes-first interface: Specify nodes instead of processors.
Old:
ece4-exp generate gcm-sr --sim-procs 1120 --expid a001New:
ece4-exp generate gcm-sr 10 a001(just say 10 nodes)Backward compatible —
--sim-procsstill works.
CI: Tests all four built-in recipes, both platforms, unit suite on Python 3.9–3.12 / Linux + macOS.
Installation: pip install ece4-exp
Version 1.0.0 (2026-06-11)
Initial release as a proper Python package.
Python CLI replacing the original bash wrapper
pip install ece4-exp/ conda installableCommands:
setup,list,generate,inspect,save,validateBuilt-in recipes: gcm-sr, omip-sr, amip-sr, ccycle-sr
Platform support: BSC MareNostrum5, ECMWF HPC2020
User recipes and platforms in
~/.config/ece4-exp/TAB completion via argcomplete (
register-python-argcomplete ece4-exp)GitHub CI/CD with PyPI publishing
Pre-1.0: bash-based prototype named ece4-recipe.