Updating ESM1.5 configurations for payu version `1.1.5`

Payu version 1.1.5 updates the way ACCESS-ESM1.5 experiments are configured, coinciding with the new release of the model.

Configurations cloned from the ACCESS-NRI ESM1.5 configuration repository will work immediately with the newest version of payu. Older configurations should still work with the previous version of payu, which can be accessed on gadi via:

$ module use /g/data/vk83/modules
$ module load payu/1.1.3

To use the latest version of payu instead, the configuration can be updated with the following two changes:

1. um_env.py in the atmosphere control directory

Older ESM1.5 configurations will contain a python file um_env.py in the <control-directory>/atmosphere directory.

This file contains a dictionary of environment variables used by the UM during a simulation:

um_env.py
-----------
vars = {
'AINITIAL': '',
'ASTART': 'INPUT/pre-industrial.astart', 
'AUSCOM_CPL': 'true',
'DATAW': '{work_path}',
'FASTRUN': 'true',
...

Due to security concerns, this has been replaced by a yaml file in the released configurations, which sets the same information:

um_env.yaml
-----------
AINITIAL: ''
ASTART: INPUT/pre-industrial.astart
AUSCOM_CPL: 'true'
DATAW: '{work_path}'
FASTRUN: 'true'
...

To run older configurations with the new version of payu, the um_env.py file will need to be translated to a um_env.yaml file. A translation script um_env_to_yaml.py is available here, which can be copied to the <control-dir>/atmosphere directory containing the um_env.py file, and run as follows:

$ module use /g/data/vk83/modules
$ module load payu # to load the pyyaml dependency
$ python um_env_to_yaml.py um_env.py

This will produce an equivalent um_env.yaml in the same directory which payu 1.1.5 will read for subsequent simulations.

2. restart_date.nml in the ice restart directory

Payu 1.1.5 simplifies the CICE submodel’s start date calculations, with the aim of making them easier to understand. One goal with these changes is to prevent situations where CICE’s calendar falls out of sync with the other submodels (see this topic for background on this issue).

Payu 1.1.5 reads the CICE start date completely from the <restart-dir>/ice directory, as opposed to the previous behaviour which mixed information between the restart and control directory.

The calendar information is read in from a new restart_date.nml file, an example of which can be found at /g/data/vk83/configurations/inputs/access-esm1p5/modern/pre-industrial/restart/ice/restart_date.nml:

&coupling
init_date=10101
inidate=1010101
/

Here, init_date is the “experiment’s initialisation date”, while inidate is the date that the next run will start at, both given in YYYYMMDD format without leading zeros for the year.

To continue an older experiment using payu 1.1.5, a valid restart_date.nml file will need to be added to the final ice restart directory. This can be done as follows:

  1. Copy the restart_date.nml file from vk83 into the latest ice restart directory.
  2. Replace init_date with the value in your <control_directory>/ice/input_ice.nml file.
  3. Replace inidate with the date for the latest restart. This date can be read from the <restart-dir>/atmosphere/um.res.yaml and then converted to the YYYYMMDD format.

Do reply if you run into any issues adding in these changes!

2 Likes