Skip to content

Run ACCESS-CM2

Danger

ACCESS-NRI does not maintain an official ACCESS-CM2 release, but we continue to support the community in using this model where possible.

Warning

Important for accessdev users!
If you were an accessdev user, make sure you are a member of hr22 and ki32 projects.
Then, refer to instructions on how to Set up persistent session workflow for ACCESS-CM2, and how to port suites from accessdev.

About

The ACCESS Coupled Model (ACCESS-CM) is a fully-coupled global climate model that includes atmosphere, aerosols and atmospheric chemistry, land, ocean and sea ice components, linked together by a coupler.
It produces physical climate simulations.

A full description of the model and its components is available in the ACCESS-CM2 overview.

ACCESS-CM2 runs using the Rose/Cylc workflow management tool on the Gadi supercomputer. Follow the steps below to set up and run the model.

Prerequisites

  • NCI account
    Before running an ACCESS model, you need to Set Up your NCI Account.

  • MOSRS account
    MOSRS is a server run by the UKMO to support collaborative development with other partners organisations. MOSRS contains the source code for some ACCESS model components and configurations, and a MOSRS account is a license requirement to run some ACCESS configurations.
    To apply for a MOSRS account, please contact your local institutional sponsor.

    Warning

    The waiting time to obtain a MOSRS account can be up to 3 weeks.

  • Join NCI projects
    Join the following projects by requesting membership on their respective NCI project pages:

    Tip

    To request membership for the ki32_mosrs subproject, you need to:

    For more information on joining specific NCI projects, refer to How to connect to a project.

Connecting to Gadi

You can run Rose/Cylc either from a Gadi login node or via an ARE VDI session.

Connect via Gadi login node

Follow the steps to login to Gadi, making sure to enable X11 forwarding, for example by adding the -X option to the ssh command. This allows the Rose and Cylc GUIs to be launched on your local machine.

Once you are connected, skip directly to Set up a persistent session.

Launch ARE VDI Desktop

If you are not familiar with ARE, check out the Getting Started on ARE section.

Tip

The ARE VDI session does not run model tasks directly; it only runs Rose/Cylc. The model tasks are dispatched by Cylc to the compute nodes. This means the ARE VDI session requires minimal CPU and memory resources.

Go to the ARE VDI page and launch a session with the following entries:

  • Walltime (hours)2
    Amount of hours the ARE VDI session will remain active for. This is only setup time, and does not reflect how long the actual configuration will take to run.

    Tip

    Some model configurations might require a longer setup time. The Walltime included here should be sufficient for most model configurations, but if your ARE session terminates before the model setup is complete, you can start a new ARE VDI session.

  • Queuenormalbw

  • Compute Sizetiny (1 CPU)

  • Project → a project of which you are a member.
    The project must have allocated SU. By default, this will be set to your default project $PROJECT.

  • Storagegdata/access+gdata/xp65+gdata/hr22+gdata/ki32 (minimum)
    This is a list of all project data storage, joined by plus (+) signs, needed for the ACCESS-CM2 simulation. In ARE, storage locations need to be explicitly defined to access data from within a VDI instance.
    Every ACCESS-CM2 simulation can be unique and input data can originate from various sources. Hence, if your simulation requires data stored in project folders other than access, xp65, hr22 or ki32, you need to add those projects to the storage path.
    For example, if your ACCESS-CM2 simulation requires data stored in /g/data/tm70 and /scratch/w40, your full storage path will be: gdata/access+gdata/xp65+gdata/hr22+gdata/ki32+gdata/tm70+scratch/w40

Launch the ARE session and, once it starts, click on Launch VDI Desktop.

Launch ARE VDI session example

Warning

This example is provided for reference only. Please use the resource specifications listed above when starting the ARE VDI session.

Once the new tab opens, you will see a Desktop with a few folders on the left. Click the terminal icon at the top of the window to open a terminal. You should now be connected to a Gadi computing node. Use this terminal for all subsequent steps in this guide.

Open ARE VDI terminal example

Set up ACCESS-CM2 persistent session

NCI provides a service called persistent sessions to enable long running processes, like Cylc, to stay active even when the user disconnects from Gadi.

You will need to start a persistent session in order to run ACCESS-CM2.

It is recommended to have only one active persistent session at any given time, as multiple Cylc sessions can use the same persistent session.

Note that persistent sessions are terminated during the quarterly maintenance at NCI and will need to be restarted afterwards. The new persistent session can be given the same name as used previously.

Start a new persistent session

Start a new persistent session by running:

persistent-sessions start -p <project> <name>

where <project> is the project you want to start the session under, and <name> is the name you want to give your persistent session.

Warning

Persistent session names accept only a limited set of characters. We recommend using only alpha-numeric characters without spaces or underscores.

persistent-sessions start -p <project> <name> session <persistent-session-uuid> running - connect using  ssh <name>.<$USER>.<project>.ps.gadi.nci.org.au

The label of a newly-created persistent session has the following format:
<name>.<$USER>.<project>.ps.gadi.nci.org.au.

Tip

If -p <project> is omitted, your default project $PROJECT will be used.

Tip

The project assigned to a persistent session does not have to be the same one used to run the ACCESS model configuration. In addition, the same persistent session can be used to run multiple simulations simultaneously.
The newly created persistent session is assigned a unique identifier, referred to here as <persistent-session-uuid>.

Assign the persistent session to Cylc (once only)

Once the session is running, it needs to be assigned to Cylc. This is done by inserting the persistent session label into ~/.persistent-sessions/cylc-session, which can be done with the following command (substituting <name> and <project> with the name and project used to create the persistent session).

cat > ~/.persistent-sessions/cylc-session <<< "<name>.${USER}.<project>.ps.gadi.nci.org.au"

You can check that this worked with:

cat ~/.persistent-sessions/cylc-session

For example, if user abc123 started a persistent session named ForCylc under the project tm70, then the command would be:

cat > ~/.persistent-sessions/cylc-session <<< ForCylc.abc123.tm70.ps.gadi.nci.org.au cat ~/.persistent-sessions/cylc-session ForCylc.abc123.tm70.ps.gadi.nci.org.au

For more information on how to specify the target session, refer to Specify Target Session with Cylc7 Suites.

List active persistent sessions

To list your currently active sessions, use:

persistent-sessions list

Terminate a persistent session

To end a specific session, use:

persistent-sessions kill <persistent-session-uuid>

Tip

Logging out of a Gadi login node or an ARE VDI terminal instance will not affect your persistent session.

Warning

When you terminate a persistent session, any model running on that session will stop. Therefore, you should check whether you have any active model runs before terminating a persistent session.

Set up Rose/Cylc

To run ACCESS-CM2, you will use the Rose/Cylc workflow management tool, which consists of two components:

  • The Cylc (pronounced ‘silk’) task engine, developed by the New Zealand National Institute of Water and Atmospheric Research - NIWA (now Earth Sciences NZ). Cylc is a workflow manager that automatically executes tasks according to the model's configuration. Cylc controls how the job will be run and manages the time steps of each model component. It also monitors all tasks, reporting any errors that may occur.
  • The Rose framework, developed by the UKMO which configures tasks for the Cylc engine. Rose is a toolkit that can be used to view, edit and run some of the ACCESS models.

A set of tasks configured by Rose to run with the Cylc7 engine is called a suite. Every suite has a unique identifier called suite-ID in the form u-LLNNN, where L is a letter and N is a number (e.g., u-ab123).

Rose and Cylc executables

Make the rose and cylc executables available by loading the Cylc module:

module use /g/data/hr22/modulefiles
module load cylc7

module use /g/data/hr22/modulefiles module load cylc7 Using the cylc session <name>.<$USER>.<project>.ps.gadi.nci.org.au Loading cylc7/24.03  Loading requirement: mosrs-setup/2.0.1

Warning

Cylc version >= cylc7/24.03 required.

MOSRS authentication

The ACCESS models which use Cylc require a connection to the MOSRS mirror on Gadi. To connect to this mirror, you must first authenticate your MOSRS credentials with:

mosrs-auth

This will request the username and password you received when you created your MOSRS account.

mosrs-auth INFO: You need to enter your MOSRS credentials here so that GPG can cache your password. Please enter the MOSRS password for <MOSRS-username>: Checking your credentials using Subversion. Please wait. INFO: Successfully accessed Subversion with your credentials. INFO: Checking your credentials using rosie. Please wait. INFO: Successfully accessed rosie with your credentials.

After the first authentication, you will need to run mosrs-auth every 24 hours and for every new connection to Gadi (e.g., new terminal) to verify your password against the saved credentials.

Get ACCESS-CM2 suite

ACCESS-CM2 comprises the model components UM, MOM, CICE and CABLE, coupled through OASIS. These components, which have different model parameters, input data and computer-related information, need to be packaged together as a suite in order to run.
Each ACCESS-CM2 suite has a suite-ID in the format u-<suite-name>, where <suite-name> is a unique identifier.
For this example you can use u-cy339, which is a pre-industrial experiment suite.

Typically, an existing suite is copied using Rosie and then edited as needed for a particular run. Rosie is an SVN repository wrapper with a set of options specific for ACCESS modelling suites. It is automatically available within the Rose setup.

ACCESS-CM2 configuration can be copied from the MOSRS repository in 2 ways:

Suites are, by default, created in the user's Gadi home directory under ~/roses/<suite-ID>. This path will be referred to as the suite directory.

The suite directory contains multiple subdirectories and files, including:

  • app → directory containing the configuration files for various tasks within the suite.
  • meta → directory containing the GUI metadata.
  • rose-suite.conf → main suite configuration file.
  • rose-suite.info → suite information file.
  • suite.rcCylc control script file (Jinja2 language).

Local-only copy

To create a local copy of ACCESS-CM2 suite from MOSRS repository, run:

rosie checkout u-cy339
rosie checkout u-cy339 [INFO] create: /home/565/<$USER>/roses [INFO] <suite-ID>: local copy created at /home/565/<$USER>/roses/u-cy339 This option is mostly used for testing and examining suites.

Remote and local copy

To create a new copy of ACCESS-CM2 suite both locally and remotely in the MOSRS repository, run:

rosie copy u-cy339
rosie copy u-cy339 Copy "u-cy339/trunk@<trunk-ID>" to "u-?????"? [y or n (default)] y [INFO] <new-suite-ID>: created at https://code.metoffice.gov.uk/svn/roses-u/<suite-n/a/m/e/> [INFO] <new-suite-ID>: copied items from u-cy339/trunk@<trunk-ID> [INFO] u-cy339: local copy created at /home/565/<$USER>/roses/<new-suite-ID> When a new suite is created in this way, a unique <suite-ID> folder is generated within the MOSRS repository and populated with descriptive information about the suite and its initial configuration.

For additional rosie options, run:

rosie help

Edit ACCESS-CM2 suite configuration

This section describes how to modify the ACCESS-CM2 configuration.

The modifications discussed in this section can change the way ACCESS-CM2 is run, or how specific model components are configured and coupled together.

In general, ACCESS modelling suites can be edited either by directly modifying the configuration files within the suite directory, or by using the Rose GUI.

Warning

Unless you are an experienced user, directly modifying configuration files is usually discouraged to avoid encountering errors.

Rose GUI

To open the Rose GUI, run the following command from within the suite directory:

rose edit &

Tip

The & is optional. It allows the terminal prompt to remain active while running the Rose GUI as a separate process in the background.

cd ~/roses/<suite-ID> rose edit & [<N>] <PID> Rose GUI

Change NCI project

To ensure that your suite is run under the correct NCI project for which you are a member, edit the Compute project field in suite conf → Machine and Runtime Options, and click the Save button Save button.

For example, to run an ACCESS-CM2 suite under the tm70 project (ACCESS-NRI), enter tm70 in the Compute project field: Rose change project example

Warning

To run ACCESS-CM2, you need to be a member of a project with allocated SU. For more information, check how to Join relevant NCI projects.

Change run length and cycling frequency

Warning

Note there is a known issue related to changing the cycling frequency. ACCESS-CM2 does not give identical results with different cycling frequencies. For example, one cycle of 12 months will not produce identical output to 12 cycles of one month. When comparing multiple experiments, they should use the same cycling frequency.

ACCESS-CM2 suites are often run in multiple steps, each one constituting a cycle. The job scheduler resubmits the suite every chosen Cycling frequency until the Total Run length is reached.

To modify these parameters, navigate to suite conf → Run Initialisation and Cycling, edit the respective fields (using ISO 8601 Duration format) and click the Save button Save button.

For example, to run a suite for a total of 50 years with a 1-year job resubmission, change Total Run length to P50Y and Cycling frequency to P1Y (the maximum Cycling frequency is currently two years):

Rose change run length example

Change wallclock time

The Wallclock time is the time requested by the PBS job to run a single cycle. If this time is insufficient for the suite to complete a cycle, your job will be terminated before completing the run. Hence, if you change the Cycling frequency, you may also need to change the Wallclock time accordingly. While the time required for a suite to complete a cycle depends on several factors, a good estimation is 4 hours per simulated year.

To modify the Wallclock time, edit the respective field in suite conf → Run Initialisation and Cycling (using ISO 8601 Duration format) and click the Save button Save button.

Change warm restart date

This ACCESS-CM2 configuration uses initial conditions from a previous ACCESS-CM2 simulation, a process known as warm restart.
The specific date of the initial conditions is set using the Warm restart date parameter, formatted as YYYYMMDD.

To modify the Warm restart date, edit the respective field in suite conf → Run Initialisation and Cycling and click the Save button Save button.

Run ACCESS-CM2 suite

ACCESS-CM2 suites run on Gadi through a PBS job submission.
When the suite runs, its configuration files are copied on Gadi inside /scratch/$PROJECT/$USER/cylc-run/<suite-ID> and a symbolic link to this directory is also created in the $USER's home directory under ~/cylc-run/<suite-ID>.
An ACCESS-CM2 suite comprises several tasks, such as checking out code repositories, compiling and building the different model components, running the model, etc. The workflow of these tasks is controlled by Cylc.

Cylc

Cylc (pronounced ‘silk’) is a workflow manager that automatically executes tasks according to the model's main cycle script suite.rc. Cylc controls how the job will be run and manages the time steps of each submodel. It also monitors all tasks, reporting any errors that may occur.

To run an ACCESS-CM2 suite run the following command from within the suite directory:

rose suite-run

After the initial tasks are executed, the Cylc GUI will open. You can now view and control the different tasks in the suite as they are run: cd ~/roses/<suite-ID> rose suite-run [INFO] export CYLC_VERSION=7.9.7 export ROSE_ORIG_HOST=<gadi-cpu>.gadi.nci.org.au [INFO] export ROSE_SITE=nci [INFO] export ROSE_VERSION=2019.01.7 [INFO] create: /home/565/<$USER>/cylc-run/<suite-ID> [INFO] create: log.<timestamp> [INFO] symlink: log.<timestamp> <= log [INFO] create: log/suite [INFO] create: log/rose-conf [INFO] symlink: rose-conf/<timestamp>-run.conf <= log/rose-suite-run.conf [INFO] symlink: rose-conf/<timestamp>-run.version <= log/rose-suite-run.version [INFO] create: meta [INFO] install: meta     source: /home/565/<$USER>/roses/<suite-ID>/meta [INFO] install: rose-suite.info     source: /home/565/<$USER>/roses/<suite-ID>/rose-suite.info [INFO] create: app [INFO] install: app     source: /home/565/<$USER>/roses/<suite-ID>/app [INFO] install: suite.rc [INFO] REGISTERED <suite-ID> -> /home/565/<$USER>/cylc-run/<suite-ID> [INFO] create: share [INFO] create: share/cycle [INFO] create: work [INFO] chdir: log/ [WARN] Using the cylc session <persistent-session-full-name> [WARN] [WARN] Loading cylc7/23.09 [WARN]  Loading requirement: mosrs-setup/1.0.1 [INFO]         ._. [INFO]         | |         The Cylc Suite Engine [7.9.7] [INFO] ._____._. ._| |_____.      Copyright (C) 2008-2019 NIWA [INFO] | .___| | | | | .___| & British Crown (Met Office) & Contributors. [INFO] | !___| !_! | | !___. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] !_____!___. |_!_____! This program comes with ABSOLUTELY NO WARRANTY; [INFO]     .___! |      see cylc warranty.  It is free software, you [INFO]     !_____!       are welcome to redistribute it under certain [INFO] [INFO] *** listening on https://<persistent-session-full-name>:<port>/ *** [INFO] [INFO] To view suite server program contact information: [INFO] $ cylc get-suite-contact <suite-ID> [INFO] [INFO] Other ways to see if the suite is still running: [INFO] $ cylc scan -n '<suite-ID>' <persistent-session-full-name> [INFO] $ cylc ping -v --host=<persistent-session-full-name> <suite-ID> [INFO] $ ps -opid,args <PID> # on <persistent-session-full-name> Cylc GUI -->

Warning

After running the command rose suite-run, if you get an error similar to the following:

[FAIL] Suite "<suite-ID>" appears to be running:
[FAIL] Contact info from: "/home/565/<$USER>/cylc-run/<suite-ID>/.service/contact"
[FAIL]    CYLC_SUITE_HOST=<persistent-session-full-name>
[FAIL]    CYLC_SUITE_OWNER=<$USER>
[FAIL]    CYLC_SUITE_PORT=<port>
[FAIL]    CYLC_SUITE_PROCESS=<PID> /g/data/hr22/apps/cylc7/bin/python -s /g/data/hr22/apps/cylc7/cylc_7.9.7/bin/cylc-run <suite-ID> --host=localhost
[FAIL] Try "cylc stop '<suite-ID>'" first?
you should run (by substituting <suite-ID> with the suite-ID):
rm "/home/565/${USER}/cylc-run/<suite-ID>/.service/contact"
before running the rose suite-run command again.

You are done!

If you do not get any errors, you can check the suite output files after the run is complete.
You can now close the Cylc GUI. To open it again, run the following command from within the suite directory:

rose suite-gcontrol

Monitor ACCESS-CM2 runs

Check for errors

It is quite common, especially during the first few runs, to experience errors and job failures. Running an ACCESS-CM2 suite involves the execution of several tasks, and any of these tasks could fail. When a task fails, the suite is halted and a red icon appears next to the respective task name in the Cylc GUI.
To investigate the cause of a failure, we need to look at the logs job.err and job.out from the suite run. There are two main ways to do so:

Using the Cylc GUI

Right-click on the task that failed and click on View Job Logs (Viewer) → job.err (or job.out).
To access a specific task, click on the arrow next to the task to extend the drop-down menu with all the subtasks.

Investigate Error GUI example

Through the suite directory

The suite's log directories are stored in ~/cylc-run/<suite-ID> as log.<TIMESTAMP>, and the latest set of logs are also symlinked in the ~/cylc-run/<suite-ID>/log directory.
The logs for the main job can be found in the ~/cylc-run/<suite-ID>/log/job directory.
Logs are separated into simulation cycles according to their starting dates, then divided into subdirectories according to the task name. They are then further separated into "attempts" (consecutive failed/successful tasks), where NN is a symlink to the most recent attempt.

In the example above, a failure occurred for the 09500101 simulation cycle (i.e. starting date: 1st January 950) in the coupled task. Hence, the job.err and job.out files can be found in the ~/cylc-run/<suite-ID>/log/job/09500101/coupled/NN directory. cd ~/cylc-run/<suite-ID> ls app cylc-suite.db log log.20230530T051952Z meta rose-suite.info share suite.rc suite.rc.processed work cd log ls db job rose.conf rose-suite-run.conf rose-suite-run.locs rose-suite-run.log rose-suite-run.version suite suiterc cd job ls 09500101 cd 09500101 ls coupled fcm_make2_um fcm_make_um install_warm make2_mom make_mom fcm_make2_drivers fcm_make_drivers install_ancil make2_cice make_cice cd coupled ls 01 02 03 NN cd NN ls job job-activity.log job.err job.out job.status

Model Live Diagnostics

ACCESS-NRI developed the Model Live Diagnostics framework to check, monitor, visualise, and evaluate model behaviour and progress of ACCESS models currently running on Gadi.
For a complete documentation on how to use this framework, check the Model Live Diagnostics documentation.

Stop, restart and reload suites

In some cases, you may want to control the running state of a suite.
If your Cylc GUI has been closed and you are unsure whether your suite is still running, you can scan for active suites and reopen the GUI if desired.
To scan for active suites, run:

cylc scan
To reopen the Cylc GUI, run the following command from within the suite directory:
rose suite-gcontrol
cylc scan <suite-ID> <$USER>@<gadi-cpu>.nci.org.au:<port> cd ~/roses/<suite-ID> rose suite-gcontrol Cylc GUI

STOP a suite

To shutdown a suite in a safe manner, run the following command from within the suite directory:

rose suite-stop -y
Alternatively, you can directly kill the PBS job(s) connected to your run. To do so:

  1. Check the status of all your PBS jobs:

    qstat -u $USER
    

  2. Delete any job related to your run:

    qdel <job-ID>
    

RESTART a suite

There are two main ways to restart a suite:

SOFT restart

To reinstall the suite and reopen Cylc in the same state it was prior to being stopped, run the following command from within the suite directory:

rose suite-run --restart

Warning

You may need to manually trigger failed tasks from the Cylc GUI.

cylc cd ~/roses/<suite-ID> rose suite-run --restart [INFO] export CYLC_VERSION=7.9.7 [INFO] export ROSE_ORIG_HOST=<gadi-cpu>.nci.org.au [INFO] export ROSE_SITE=nci [INFO] export ROSE_VERSION=2019.01.2 [INFO] delete: log/rose-suite-run.conf [INFO] symlink: rose-conf/<timestamp>-restart.conf <= log/rose-suite-run.conf [INFO] delete: log/rose-suite-run.version [INFO] symlink: rose-conf/<timestamp>-restart.version <= log/rose-suite-run.version [INFO] chdir: log/ [WARN] Using the cylc session <persistent-session-full-name> [WARN] [WARN] Loading cylc7/23.09 [WARN] Loading requirement: mosrs-setup/1.0.1 [INFO] ._. [INFO] | | The Cylc Suite Engine [7.9.9] [INFO] ._____._. ._| |_____. Copyright (C) 2008-2019 NIWA [INFO] | .___| | | | | .___| & British Crown (Met Office) & Contributors. [INFO] | !___| !_! | | !___. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [INFO] !_____!___. |_!_____! This program comes with ABSOLUTELY NO WARRANTY; [INFO] .___! | see `cylc warranty`. It is free software, you [INFO] !_____! are welcome to redistribute it under certain [INFO] [INFO] *** listening on https://<persistent-session-full-name>:<port>/ *** [INFO] [INFO] To view suite server program contact information: [INFO] $ cylc get-suite-contact <suite-ID> [INFO] [INFO] Other ways to see if the suite is still running: [INFO] $ cylc scan -n '<suite-ID>' <persistent-session-full-name> [INFO] $ cylc ping -v --host=<persistent-session-full-name> <suite-ID> [INFO] $ ps -opid,args <PID> # on <persistent-session-full-name> Cylc GUI

HARD restart

To overwrite any previous runs of the suite and start afresh, run the following command from within the suite directory:

rose suite-run --new

Warning

This will overwrite all existing model output and logs for the same suite.

RELOAD a suite

In some cases the suite needs to be updated without necessarily having to stop it (e.g., after fixing a typo in a file). Updating an active suite is called a reload, where the suite is re-installed and Cylc is updated with the changes. This is similar to a SOFT restart, except new changes are installed, so you may need to manually trigger failed tasks from the Cylc GUI.

To reload a suite, run the following command from within the suite directory:

rose suite-run --reload

ACCESS-CM2 output files

All ACCESS-CM2 output files, together with work files, are available on Gadi inside /scratch/$PROJECT/$USER/cylc-run/<suite-ID>. They are also symlinked in ~/cylc-run/<suite-ID>.
While the suite is running, files are moved between the share and work directories.
At the end of each cycle, model output data and restart files are moved to /scratch/$PROJECT/$USER/archive/<suite-name>.
This directory contains two subdirectories:

  • history
  • restart

Output data

/scratch/$PROJECT/$USER/archive/<suite-name>/history is the directory containing the model output data, which is grouped according to each model component:

  • atm → atmosphere (UM)
  • cpl → coupler (OASIS-MCT)
  • ocn → ocean (MOM)
  • ice → sea ice (CICE)

For the atmospheric output data, the files are typically a UM fieldsfile or netCDF file, formatted as <suite-name>a.p<output-stream-identifier><year><month-string>.

For the u-cy339 suite in this example, the atm directory contains: cd /scratch/<$PROJECT>/<$USER>/archive ls cy339 <other-suite-name> <other-suite-name> cd cy339 ls history restart ls history/atm cy339a.pd0950apr.nc cy339a.pd0950aug.nc cy339a.pd0950dec.nc cy339a.pd0950feb.nc cy339a.pd0950jan.nc cy339a.pd0950jul.nc cy339a.pd0950jun.nc cy339a.pd0950mar.nc cy339a.pd0950may.nc cy339a.pd0950nov.nc cy339a.pd0950oct.nc cy339a.pd0950sep.nc cy339a.pd0951apr.nc cy339a.pd0951aug.nc cy339a.pd0951dec.nc cy339a.pm0950apr.nc cy339a.pm0950aug.nc cy339a.pm0950dec.nc cy339a.pm0950feb.nc cy339a.pm0950jan.nc cy339a.pm0950jul.nc cy339a.pm0950jun.nc cy339a.pm0950mar.nc cy339a.pm0950may.nc cy339a.pm0950nov.nc cy339a.pm0950oct.nc cy339a.pm0950sep.nc cy339a.pm0951apr.nc cy339a.pm0951aug.nc cy339a.pm0951dec.nc netCDF

Restart files

The restart files can be found in the /scratch/$PROJECT/$USER/archive/<suite-name>/restart directory, where they are categorised according to model components (similar to the history folder above).
The atmospheric restart files, which are UM fieldsfiles, are formatted as <suite-name>a.da<year><month><day>_00.

For the u-cy339 suite in this example, the atm directory contains: ls /scratch/<$PROJECT>/<$USER>/archive/cy339/restart/atm cy339a.da09500201_00 cy339a.da09510101_00 cy339.xhist-09500131 cy339.xhist-09501231

Files formatted as <suite-name>a.xhist-<year><month><day> contain metadata information.

Troubleshooting

Update suites still relying on hh5

Warning

Some suites might still not work when ported this way.
If you have a suite that was relying on hh5 and, even after following the steps below, the run submission fails, consider getting help on the Hive Forum.

Previously, the hh5 NCI project hosted the Python environments and software often used within suites (e.g., conda/analysis3 environments, pythonlib/um2netcdf4 utility).
Due to hh5 decommissioning, all references to hh5 must be replaced with the project storing the updated versions of the environments and software. For suites derived from the example suite above (u-cy339 ), the updated versions are stored in xp65.

Follow the steps below to ensure your suite is not using software from hh5:

1. Update netcdf_conversion task

In the suite.rc file, within the [[netcdf_conversion]] task, update the loading of pythonlib/um2netcdf4 to be using pythonlib/um2netcdf4/xp65 instead:

- module load pythonlib/um2netcdf4
+ module load pythonlib/um2netcdf4/xp65

2. Replace hh5 with xp65

To check if your ACCESS-CM2 suite relies on hh5, run the following command from your suite directory:

grep -r hh5 --exclude-dir=.svn .

Then, if you see any output from the command above, replace any hh5 occurrency with xp65.
Lines that you will likely need to replace include storage specification lines (e.g., -l storage = ...+gdata/hh5...) and modules (e.g., module use /g/data/hh5/public/modules).

Warning

If your suite loads conda/analysis3, to ensure reproducibility it is suggested to use a specific version of the environment (e.g., conda/analysis3-25.11). For more information about conda/analysis3 Python environment, refer to the conda/analysis3 Python Environment page.

Port suites from accessdev

Warning

Some suites might not be ported this way.
If you have a suite that was running on accessdev and even after following the steps below the run submission fails, consider getting help on the Hive Forum.

accessdev was the server used for ACCESS-CM2 run submission workflow before the update to persistent sessions.
If you have a suite that was running on accessdev, you can run it using persistent sessions by carrying out the following steps:

1. Initialisation step

To set the correct SSH configuration for Cylc, some SSH keys need to be created in the ~/.ssh directory.
To create the required SSH keys, run the following command:

/g/data/hr22/bin/gadi-cylc-setup-ps -y

Tip

You only need to run this initialisation step once.

2. Set host to localhost

To enable Cylc to submit PBS jobs directly from the persistent session, the suite configuration should have its host set as localhost.
You can manually set all occurrences of host to localhost in the suite configuration files.
Alternatively, you can run the following command in the suite folder:

grep -rl --exclude-dir=.svn "host\s*=" . | xargs sed -i 's/\(host\s*=\s*\).*/\1localhost/g'

3. Add gdata/hr22 and gdata/ki32 in the PBS storage directives

As the persistent sessions workflow uses files in the hr22 and ki32 project folders on Gadi, the respective folders need to be added to the storage directive in the suite configuration files.
You can do this manually or run the following command from within the suite directory:

grep -rl --exclude-dir=.svn "\-l\s*storage\s*=" . | xargs sed -i '/\-l\s*storage\s*=\s*.*gdata\/hr22.*/! s/\(\-l\s*storage\s*=\s*.*\)/\1+gdata\/hr22/g ; /\-l\s*storage\s*=\s*.*gdata\/ki32.*/! s/\(\-l\s*storage\s*=\s*.*\)/\1+gdata\/ki32/g'

Known issues

Below are listed some ACCESS-CM2 known issues which are not going to be fixed.

- https://confluence.csiro.au/display/ACCESS/Using+CM2+suites+in+Rose+and+Cylc - https://confluence.csiro.au/display/ACCESS/Understanding+CM2+output - https://nespclimate.com.au/wp-content/uploads/2020/10/Instruction-document-Getting_started_with_ACCESS.pdf - https://code.metoffice.gov.uk/doc/um/latest/um-training/rose-gui.html - https://opus.nci.org.au/display/DAE/Run+Cylc7+Suites - https://opus.nci.org.au/display/Help/Persistent+Sessions