Get Cylc

Cylc (said ‘silk’) is a work flow engine required by Rose (similar to work load managers like Torque and LSF). If you are using the Met Office Virtual Machine then this will already be installed so no need to follow these steps. If Cylc has already been installed on your system, please do CYLC_EXEC=$(which cylc);CYLC_INSTALLDIR=(${CYLC_EXEC%/*}/..) , substitute all occurrences of ~/.local/cylc below with what you see from echo $CYLC_INSTALLDIR and then skip step 1.

The instructions here are for creating a local installation of Cylc (because often users will not have permission to create a global installation):

 

STEP 1: Go to this website and decide from it which release of Rose you want (e.g. release #53 from 2018.02.0). Note carefully which versions of Cylc and FCM this is expected to be used with (e.g. cylc-7.6.0 and fcm-2017.10.0). We're going to install those three together now.

Install Cylc first, using these commands from a bash terminal (if directory .local already exists, the mkdir will throw an error but that is fine and just ignore):

   mkdir ~/.local

   cd ~/.local

   git clone https://github.com/cylc/cylc.git

   cd cylc
   git tag -l

(you can see from the list that the right tag name is "7.6.0" for Rose release 53)
   git checkout tags/7.6.0
   cd ..
   cylc --version
(which should say 7.6.0 and it should say you are in 'detached HEAD' state)

Next, do the make (ignore all the LaTeX warnings):

   cd ~/.local/cylc

   make

   cd ../..

(if this aborts with "/bin/sh: cylc: command not found" followed by "make: *** [docs] Error 2", append the Cylc command set to the library first (as I describe immediately below here) and then redo the make).

 

STEP 2: Now you need to append the Cylc command set to your library. This must be done every time you log on, so best to add the following line to the end of your ~/.bashrc file to accomplish this:

export PATH=$HOME/.local/cylc/bin:$PATH

Run your .bashrc file (or log off and log in again):

   . ~/.bashrc

 

STEP 3: Finally, check the Cylc installation using (this will also check for the Python libraries Cylc uses):

   cylc check-software

 

All done: Cylc should be installed.