# Payu not recognising archive directory

**URL:** <https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428>\
**Category:** Technical\
**Tags:** help, payu\
**Created:** [23 October 2025 22:06 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428 "2025-10-23T22:06:28Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![JuliaN](https://avatars.discourse-cdn.com/v4/letter/j/74df32/32.png) [@JuliaN](https://forum.access-hive.org.au/u/JuliaN)\
**Post date:** [23 October 2025 22:06 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/1 "2025-10-23T22:06:28Z")

</div>

Hi! I’m having the same issue as this [post](https://forum.access-hive.org.au/t/payu-not-locating-archive-directory/5243), but the solutions there are not working for me.

I have been running with the new payu for a while, but this is the first time that `payu` does not recognise my archive directory where I have the restarts I want to continue my experiment from..

My working directory is:

`/home/561/jn8053/payu/mom6/panant-ross/panant-01-zstar-ACCESSyr2-spinup-events`

My archive is at:

`/scratch/x77/jn8053/mom6/archive/panant-01-zstar-ACCESSyr2-spinup-events`

And the branch I’m on is called `panant-01-zstar-ACCESSyr2-spinup-events`.

Payu is not finding the archive and creating this directory: `/scratch/x77/jn8053/mom6/archive/panant-01-zstar-ACCESSyr2-spinup-events-panant-01-zstar-ACCESSyr2-spinup-events-55118948/`

Setting a symlink manually works - but I don’t think that’s how `payu` is intended to work?

---

<div class="post-metadata">

**Author:** ![JuliaN](https://avatars.discourse-cdn.com/v4/letter/j/74df32/32.png) [@JuliaN](https://forum.access-hive.org.au/u/JuliaN)\
**Post date:** [23 October 2025 22:19 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/2 "2025-10-23T22:19:33Z")

</div>

Also, `payu status`doesn’t work for me either (I read it [here](https://payu.readthedocs.io/en/latest/usage.html#usage-metadata))

```auto
[jn8053@gadi-login-05 panant-01-zstar-ACCESSyr2-spinup-events]$ payu status
usage: payu [-h] [--version] {archive,branch,build,checkout,clone,collate,ghsetup,init,list,profile,push,run,setup,sweep,sync} ...
payu: error: argument {archive,branch,build,checkout,clone,collate,ghsetup,init,list,profile,push,run,setup,sweep,sync}: invalid choice: 'status' (choose from 'archive', 'branch', 'build', 'checkout', 'clone', 'collate', 'ghsetup', 'init', 'list', 'profile', 'push', 'run', 'setup', 'sweep', 'sync')

```

---

<div class="post-metadata">

**Author:** ![paigem](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/paigem/32/928_2.png) [@paigem](https://forum.access-hive.org.au/u/paigem)\
**Post date:** [24 October 2025 00:36 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/3 "2025-10-24T00:36:49Z")

</div>



---

<div class="post-metadata">

**Author:** ![Aidan](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/aidan/32/42_2.png) [@Aidan](https://forum.access-hive.org.au/u/Aidan)\
**Post date:** [24 October 2025 00:57 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/4 "2025-10-24T00:57:32Z")

</div>

Hi @JuliaN

Can you paste the output of the following commands into a reply:

```auto
which payu

```

```auto
module list

```

and when in your experiment control directory

```auto
git branch -a

```

Thanks.

---

<div class="post-metadata">

**Author:** ![JuliaN](https://avatars.discourse-cdn.com/v4/letter/j/74df32/32.png) [@JuliaN](https://forum.access-hive.org.au/u/JuliaN)\
**Post date:** [24 October 2025 01:03 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/5 "2025-10-24T01:03:00Z")

</div>

Thanks Aidan!

```auto
[jn8053@gadi-login-06 panant-01-zstar-ACCESSyr2-spinup-events]$ which payu
/g/data/vk83/apps/conda_scripts/payu-1.1.7.d/bin/payu

```

```auto
[jn8053@gadi-login-06 panant-01-zstar-ACCESSyr2-spinup-events]$ module list
Currently Loaded Modulefiles:
 1) singularity 2) payu/1.1.7(default) 

```

```auto
[jn8053@gadi-login-06 panant-01-zstar-ACCESSyr2-spinup-events]$ git branch -a
  panan-01
* panant-01-zstar-ACCESSyr2-spinup-events
  remotes/origin/HEAD -> origin/panan-01
  remotes/origin/master
  remotes/origin/panan-01

```

---

<div class="post-metadata">

**Author:** ![Aidan](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/aidan/32/42_2.png) [@Aidan](https://forum.access-hive.org.au/u/Aidan)\
**Post date:** [24 October 2025 03:05 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/6 "2025-10-24T03:05:06Z")

</div>

### Immediate fix

> [@JuliaN](#):
>
> Payu is not finding the archive and creating this directory: `/scratch/x77/jn8053/mom6/archive/panant-01-zstar-ACCESSyr2-spinup-events-panant-01-zstar-ACCESSyr2-spinup-events-55118948/`

`payu` generates the archive directory by concatenating the control directory name, the branch name and a short version of the experiment UUID.

This is explained in the [payu documentation](https://payu.readthedocs.io/en/1.1.7/usage.html#experiment-names).

Your archive directory name is the same as your control directory name, so I assume this experiment was originally created with an older version of `payu`. Is that correct?

To be backwards compatible with the previous behaviour `payu` uses some logic to try and do the right thing:

> To preserve backwards compatibility, if there’s a pre-existing archive under the _control directory_ name, this will remain the experiment name (e.g. `my_expt` in the above example). Similarly, if the `experiment` value is configured (see [Configuring your experiment](https://payu.readthedocs.io/en/1.1.7/config.html#config)), this will be used for the experiment name.

So in this instance I would recommend you add

```yaml
experiment: panant-01-zstar-ACCESSyr2-spinup-events

```

to your `config.yaml` and `payu` should correctly find the `archive` directory and link to it.

### General advice

I would not recommend naming a branch the same as the name of the control directory. It’s redundant.

Think of the control directory as the top level of a [namespace hierarchy](https://en.wikipedia.org/wiki/Namespace), and the branch name as the next level down.

For example, if your top level experiment directory is `panant-01-zstar`, your branch could be `ACCESSyr2-spinup-events`, and maybe another branch could be `ACCESSyr3-spinup-events`.

Or your top level experiment directory might be `panant-01-zstar-ACCESS-spinup` with branches `yr2` and `yr3`.

> ⚠ I am not suggesting you change your control directory name, I am just giving examples for the future.

The traditional way to do this would be to make separate control directories for every experiment. You can do this still. If you did, I’d recommend just using `main` branches because the branch name won’t have any meaning, and `payu` doesn’t try and add it to the archive name.

### payu docs

> [@JuliaN](#):
>
> Also, `payu status`doesn’t work for me either

The docs you linked to default to the latest commit on the `master` branch, which is not version `1.1.7` that you are using. You can select the version of the docs using the selector in the bottom right corner.

The `status` command was added in this PR

> <https://github.com/payu-org/payu/pull/558#issuecomment-3172980151>
>
> Previously in the telemetry PR (last reviewed commit was \[346638c\](https://githu…b.com/payu-org/payu/pull/558/commits/346638cdc08974e85bd423813f0fc6e68cac9158)) , experiment state was stored in a class throughout an run, and then written to a file just before telemetry is sent. Now a file is updated throughout a run with various information collected from each stage (e.g. \`queued\`, \`setup\`, \`model-run\`, \`archive\`, \`complete\`). This is required for #520 for monitoring payu runs.
> 
> When a \`payu-run\` job is submitted to the scheduler, it creates a job file in the control directory under \`payu-jobs/payu-run.json\`. This contains the scheduler job ID, experiment metadata, and the run number.
> 
> Once payu is running on the PBS job and during in experiment setup(),
> it creates a \`payu-run.json\` job file in the work directory and updates the stage to \`setup\` and removes the queued file if it exists.
> 
> Before the MPI model run command is submitted, the job file is updated with \`model-run\` and adds manifests and the payu run ID (runlog hash), and after the model runs, it updates the file again with the exit code. Then there is similar updates once archive step is running.
> 
> The telemetry module now contains methods for writing, updating and removing these job files. Hopefully it can be easily extended when adding similar files for \`collate\` and \`sync\` PBS jobs.
> 
> I've also added \`payu status\` command for displaying the status of the payu runs. It searches for these job files in control, work and archive directories, and then builds a summary report and finds any corresponding stdout/stderr files. Some example commands:
> 
> \`\`\`
> payu status # Prints latest job info
> payu status --json # Prints output in json form
> payu status --all # Prints info for all jobs in archive too
> payu status -n \<N\> # Prints info for run number \<N\> if it exists anywhere
> \`\`\`

We are planning on tagging another version and creating a release soon. Do you need that functionality immediately?

---

<div class="post-metadata">

**Author:** ![JuliaN](https://avatars.discourse-cdn.com/v4/letter/j/74df32/32.png) [@JuliaN](https://forum.access-hive.org.au/u/JuliaN)\
**Post date:** [27 October 2025 06:35 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/7 "2025-10-27T06:35:17Z")

</div>

Thank you Aidan! All great info. It’s more clear now.

Re status, I thought the docs would correspond the latest version posted in this [thread](https://forum.access-hive.org.au/t/payu-a-workflow-manager-for-some-access-models/1098/8) (and it also says `payu 1.1.7` at the top of the docs page) so I guess that without browsing the PR’s in the github I wouldn’t have known that the `1.1.7` in the docs is not the same as the `1.1.7` in the Hive. I don’t need it, but it struck me as strange that it doesn’t work. Reassuring to know its because it hasn’t been added yet.

---

<div class="post-metadata">

**Author:** ![Aidan](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/aidan/32/42_2.png) [@Aidan](https://forum.access-hive.org.au/u/Aidan)\
**Post date:** [28 October 2025 00:15 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/8 "2025-10-28T00:15:00Z")

</div>

Yes it can be a little difficult to tell, but the docs do default to the most recent release (1.1.7) which is shown in the top left of the screen:

 ![Screenshot 2025-10-28 at 11.08.07 am](https://us1.discourse-cdn.com/flex020/uploads/access1/original/2X/e/ed4533c9efa1301519f84dcc9e1f9cd9a3ed7cd8.png)

and if you select “latest” it looks a little different:

![Screenshot 2025-10-28 at 11.08.19 am](https://us1.discourse-cdn.com/flex020/uploads/access1/original/2X/3/3f7a7bfd4adbcd99779573953486bc6e1d89f288.png)

Where the version (`1.1.7+50.g46fb4ac`) indicates there are 50 commits on top pf the 1.1.7 release.

I’ve marked my reply as a solution. If that isn’t correct you can deselect it. I’ll close this topic as resolved at the end of the day unless you have any more questions.

---

<div class="post-metadata">

**Author:** ![Aidan](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/aidan/32/42_2.png) [@Aidan](https://forum.access-hive.org.au/u/Aidan)\
**Post date:** [29 October 2025 03:41 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/9 "2025-10-29T03:41:14Z")

</div>



---

<div class="post-metadata">

**Author:** ![Aidan](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.access-hive.org.au/aidan/32/42_2.png) [@Aidan](https://forum.access-hive.org.au/u/Aidan)\
**Post date:** [5 November 2025 06:05 UTC](https://forum.access-hive.org.au/t/payu-not-recognising-archive-directory/5428/10 "2025-11-05T06:05:06Z")

</div>

> [@JuliaN](#):
>
> Also, `payu status`doesn’t work for me either

FYI `payu/1.2.0` has just been released

> [@Payu: a workflow manager for some ACCESS models](https://forum.access-hive.org.au/t/payu-a-workflow-manager-for-some-access-models/1098/9):
>
> 05/11/2025rocket Release: 1.2.0 [https://github.com/payu-org/payu/releases/tag/1.2.0](https://github.com/payu-org/payu/releases/tag/1.2.0)Getting Started This version of payu can now be accessed on gadi: module use /g/data/vk83/modules module load payu/1.2.0 Updateswhite_check_mark ACCESS-OM3: Autodetect nuopc.runconfig for restart-only collate ([#621](https://github.com/payu-org/payu/pull/621)) white_check_mark ACCESS-OM3: Support archiving processor-split restart files ([#601](https://github.com/payu-org/payu/pull/601)) white_check_mark ACCESS-ESM1.6: Create symlinks rather than copy CICE5 input files ([#635](https://github.com/payu-org/payu/pull/635)) …

and this has support for `payu status`.
