experiment-generator
Automating the setup and management of ACCESS models.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (19.1%) to scientific vocabulary
Keywords
Repository
Automating the setup and management of ACCESS models.
Basic Info
- Host: GitHub
- Owner: ACCESS-NRI
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://access-experiment-generator.access-hive.org.au/
- Size: 204 KB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 7
- Releases: 6
Topics
Metadata Files
README.md
access-experiment-generator
About
The ACCESS Experiment Generator is a tool for creating ensembles of model experiments from a single control configuration. Instead of manually editing multiple files, you describe changes in one YAML plan, and the generator:
- Clones the configuration repository from GitHub.
- Creates a control branch (with optional edits).
- Creates one new branch per perturbation experiment.
- Applies the parameter changes and commits them.
Each generated branch is immediately Payu-ready — you can step into the branch directory and launch runs on Gadi, NCI using Payu.
Key features
- YAML-driven configuration: define edits once, apply them across many experiments.
- Git-branch workflow: each variant is a branch, making experiments traceable.
- Reproducibility: given the same repo + YAML, identical branches are regenerated.
- Payu integration: generated branches are ready to run on Payu.
Documentation
Full documentation is available at https://access-experiment-generator.access-hive.org.au/
Installation
User setup
The experiment-generator is installed in the payu-dev conda environment:
bash
module use /g/data/vk83/prerelease/modules && module load payu/dev
Alternatively, create a Python virtual environment and install via pip:
```bash
python3 -m venv
pip install experiment-generator ```
Development setup
For contributors and developers, setup a development environment, ``` git clone https://github.com/ACCESS-NRI/access-experiment-generator.git cd access-experiment-generator
under a virtual environment
pip install -e . ```
Usage
```bash $ experiment-generator --help
usage: experiment-generator [-h] [-i INPUTYAMLFILE]
Manage ACCESS experiments using configurable YAML input. If no YAML file is specified, the tool will look for 'Experiment_generator.yaml' in the current directory. If that file is missing, you must specify one with -i / --input-yaml-file.
options: -h, --help show this help message and exit -i INPUTYAMLFILE, --input-yaml-file INPUTYAMLFILE Path to the YAML file specifying parameter values for experiment runs. Defaults to 'Experiment_generator.yaml' if present in the current directory. ```
Example YAML
An exmaple plan (examples/Experiment_generator_example.yaml)
```yaml modeltype: access-om2 # Specify the model ("access-om2", "access-om3", "access-esm1.5", or "access-esm1.6") repositoryurl: git@github.com:ACCESS-NRI/access-om2-configs.git startpoint: "fce24e3" # Control commit hash for new branches testpath: prototype-0.1.0 # All control and perturbation experiment repositories will be created here; can be relative, absolute or ~ (user-defined) repositorydirectory: 1degjra55_ryf # Local directory name for the central repository (user-defined)
controlbranchname: ctrl
ControlExperiment: accessom2.nml: datemanagernml: restartperiod: "0,0,86400"
config.yaml: queue: express walltime: 5:00:00
ice/cicein.nml: shortwavenml: albicei: 0.05 albicev: 0.08 thermo_nml: chio: 0.001
PerturbationExperiment: Parameterblock1: branches: - perturb1 - perturb2
ice/cice_in.nml:
shortwave_nml:
albicei:
- 0.06
- 0.07
albicev:
- 0.78
- 0.81
thermo_nml:
chio:
- 0.007
- 0.008
ocean/input.nml:
ocean_nphysics_util_nml:
agm_closure_length:
- 25000.0
- 75000.0
```
Workflow example
Run the generator
bash experiment-generator -i examples/Experiment_generator_example.yamlInspect branches ```bash cd my-experiment/1degjra55ryf git branch
ctrl
main
perturb_1
perturb_2
```
Check changes
bash git checkout perturb_1 git diff ctrl -- ice/cice_in.nml
Owner
- Name: ACCESS-NRI
- Login: ACCESS-NRI
- Kind: organization
- Email: access.nri@anu.edu.au
- Website: https://www.access-nri.org.au/
- Repositories: 17
- Profile: https://github.com/ACCESS-NRI
Australian Earth System Simulator - National Research Infrastructure
GitHub Events
Total
- Create event: 23
- Release event: 5
- Issues event: 30
- Delete event: 18
- Issue comment event: 45
- Member event: 2
- Push event: 77
- Gollum event: 10
- Pull request review event: 33
- Pull request review comment event: 26
- Pull request event: 41
Last Year
- Create event: 23
- Release event: 5
- Issues event: 30
- Delete event: 18
- Issue comment event: 45
- Member event: 2
- Push event: 77
- Gollum event: 10
- Pull request review event: 33
- Pull request review comment event: 26
- Pull request event: 41
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 20
- Total pull requests: 25
- Average time to close issues: 1 day
- Average time to close pull requests: about 16 hours
- Total issue authors: 1
- Total pull request authors: 4
- Average comments per issue: 0.0
- Average comments per pull request: 1.36
- Merged pull requests: 18
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 20
- Pull requests: 25
- Average time to close issues: 1 day
- Average time to close pull requests: about 16 hours
- Issue authors: 1
- Pull request authors: 4
- Average comments per issue: 0.0
- Average comments per pull request: 1.36
- Merged pull requests: 18
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- minghangli-uni (20)
Pull Request Authors
- minghangli-uni (18)
- dougiesquire (4)
- edoyango (2)
- chrisb13 (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 685 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 7
- Total maintainers: 1
pypi.org: experiment-generator
A tool to generate and manage parameter sensitivity experiments.
- Homepage: https://github.com/ACCESS-NRI/access-experiment-generator
- Documentation: https://experiment-generator.readthedocs.io/
- License: Apache-2.0
-
Latest release: 1.0.0
published 6 months ago