https://github.com/access-nri/access-experiment-runner
Orchestrate branch-based workflows and automate job submission for ACCESS experiments.
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 (16.4%) to scientific vocabulary
Keywords
Repository
Orchestrate branch-based workflows and automate job submission for ACCESS experiments.
Basic Info
- Host: GitHub
- Owner: ACCESS-NRI
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://access-nri.github.io/access-experiment-runner/
- Size: 42 KB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
- Releases: 3
Topics
Metadata Files
README.md
access-experiment-runner
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.
Key features
Leverages
Payuand run multiple experiments from different configuration branches.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
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 INPUTYAMLFILE]
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 INPUTYAMLFILE, --input-yaml-file INPUTYAMLFILE 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
```yaml testpath: /g/data/{PROJECT}/{USER}/prototype-0.1.0 repositorydirectory: 1degjra55ryf runningbranches: [ctrl, perturb1, perturb2] keepuuid: True runningbranches: # List of experiment branches to run. - ctrl - perturb1 - 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
- Trigger the experiment
experiment-runner -i example/Experiment_runner_example.yaml - 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!
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: 9
- Release event: 3
- Issues event: 4
- Watch event: 1
- Delete event: 4
- Issue comment event: 6
- Member event: 4
- Push event: 13
- Pull request review comment event: 4
- Pull request review event: 5
- Pull request event: 8
- Fork event: 1
Last Year
- Create event: 9
- Release event: 3
- Issues event: 4
- Watch event: 1
- Delete event: 4
- Issue comment event: 6
- Member event: 4
- Push event: 13
- Pull request review comment event: 4
- Pull request review event: 5
- Pull request event: 8
- Fork event: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 4
- Total pull requests: 14
- Average time to close issues: about 3 hours
- Average time to close pull requests: 41 minutes
- Total issue authors: 2
- Total pull request authors: 1
- Average comments per issue: 0.75
- Average comments per pull request: 0.5
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 14
- Average time to close issues: about 3 hours
- Average time to close pull requests: 41 minutes
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 0.75
- Average comments per pull request: 0.5
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- minghangli-uni (3)
- anton-seaice (1)
Pull Request Authors
- minghangli-uni (14)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 245 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 3
- Total maintainers: 1
pypi.org: experiment-runner
A tool to orchestrate branch-based workflows and automate job submission for ACCESS experiments.
- Homepage: https://github.com/ACCESS-NRI/access-experiment-runner
- Documentation: https://experiment-runner.readthedocs.io/
- License: Apache-2.0
-
Latest release: 0.1.1
published 6 months ago
Rankings
Maintainers (1)
Dependencies
- ACCESS-NRI/action-build-and-upload-conda-packages v3.0.0 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-python v5 composite
- actions/upload-artifact v4 composite
- conda-incubator/setup-miniconda 835234971496cad1653abb28a638a281cf32541f composite
- pypa/gh-action-pypi-publish 76f52bc884231f62b9a034ebfe128415bbaabdfc composite
- ACCESS-NRI/action-build-and-upload-conda-packages v3.0.0 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- codecov/codecov-action v5 composite
- conda-incubator/setup-miniconda 835234971496cad1653abb28a638a281cf32541f composite
- psf/black stable composite
- py-actions/flake8 v2 composite