experiment-generator

Automating the setup and management of ACCESS models.

https://github.com/access-nri/access-experiment-generator

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

ocean ocean-team sea-ice
Last synced: 6 months ago · JSON representation

Repository

Automating the setup and management of ACCESS models.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 1
  • Open Issues: 7
  • Releases: 6
Topics
ocean ocean-team sea-ice
Created 12 months ago · Last pushed 6 months ago
Metadata Files
Readme License Zenodo Copyright

README.md

access-experiment-generator

CI CD Coverage Status License Code style: black

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 --system-site-packages source /bin/activate

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

  1. Run the generator bash experiment-generator -i examples/Experiment_generator_example.yaml

  2. Inspect branches ```bash cd my-experiment/1degjra55ryf git branch

    ctrl

    main

    perturb_1

    perturb_2

    ```

  3. 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

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.

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 685 Last month
Rankings
Dependent packages count: 8.7%
Forks count: 23.8%
Average: 30.6%
Stargazers count: 40.8%
Dependent repos count: 49.0%
Maintainers (1)
Last synced: 6 months ago

Dependencies

pyproject.toml pypi