Rose

Rose is a framework for managing and running control suites (in our case, specifically JULES control suites).

 

For general information on Rose and Cylc as used in the UK's UM/Momentum system, see here.

 

** PLEASE NOTE that you will need versions of Cylc, Rose and FCM that can work together: see STEP 1 here for how to select them **

 

 

 

STEP 0: Check whether Rose is already installed.

rose --version

If Rose has already been installed on your system, this will give you a version number (a date); otherwise it'll say "command not found".

STEP 1 *** SKIP THIS STEP IF ROSE ALREADY INSTALLED ***:

Install using these commands from a bash terminal:

   cd ~/.local
   git clone https://github.com/metomi/rose.git
   cd rose

   git tag -l
   git checkout tags/2019.01.8
   cd ../..

 

STEP 2:

You need to configure Rose before you can use it, which involves generating files at ~/.metomi/rose.conf (in your profile) and at ~/.local/rose/etc/rose.conf (in the Rose installation):

   mkdir ~/.metomi

Next, create a textfile ~/.metomi/rose.conf containing this text (but substituting your username instead of tobymarthews and whatever your SITE is instead of jasmin (if you will be engaging in Rose stem testing **)):

[rosie-id]

prefix-default=u
prefix-location.u=https://code.metoffice.gov.uk/svn/roses-u
prefix-username.u=tobymarthews
prefix-ws.u=https://code.metoffice.gov.uk/rosie/u

[rose-stem]
automatic-options=SITE=jasmin

** Omit the rose-stem bit if you will not be using Rose stem testing (it is only necessary for code development). Just for information, the SITE setting can (currently) be one of metovmcehwl1jasminniwa or nci (i.e. a selection of UK Met Office internal and UM partners) and tells the system where essential KGO files are stored on those systems ('Known Good Output'), however if you are not engaging in Rose stem testing then you don't need those files and therefore don't need that rose-stem bit.

 

STEP 3 *** SKIP THIS STEP IF ROSE ALREADY INSTALLED ***:

Now you need to append the Rose 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/rose/bin:$PATH

   chmod -R 755 ~/.local

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

   . ~/.bashrc

STEP 4: Now check the installation:

Check the Rose installation and server links. Putting in your MOSRS password should give you a hello back from the MetO server:

   rosie hello

(if you get anything like "hello: {}" then check you've done step 2b correctly). For example, my hello back message is "https://code.metoffice.gov.uk/rosie/u/hello: Hello tobymarthews".

 

 

All done: Rose should be installed (typing ROSE_EXEC=$(which rose);echo $ROSE_EXEC will tell you where it is installed, if you are interested). By the way, don't use "rose check-software": it seems to check far too wide a set of components (e.g. for me on Jasmin it says "Result: FAIL" for several sections, while in reality all the essential components for JULES are indeed correctly installed).

 

OPTIONAL STEP 5:

If you have a PUMA account, you can add the following to .metomi/rose.conf as well (after prefix-username.u; substituting your PUMA username instead of tobymarthews):

prefix-username.puma=tobymarthews

and add the following to the file in step 2b:

prefix-location.puma=svn://puma.nerc.ac.uk/roses_puma_svn

prefix-web.puma=https://puma.nerc.ac.uk/trac/roses_puma/intertrac/source:

prefix-ws.puma=http://puma.nerc.ac.uk/rosie/puma

 

There are lots of other options you can insert into the Rose configuration, by the way (see here for examples): this is a minimal file to get it going. Specifically, however, please do NOT insert anything like “meta-path=...” into ~/.local/rose/etc/rose.conf because this only causes confusion (it's overridden by the meta data specification in your JULES namelists anyway so has no effect).