20/07/2026
Release: 1.3.3 & 1.3.4
Payu 1.3.3 introduced new features and usability improvements. Shortly after its release, an upstream change in the filelock package required a small compatibility fix, which is included in payu 1.3.4. We therefore recommend that all users load payu/1.3.4.
https://github.com/payu-org/payu/releases/tag/1.3.3
https://github.com/payu-org/payu/releases/tag/1.3.4
Getting Started
This version of payu is now available on gadi:
module use /g/data/vk83/modules
module load payu/1.3.4
Updates
- Add option to specify experiment name prefix in
config.yaml. by @Qianhui_Chen in #751 - Check user access to project before submitting PBS job. by @Qianhui_Chen in #753
- Update status to
runningwhenexpt.collate()is running by @Qianhui_Chen in #758 - Create archive symlink in
payu setup; show experiment paths inpayu status --pathsby @Qianhui_Chen in #768 - Update payu telemetry by @atteggiani in #726
- Configure warning formatting and log-level by @Qianhui_Chen in #750
- Set parent experiment to source branch/hash UUID when
-p BASEis set inpayu checkoutby @Qianhui_Chen in #759 - Add payu_jobs as protected in sync. by @Qianhui_Chen in #790
- 673 error handling cleanup by @jasmeen_kaur in #755
- Add
sync:base_pathto PBS storage flag ifsync:pathis not set. by @Qianhui_Chen in #801 - Raise error when archive not found unless a
--new-uuidflag is specified. by @Qianhui_Chen in #795 - Separate auto-generated and manual fields in
metadata.yamlby @Qianhui_Chen in #781
For a full list of pull requests that includes additional bug fixes, please see Payu Github 1.3.4 release.
Notes
1.
Change of behavior
: Confirmation required before creating a new UUID
Previously, payu would automatically generate a new experiment UUID whenever the archive directory could not be found. This default behaviour could be risky. For example, if you changed the short path after running a multi-run experiment, payu would silently create a new UUID and restart the experiment from Run 0 instead of continuing from the existing restart.
Now, payu instead raises an error, unless the user explicitly confirms that a new UUID should be created by supplying the --new-uuid flag to payu setup, payu run, or payu checkout.
This confirmation is not required for payu clone or payu checkout -b, where creating a new experiment is the expected behaviour.
2. Improved error messages formatting and logging
From payu 1.3.3, payu-specific exceptions (for example, PayuConfigError and PayuRuntimeError) are displayed as formatted log messages without stack trace by default. Details of logging are controlled with the --log-level option. To display the full stack trace for these exceptions, please use the --stacktrace flag. Unexpected exceptions (such as ValueError) continue to display the full stack trace.
3. Check project access before PBS job submission
Before submitting a PBS job, payu now verifies that the user has access to the nominated project and the projects associated with the required files such as inputs, executables and restarts. This avoids waiting in the queue only to find out the job failed. If access is blocked, payu reports the problematic project(s) in the error message.
4. Easier access to experiment paths
The new payu status --paths command displays all important experiment directories, for example:
========================================
Experiment Paths:
Experiment UUID: oo11000
Experiment Name: mom6-777eeee
Control Directory: /home/$USER/mom6
(Where model configuration is stored)
Work Directory: /scratch/$PROJECT/$USER/mom6/work/mom6-777eeee
(Temporary directory for experiment runs)
Archive Directory: /scratch/$PROJECT/$USER/mom6/archive/mom6-777eeee
(Where all experiment outputs are stored)
Sync Destination: /path/to/sync
(Remote directory to sync outputs to)
========================================
For scripting and other machine-readable workflows, please use:
payu status --paths --json
For easier navigation, payu setup now creates symbolic links to both the work and archive directories in the control directory, if they do not already exist.
5. Shortcut for assigning a parent experiment in payu checkout -b
When a new branch (New_B) is created from a specific Git reference (git_ref_A):
payu checkout -b New_B git_ref_A
it is now possible to use BASE to automatically look up the UUID associated with git_ref_A and assign it as the parent experiment in metadata.yaml:
payu checkout -b New_B -p BASE git_ref_A
Having this information stored in the metadata improves experiment provenance by establishing clear links between experiments.
Previously, assigning parent experiment in metadata.yaml required manually specifying the parent UUID:
payu checkout -b New_B -p <parent_uuid> git_ref_A
This change saves users the effort to look up the UUID, and is less error prone.
Support
Replies to this topic are disabled.
If you have specific questions about this release follow the guidelines for requesting help from ACCESS-NRI.
If you have questions about payu create a topic in a category that best matches the model you are using, or in the Technical category and tag it with payu. If you require assistance follow the guidelines for requesting help from ACCESS-NRI.
Credits
Developments was by @Qianhui_Chen, @jasmeen_kaur, @atteggiani.
Reviewers included @jo-basevi, @Aidan.