Hi all
When the ACCESS-CM2 workflow changed from accessdev to run in persistent sessions the process of installing drivers also changed for suites that previously ran on accessdev
The fcm_make_drivers process changed from getting files from trac.nci.org.au to cloning a git repo (GitHub - ACCESS-NRI/access-cm2-drivers: Driver scripts for the ACCESS-CM2 coupled model).
See here for how I got the drivers to install and other changes required to make the coupled job run
After making these changes, I found that there are some issues from causing processing based not to work because of changes in the the scripts used from access-cm2-drivers.
The history_postprocess
and netcdf_conversion
jobs both fail.
The error for history_postprocess
relates to THISYEAR
variable not being found in the history_postprocess.sh
from the drivers location.
In the example suite (cy399) THISYEAR
is defined in suite.rc
in these lines where history_postprocess is called to run.
FIX: you need to add the [[[environment]]]
block shown below for the script to work.
[[history_postprocess]]
inherit = POSTPROC, NCI, SHARE
script = history_postprocess.sh
[[[job]]]
execution time limit = PT90M
[[[environment]]]
THISYEAR=$(cylc cyclepoint --print-year)
[[[directives]]]
-l mem = 20gb
-l ncpus = 1
-q = {{NCIEXQ}}
For the netcdf_conversion
process, I was getting an the error from showing that run_um2netcdf.py
is failing when trying to use um2netcdf4
library commands. This was because there are some problems with the environment that was loaded in the suite.rc
FIX: In suite.rc
, you need to change
module load pythonlib/umfile_utils/access_cm2
to module load pythonlib/um2netcdf4
as below
[[netcdf_conversion]]
inherit = POSTPROC, NCI, SHARE
pre-script = """
module use ~access/modules
module unload python
module load pythonlib/um2netcdf4
"""
[[[job]]]
execution time limit = PT150M
[[[directives]]]
-l mem = 40gb
-l ncpus = 1
-q = normalbw
If you have any questions or feedback for this post let me know. These changes are based on what I had to do to get cy286 to work. There may be other small changes I have forgotten to list
Remaining questions
I noticed is that both um2netcdf.py
and history_postprocess.sh
script are slightly different in this new git version compared to my old suites. Does anyone know if these changes do anything different to the calculations made for the ouputs or why they would be different now?
The other thing I saw in cy399 suite.rc
is that there is a process called [[ocean_ke_check]]
which runs one of the access-cm2-drivers scripts. This script is not called in my original suite so I am wondering what this does?
[[ocean_ke_check]]
inherit = POSTPROC, NCI, SHARE
pre-script = """
module use /g/data/hh5/public/modules
module unload python
module load conda/analysis3
"""
script = """
ocean_ke_check.py ${OCN_RUNDIR}/HISTORY/ocean_scalar.nc
"""
[[[job]]]
execution time limit = PT5M
batch system = background