Dear Cylc Discourse.
Thanks very much for all previous help migrating Cylc7 → Cylc8. I feel I am almost there, but have encountered an odd conflict between GCC and Intel. Hoping someone can help!
Basically, I have got Cylc8 installed in a venv I believe correctly (on Polar, an HPC at UKCEH in the UK). Polar has only GCC compilers installed at the moment, not Intel, but I think this should be possible to use for JULES because JULES can work with both.
Below is my recent support request to IT at UKCEH. I can run JULES to completion on command line and using a batch script, but when I try to run it through Cylc using cylc vip, I find that Cylc8 tries to access an Intel module called oneapi/compilers/24.2.0. It doesn’t find this on Polar.
Is there any way to make it so that Cylc8 uses an equivalent GCC module (if there is one)? Or is it the case that Cylc8 will only work with Intel?
Thanks very much
Toby M
========================================(Below is my email train with UKCEH IT the other day):
Hi Toby,
The problem is that Cylc (or something else) is trying to load the Intel OneAPI module and right now Polar only has GCC compilers installed. I.E.
module --ignore_cache load “oneapi/compilers/24.2.0”
Can you tell it to use GCC? If not I’m afraid this will not work until I get spare time to install the Intel toolchain.
Kind Regards,
xxxxxxx
IT Support Team
You can access this ticket via the customer portal at: xxxxxx
Conversation history:
Hi IT,
Could I check an error message from Polar with you please?
I have found (with Andy’s and Madhvi’s help) that I can compile and run JULES on Polar with the correct NetCDF libraries on the command line. That’s a big win!
The next step is to run JULES through the Cylc8 workload scheduler program. I’m trying that today. Unfortunately, I get a missing module error below.
Could I possibly ask someone to have a look at this?
Very many thanks!
Toby
###############################################################
#Basically, I did the following today:
module use /gpfs01/modules/mk2/all
module load gompi/2023b
module load Python/3.11.5-GCCcore-13.2.0
PYTHONPATH=“PYTHONPATH=$(echo $PYTHONPATH | cut -d: -f1)”
export PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring
module load Perl-bundle-CPAN/5.38.0-GCCcore-13.2.0
module load netCDF-Fortran/4.6.1-gompi-2023b
#and I have these environment variables set up:
(MetEtc) [tobmar@wlsc-polarln01 cylc-src]$ echo $WFLW
/home/tobmar/cylc-src/u-do301
(MetEtc) [tobmar@wlsc-polarln01 cylc-src]$ echo $CSUITE
/home/tobmar/cylc-run/u-do301
(MetEtc) [tobmar@wlsc-polarln01 cylc-src]$ echo $LOGSF
/home/tobmar/cylc-run/u-do301/runN/log/job/1/fcm_make/NN/
(MetEtc) [tobmar@wlsc-polarln01 cylc-src]$
#and then I run JULES through Cylc8:
(MetEtc) [tobmar@wlsc-polarln01 cylc-src]$ cylc vip $WFLW
$ cylc validate /home/tobmar/cylc-src/u-do301
Valid for cylc-8.4.2
$ cylc install /home/tobmar/cylc-src/u-do301
INSTALLED u-do301/run3 from /gpfs01/home/tobmar/cylc-src/u-do301
NOTE: 1 run of “u-do301” is already active:
u-do301/run2 wlsc-polarln01:43095 2744979
You can stop it with:
cylc stop u-do301/run2
See “cylc stop --help” for options.
$ cylc play u-do301/run3
■ Cylc Workflow Engine 8.4.2
██ Copyright (C) 2008-2025 NIWA
▝▘ & British Crown (Met Office) & Contributors
INFO - Extracting job.sh to /gpfs01/home/tobmar/cylc-run/u-do301/run3/.service/etc/job.sh
u-do301/run3: wlsc-polarln01 PID=2756139
(MetEtc) [tobmar@wlsc-polarln01 cylc-src]$ LOGSF=$CSUITE/runN/log/job/1/fcm_make/NN/
#Looking at the error file, I find that the model has failed to compile:
(MetEtc) [tobmar@wlsc-polarln01 cylc-src]$ mousepad $LOGSF/job.err &
"flatpak: /gpfs01/apps/mk2/util-linux/2.39-GCCcore-13.2.0/lib/libmount.so.1: version MOUNT_2_40' not found (required by /lib64/libgio-2.0.so.0) flatpak: /gpfs01/apps/mk2/util-linux/2.39-GCCcore-13.2.0/lib/libmount.so.1: version MOUNT_2_40’ not found (required by /lib64/libgio-2.0.so.0)
Lmod has detected the following error: The following module(s) are unknown:
“oneapi/compilers/24.2.0”
Please check the spelling or version number. Also try “module spider …”
It is also possible your cache file is out-of-date; it may help to try:
$ module --ignore_cache load “oneapi/compilers/24.2.0”
Also make sure that all modulefiles written in TCL start with the string
#%Module
2025-05-15T09:59:22Z CRITICAL - failed/ERR"
#From a previous query (Support Ticket 135533), I know to ignore the ‘flatpak’ bit at the top: the missing module seems to be the problem.
#This is doubly strange for me because the model does compile successfully outside Cylc, as I can demonstrate by immediately trying that (in the same session):
(MetEtc) [tobmar@wlsc-polarln01 cylc-src]$ cd $JULES_ROOT;fcm make -j 2 -f etc/fcm-make/make.cfg --new; echo -e “\a”
[init] make # 2025-05-15T10:02:38Z
[info] FCM 2021.05.0 (/gpfs01/home/tobmar/.local/fcm)
[init] make config-parse # 2025-05-15T10:02:38Z
[info] config-file=/gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/make.cfg
[info] config-file= - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/platform/ceh.cfg
[info] config-file= - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/platform/envars.cfg
[info] config-file= - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/platform/load_settings.cfg
[info] config-file= - - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/remote/local.cfg
[info] config-file= - - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/compiler/gfortran_10_plus.cfg
[info] config-file= - - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/build/normal.cfg
[info] config-file= - - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/omp/noomp.cfg
[info] config-file= - - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/ncdf/netcdf.cfg
[info] config-file= - - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/coupler/nooasis.cfg
[info] config-file= - - - /gpfs01/home/tobmar/MODELS/vn7.7_cmfr/etc/fcm-make/mpi/nompi.cfg
[done] make config-parse # 0.9s
[init] make dest-init # 2025-05-15T10:02:39Z
[info] dest=tobmar@wlsc-polarln01:/gpfs01/home/tobmar/MODELS/vn7.7_cmfr
[info] mode=new
[done] make dest-init # 0.8s
[init] make extract # 2025-05-15T10:02:40Z
[info] location jules: 0: /gpfs01/home/tobmar/MODELS/vn7.7_cmfr
[info] dest: 626 [A added]
[info] source: 626 [U from base]
[done] make extract # 4.8s
[init] make preprocess # 2025-05-15T10:02:44Z
[info] sources: total=626, analysed=622, elapsed-time=0.3s, total-time=0.2s
[info] target-tree-analysis: elapsed-time=0.0s
[info] install targets: modified=116, unchanged=0, failed=0, total-time=0.1s
[info] process targets: modified=506, unchanged=0, failed=0, total-time=28.6s
[info] TOTAL targets: modified=622, unchanged=0, failed=0, elapsed-time=14.7s
[done] make preprocess # 15.0s
[init] make build # 2025-05-15T10:02:59Z
[info] sources: total=626, analysed=626, elapsed-time=1.5s, total-time=2.5s
[info] target-tree-analysis: elapsed-time=0.4s
[info] compile targets: modified=504, unchanged=0, failed=0, total-time=71.5s
[info] compile+ targets: modified=473, unchanged=0, failed=0, total-time=0.1s
[info] install targets: modified=1, unchanged=0, failed=0, total-time=0.0s
[info] link targets: modified=1, unchanged=0, failed=0, total-time=0.9s
[info] TOTAL targets: modified=979, unchanged=0, failed=0, elapsed-time=38.8s
[done] make build # 40.3s
[done] make # 61.9s
(MetEtc) [tobmar@wlsc-polarln01 vn7.7_cmfr]$