Skip to main content

access-experiment-runner

CI CD Coverage Status License Code style: black

About

The main role of the ACCESS experiment runner is to manage and monitor experiment job runs on the supercomputing environment (e.g., Gadi). It builds on Payu, handling the orchestration of multiple configuration branches, experiment setup, and job lifecycle.

Documentation

The ACCESS experient runner documentation can be found at: https://access-experiment-runner.hive-docs.org.au/

Key features

  • Leverages Payu and run multiple experiments from different configuration branches.
  • Supports updating parameters even after branches have been created, eliminating the need to delete and recreate entire branches when corrections are required.
  • Submits and tracks PBS jobs on Gadi; oversees job lifecycle from submission through completion.
    • When a job completes within expected run times, the tool prints a confirmation and stops further submissions.
    • If a job fails, users may choose to inspect the working directory to diagnose the root cause. The tool will detect the failure and pause further actions, giving the user control over whether to resubmit.
    • Detects already running or queued jobs and avoids redundant submissions—quickly skips duplicates with a user notification.

Installation

User setup

The experiment-runner is installed in the payu-dev conda environment, hence loading payu/dev would directly make experiment-runner available for use.

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

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-runner

Development setup

For contributors and developers, setup a development environment,

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

# under a virtual environment
pip install -e .

Usage

experiment-runner -i --help

usage: experiment-runner [-h] [-i INPUT_YAML_FILE]

Manage ACCESS experiments using configurable YAML input.
If no YAML file is specified, the tool will look for 'Experiment_runner.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_runner.yaml' if present in the current directory.

One YAML example is provided in example/Experiment_runner_example.yaml

test_path: /g/data/{PROJECT}/{USER}/prototype-0.1.0
repository_directory: 1deg_jra55_ryf
running_branches: [ctrl, perturb_1, perturb_2]
keep_uuid: True
running_branches: # List of experiment branches to run.
  - ctrl
  - perturb_1
  - perturb_2

nruns: # Number of runs for each branch; must match the order of running_branches.
  - 2
  - 0
  - 0

# Starting point for each branch. Options include:
#   cold: start from scratch (cold start).
#   control/restartXXX: start from a specific control run restart index.
#   perturb/restartXXX: start from a specific perturbation run restart index.
startfrom_restart:
  - cold
  - cold
  - cold

where,

test_path: All control and perturbation experiment repositories.

repository_directory: Local directory name for the central repository, where the running_branches are forked from.

running_branches: A list of git branches representing experiments to run.

keep_uuid: Preserve unique identifiers (UUIDs) across runs.

nruns: A list indicating how many runs to perform for each branch listed in running_branches.

startfrom_restart: Starting point for each branch.

Workflow example

  1. Trigger the experiment
experiment-runner -i example/Experiment_runner_example.yaml
  1. The tool then checks status:
  • Completed:
... already completed " {doneruns}, hence no new runs.
  • Failed:
Clean up a failed job {work_dir} and prepare it for resubmission.
  • Running/Queued:
You have duplicated runs for in the same folder hence not submitting this job!

Metadata

Release files for experiment-runner 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for experiment-runner 0.3.1
File Size Uploaded
experiment_runner-0.3.1.tar.gz 115.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for experiment-runner 0.3.1
File Interpreter ABI Platform
experiment_runner-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 131.2 kB

Release files / experiment_runner-0.3.1.tar.gz

Download URL experiment_runner-0.3.1.tar.gz
Size 115.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f3098ad80cb36c19230905ad3b853fa89c2b7d58ef90eef4278448a42304d0dc
BLAKE2b-256 checksum
How to use checksums
e7d9ee8fd0ae4188b030ce4072830b02440504015b141f01b50fae5a0bcab7f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Release files / experiment_runner-0.3.1-py3-none-any.whl

Download URL experiment_runner-0.3.1-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c2c994a17e1707d4c3c879d925665252ecea19a11b2a0893008389d46b77662
BLAKE2b-256 checksum
How to use checksums
41c37a59913b235f0b91794be34bcc9f2dcc9b90dd13456217119bd4784e864e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.2

2 release files

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page