Skip to content

Getting started

Installation

The experiment-generator is installed in the payu-dev conda environment (hopefully to be installed in payu conda environemnt soon), hence loading payu/dev would directly make experiment-generator available for use.

module use /g/data/vk83/prerelease/modules && module load payu/dev

Option B – virtualenv

Alternatively, create and activate a python virtual environment, then install via pip,

python3 -m venv <path/to/venv> --system-site-packages
source <path/to/venv>/bin/activate

pip install experiment-generator

Option C - clone the repository

For contributors and developers, setup a development environment,

git clone https://github.com/ACCESS-NRI/access-experiment-generator.git
cd access-experiment-generator

python3 -m venv <path/to/venv> --system-site-packages
source <path/to/venv>/bin/activate

pip install -e .

Usage

The tool only requires a single YAML file, where examples are provided in access-experiment-generator/examples.

$ experiment-generator --help
usage: experiment-generator [-h] [-i INPUT_YAML_FILE]

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 INPUT_YAML_FILE, --input-yaml-file INPUT_YAML_FILE
                        Path to the YAML file specifying parameter values for experiment runs.
                        Defaults to 'Experiment_generator.yaml' if present in the current directory.

Quick start

Create a minimal YAML (save as Experiment_generator.yaml),

model_type: access-om2
repository_url: git@github.com:ACCESS-NRI/access-om2-configs.git
start_point: "fce24e3"
test_path: my-experiment
repository_directory: 1deg_jra55_ryf
control_branch_name: ctrl

Control_Experiment:


Perturbation_Experiment:
  Parameter_block1:
    branches:
      - perturb_1
      - perturb_2
    ice/cice_in.nml:
      shortwave_nml:
        albicei:
          - 0.36
          - 0.39

Run the generator,

experiment-generator -i Experiment_generator.yaml

You’ll get,

  • a ctrl branch without edits
  • perturb_1, perturb_2 branches with their respective parameter values committed