09/09/2026
Release: 1.3.6
https://github.com/payu-org/payu/releases/tag/1.3.6
There is a bug in this release for ACCESS-ESM1.5 models that returns the error
[ERROR] ‘Experiment’ object has no attribute ‘repeat_run’Work-around is to use another payu version for ACCESS-ESM1.5 models
Getting Started
This version of payu is now available on gadi:
module use /g/data/vk83/modules
module load payu/1.3.6
Updates
What’s Changed
- Add runlog-off, repeat and reproduce-off CLI flag in payu run by @Qian-HuiChen in #835
- Add job dependency: run > collate > postscript > sync. by @Qian-HuiChen in #832
- Write minimal provenance information to restarts by @Qian-HuiChen in #849
- Check for pre-existing restarts if repeat is True. by @Qian-HuiChen in #848
- Fix handling of init_run=0 in collate workflow by @minghangli-uni in #851
- Handle empty-string timestamp, as well as other invalid string and None. by @Qian-HuiChen in #857
- Add validation of parent uuid and check against the designated restart. by @Qian-HuiChen in #854
For a full list of pull requests that includes additional bug fixes, please see Payu Github 1.3.6 release.
Notes
1. Bug fix: payu was collating output001 instead of output000 for run 0.
For each run N, payu is expected to collate output00(N-1). However, @minghangli spotted that for run 0, payu was attempting to collate output001 instead of output000. This resulted in a FileNotFoundError.
This bug was introduced in payu 1.3.1 and now is fixed in payu 1.3.6. It only affects run 0 and does not impact any other runs.
2. Add job dependencies to run → collate → postscript → sync workflow
Previously, payu submitted the postscript and sync jobs at the same time. This meant that the sync job could start before the postscript job had finished. For this reason, previous payu doesn’t sync the last run if postscript is enabled.
With payu 1.3.6, job dependencies are added to ensure that each stage only starts after the previous stage has exited successfully. The sync job can now safely sync the last run, ensuring that the postscript has completed before syncing.
All stages can be monitored via payu status, a feature requested by the community. For example:
$ payu status
========================================
Run: 37
------------- Run Info -------------
Job ID: 1700.gadi-pbs
Run ID: 989xxxxx3
Stage: archive
Total Queue Time: 0h 1m 57s
Model Finish Time: 1903-12-01T00:00:00
Model Exit Code: 0 (Success)
Exit Status: 0 (Success)
Output Log: /home/189/xxx
Error Log: /home/189/xxx
Job File: /scratch/tm70/xxx/run/1700.gadi-pbs.json
------------- Collate Info -------------
Job ID: 1710.gadi-pbs
Job Dependencies: 1700.gadi-pbs
Stage: exited
Total Queue Time: 0h 1m 12s
Exit Status: 0 (Success)
Output Log: /home/189/qsss
Error Log: /home/189/ssss
Job File: /scratch/tm70/xxx/collate/1705.gadi-pbs.json
------------- Postscript Info -------------
Job ID: 1706.gadi-pbs
Job Dependencies: 1705.gadi-pbs
Stage: queued/running
Job File: /scratch/tm70/xxx/postscript/1706.gadi-pbs.json
------------- Sync Info -------------
Job ID: 1707.gadi-pbs
Job Dependencies: 1706.gadi-pbs
Stage: queued
Job File: /scratch/tm70/xxx/sync/1707.gadi-pbs.json
========================================
All post-processing jobs (collate, postscript, and sync) can be disabled in config.yaml. If enabled, they will be submitted all together after the model run.
To remove killed jobs from the payu status output run:
payu status --update
3. Write minimal provenance information into restart directory
Payu now records minimal provenance information in the restart directory as restart_metadata.yaml.
name: mom6
payu_current_run: 3
experiment_uuid: xxx
payu_run_id: yyy0000
model_finish_time: '1901-03-22T00:00:00'
parent_experiment: <parent_experiment_uuid_if_exists_in_metadata>
This provides important experiment provenance information if the restart directory is moved out of the original archive directory.
For any information that cannot be retrieved (e.g., when runlog or metadata is disabled), the value will be recorded as __FAILED_TO_RETRIEVE__.
4. Validate the parent uuid format before adding it to metadata
In payu 1.3.6, the parent uuid is validated to ensure that it is in UUID4 format before being added to metadata.yaml, e.g.,
payu checkout -b new_branch ctrl_branch -p FAKE_UUID
will raise an error because FAKE_UUID does not match UUID4 format.
5. Bug fix: empty-string timestamp causing errors
As reported by the community and ACCESS-NRI model developers, the cached PBS node file may contain an empty timestamp (""), which can cause payu to error out.
This bug has been fixed in payu 1.3.6. When an empty-string timestamp is found, payu will generate a new cached pbsnode.json file.
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 by @Qianhui_Chen, @minghangli.
Reviewers included @jo-basevi, @Aidan, @spencerwong.