# Payu: a workflow manager for some ACCESS models

**URL:** <https://forum.access-hive.org.au/t/payu-a-workflow-manager-for-some-access-models/1098>\
**Category:** ACCESS-NRI Releases\
**Tags:** nci, release, payu, nri-updates\
**Created:** [17 August 2023 06:07 UTC](https://forum.access-hive.org.au/t/payu-a-workflow-manager-for-some-access-models/1098 "2023-08-17T06:07:22Z")\
**Posts on this page:** 1\
**Showing post:** 16

<div class="post-metadata">

**Author:** ![Qianhui\_Chen](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/qianhui_chen/32/4372_2.png) [@Qianhui\_Chen](https://forum.access-hive.org.au/u/Qianhui_Chen)\
**Post date:** [9 September 2026 06:32 UTC](https://forum.access-hive.org.au/t/payu-a-workflow-manager-for-some-access-models/1098/16 "2026-09-09T06:32:02Z")

</div>

# 09/09/2026

🚀 **Release:** 1.3.6

[https://github.com/payu-org/payu/releases/tag/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](https://github.com/payu-org/payu/issues/870) that returns the error
> 
> ```bash
> [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`:

```sh
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](https://github.com/Qian-HuiChen) in [#835](https://github.com/payu-org/payu/pull/835)
- Add job dependency: run \> collate \> postscript \> sync. by [@Qian-HuiChen](https://github.com/Qian-HuiChen) in [#832](https://github.com/payu-org/payu/pull/832)
- Write minimal provenance information to restarts by [@Qian-HuiChen](https://github.com/Qian-HuiChen) in [#849](https://github.com/payu-org/payu/pull/849)
- Check for pre-existing restarts if repeat is True. by [@Qian-HuiChen](https://github.com/Qian-HuiChen) in [#848](https://github.com/payu-org/payu/pull/848)
- Fix handling of init\_run=0 in collate workflow by [@minghangli-uni](https://github.com/minghangli-uni) in [#851](https://github.com/payu-org/payu/pull/851)
- Handle empty-string timestamp, as well as other invalid string and None. by [@Qian-HuiChen](https://github.com/Qian-HuiChen) in [#857](https://github.com/payu-org/payu/pull/857)
- Add validation of parent uuid and check against the designated restart. by [@Qian-HuiChen](https://github.com/Qian-HuiChen) in [#854](https://github.com/payu-org/payu/pull/854)

For a full list of pull requests that includes additional bug fixes, please see [Payu Github 1.3.6 release](https://github.com/payu-org/payu/releases/tag/1.3.6).

## 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:

```shell
$ 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:

```auto
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`.

```spoiler
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.,

```sh
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](https://forum.access-hive.org.au/t/access-help-and-support/908).

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](https://forum.access-hive.org.au/t/access-help-and-support/908).

## Credits

Developments by @Qianhui_Chen, @minghangli.

Reviewers included @jo-basevi, @Aidan, @spencerwong.

---

_[View the full topic](https://forum.access-hive.org.au/t/payu-a-workflow-manager-for-some-access-models/1098)._
