Cylc 8
Cylc 8 on PUMA2 and ARCHER2
Cylc 8 is available on PUMA2 and ARCHER2, but we are still in the process of testing, porting key workflows, and developing user documentation. We are also working on deploying the web-based GUI.
At this stage the software configuration is still subject to change.
See the links below for further information on Cylc 8. Report any issues to the helpdesk.
Overview
Cylc 8 replaces the Python 2 based Cylc 7 software. It is a complete rewrite in Python 3 and contains many changes from Cylc 7, so we encourage you to look at the documentation.
Useful links:
Note that in Cylc 8 terminology “suites” have become “workflows”.
ARCHER2 workflows
Cylc-8 workflows available on ARCHER2:
Cylc 8 id | Cylc 7 id | UM version | Description |
---|---|---|---|
u-dj397 | u-cc519 | 13.0 | N48 GA6 (training suite) |
u-da412/archer2 | - | 13.5 | GC5-UM |
See the instructions for migrating an ARCHER2 Cylc 7 suite to Cylc 8.
Using Cylc 8 on PUMA2 and ARCHER2
Setting the Cylc version
Set the Cylc version in the terminal:
export CYLC_VERSION=8
You should be able to do this alongside any Cylc 7 suites you have running.
Assuming you have set up your ARCHER2 environment (and JASMIN if required) to have Cylc 7 available, you should not need to make any further changes. The workflow will simply pick up the appropriate Cylc version when it runs.
Running a workflow
To run a simple test, checkout u-dj397
rosie co u-dj397
Set your username and project account in rose-suite.conf
or in the GUI via rose edit
.
Run the workflow with:
cylc vip
Launch the terminal user interface to check on progress:
cylc tui u-dj397
See the Cylc 8 cheat sheet for an overview of Cylc 8 commands.
Further information
Platforms
Tasks are assigned a “platform”, which combines the host and job running method. See the Cylc 8 platform documentation for details.
On PUMA2 the following platforms are available:
- PUMA2:
localhost
: background job
- ARCHER2:
archer2
: Slurm jobarcher2-bg
: background on random login nodeln0[1-4]
: background job on specific login node
- ARCHER2 with the
cylc-run/runN/
share/
andwork/
directories symlinked to the NVMe file system:archer2-nvme
: Slurm jobarcher2-nvme-bg
: background on random login nodeln0[1-4]-nvme
: background job on specific login node
- JASMIN:
lotus
: Slurm jobsci-bg
: background job on random sci machine (old CentOS 7 servers)sci[1-8]
: background job on specific sci machine (old CentOS 7 servers)sci-vm
: background job on random sci machine (new Rocky 9 servers)sci-vm-0[1-6]
: background job on specific sci machine (new Rocky 9 servers)
Note that multiplexing is no longer needed to submit jobs to Jasmin. There are still some issues if a host is not available or not fully functional, due to be fixed at Cylc 8.3.6.
You can test submission to each of the platforms with the workflow u-dj398.
Using the web-based UI with port-forwarding
Copying the instructions documented here
First open an ssh tunnel, so that a given port on your local machine (e.g. your laptop) maps to the Cylc UI Server’s port on the HPC. On your local machine, type
$ ssh -N -L PORT:localhost:PORT HOST
where PORT is a valid port number and HOST is on the HPC. You will need to know the range of allowed ports (e.g.1024-49151). Choose any number in this range but make sure your port number is fairly unique to avoid clashing with other users. (Note the option -N opens the connection without logging you into the shell).
Then ssh to the host:
$ ssh HOST
and add the following to $HOME/.cylc/uiserver/jupyter_config.py on the HOST.
c.ServerApp.open_browser=False c.ServerApp.port=PORT
where PORT and HOST match the values you selected when opening the ssh tunnel.
You’re now ready to fire up the web graphical interface
$ cylc gui
Just copy the URL that looks like
http://127.0.0.1:PORT/cylc?token=TOKEN
into your web browser. (Again substitute HOST and PORT with the values chosen above.) Note that each user needs a unique port number.