Rose/Cylc setup
Rose/Cylc site install
Your need root access and this should ideally be done centrally.
- sudo yum install python-cherrypy python-jinja2 python-requests python-simplejson python-sqlalchemy python-pyro subversion subversion-perl perl-Config-IniFiles perl-DBD-SQLite perl-Tk perl-XML-Parser perl-Time-Piece xxdiff rsync diffutils trac
- sudo yum install graphviz graphviz-devel
- sudo easy_install pygraphviz [pyro]
Note that python-graphviz from repository may not work, must use pygraphviz - Install Cylc
Untar release file and once in cylc directory run
PATH=$PWD/bin:$PATH make
Need to make sure conf/global.rc is correctly set up if required - Install Rose
Untar release file and once in rose directory run
PATH=$PWD/bin:$PATH
Need to make sure etc/rose.conf file is correctly set up - Install FCM
Untar release file and once in fcm directory run
PATH=$PWD/bin:$PATH
Need to make sure files in etc/fcm are correctly set up - Put all software in PATH
- Set-up - Keywords
create the file:FCM_PATH=/path/to/fcm/; $FCM_PATH/etc/keywords.cfg
Populate it with the JULES keywords given below:location{primary}[jules.x] = https://code.metoffice.gov.uk/svn/jules/main location{primary}[jules_doc.x] = https://code.metoffice.gov.uk/svn/jules/doc
- Set-up - rose configuration
create the fileROSE_PATH=/path/to/rose/; $ROSE_PATH/etc/rose.conf
something like this (this is similar to the VM file and will need adjusting for your site):[rose-config-edit] icon-path-scheduler=/path/to/cylc/images/icon.png [rose-mpi-launch] launcher-fileopts.mpiexec=-file $ROSE_COMMAND_FILE launcher-list=mpiexec launcher-preopts.mpiexec=-n $NPROC [rose-stem] automatic-options=SITE=??? #use site id [rose-suite-log] rose-bush=/localhost/rose-bush/ #configure for your site [rosie-db] db.tmp=sqlite:////srv/svn/rosie-tmp-db.sqlite #configure for your site repos.tmp=/srv/snv/roses-tmp #configure for your site [rosie-go] icon-path-scheduler=/path/to/cylc/images/icon.png [rosie-id] prefix-default=tmp prefix-location.tmp=http://localhost/svn/roses-tmp prefix-location.u=https://code.metoffice.gov.uk/svn/roses-u prefix-username.u=<MOSRS USERNAME> prefix-web.u=https://code.metoffice.gov.uk/trac/roses-u/intertrac/source: prefix-ws.u=https://code.metoffice.gov.uk/rosie/u prefixes-ws-default=u tmp
-
You will need a site
.cfg
to be stored in$JULES_trunk/etc/fcm-make/platform/???.cfg
file which should be something like this:################################################################################ # This platform file should be used when building on the JULES ??? Linux # ????? # # It makes sure that the compiler is gfortran, that MPI is off (since the # default NetCDF installation does not support MPI), and that the NetCDF paths # are correctly set up should the user switch NetCDF on ################################################################################ # Override any of the input variables that we need to for the ??? Linux # ????? $JULES_REMOTE = local $JULES_COMPILER = gfortran $JULES_MPI = nompi $JULES_NETCDF = netcdf $JULES_NETCDF_INC_PATH = /usr/lib64/gfortran/modules $JULES_NETCDF_LIB_PATH = /usr/lib64 # Since we don't need to modify anything else, we can just include the custom # platform configuration to set the variables include = $HERE/custom.cfg
Please create a branch and add your site ???.cfg file to the
$JULES_trunk/etc/fcm-make/platform/
directory. This need so to be a ticket and then it can be reviewed by the JULES system manager so that it can be be part of the next JULES version code release for all your site to use. Therefore each user will not need there own version of the file.For further help email JULES Support.
MOSRS password caching
Configuring MOSRS access
You need to configure your ~/.subversion/servers
file as follows:
[groups] metofficesharedrepos = code*.metoffice.gov.uk [metofficesharedrepos] # Specify your Science Repository Service user name here username = myusername store-plaintext-passwords = no
Remember to replace myusername
with your actual Science Repository Service user name.
Your user name should be a single word in lower case.
How to cache your password
Please ensure that you comment out or remove any blank setting for password-stores in your ~/.subversion/config
file, for example, after commenting out the line, your file may look like this:
[auth] ... #password-stores =
Using GNOME keyring
Set up a new login keyring as follows:
- Run:
rm -f ~/.gnome2/keyrings/login.keyring
to remove any existing login keyring. - Run
seahorse
and selectfile -> new
. - Select
Password keyring
and thenContinue
. - Type
login
as the keyring name and then selectAdd
. - Enter your desktop password and then select
Create
.
Once you have done this you should see a login
keyring listed under the Passwords
tab and if you right click on the key the Unlock
menu should be grayed out.
Exit seahorse by closing the window.
Cache your password
Run this command upto three times: svn info https://code.metoffice.gov.uk/svn/test
You'll be asked for your Science Repository Service password
the first and maybe the second time. The third time, it should not prompt you.
You then need to run the corresponding rosie command: rosie hello --prefix=u
This will prompt for your username (your Science Repository Service username
) and your Science Repository Service password
.
The password will then be cached in GNOME keyring for later use.
Your username will get automatically saved in your ~/.metomi/rose.conf
file.
Using gpg-agent
gpg-agent versions known to work: 2.0.14 (and probably later versions).
Install the scripts mosrs-setup-gpg-agent and mosrs-cache-password in a directory which is included in your $PATH
.
The contents may need adapting to your local setup (in particular the path to gpg-preset-passphrase
in mosrs-cache-password
).
You then simply need to run the following prior to any work requiring access to the repositories: . mosrs-setup-gpg-agent
This will prompt for your password and test that your password had been cached successfully.
If you want this to run automatically when you first login, add the following to the end of your .bashrc
file (assuming that bash is your default shell):
[[ "$-" != *i* ]] && return # Stop here if not running interactively . mosrs-setup-gpg-agent
Note that the cached password is configured to expire after 12 hours. Simply run the command mosrs-cache-password
to re-cache it if this happens.
Data retrieval
FTP password is
- Choose a location for your ~25GB of data to be saved to be
accessed by all:
ROSESTEM_DATA='/path/to/rosetsem/data/'
- cd $ROSESTEM_DATA
- KGO_DIR=$ROSESTEM_DATA/rose-stem-kgo/vn#.# #where #.# needs to be the appropriate JULES version number
- mkdir -p $KGO_DIR
- wget --user=ext_jules --password=<SEE LINK ABOVE> ftp://ftp.metoffice.gov.uk/benchmarking/benchmark.data.tar.gz
- tar -xvzf benchmark.data.tar.gz
- rm benchmark.data.tar.gz
- cd gswp2
- wget --user=ext_jules --password=<SEE LINK ABOVE> ftp://ftp.metoffice.gov.uk/benchmarking/benchmark_gswp2_data.tar.xz
- tar -xvJf benchmark_gswp2_data.tar.xz #Note this may take a short while.
- rm benchmark_gswp2_data.tar.xz
#Copy across the data including the ERAINT data and the GSWP2 data only for rose-stem to run
#Copy across the FULL GSWP2 dataset. NOTE: this is 22BG and only get it if you need it.
Running JULES rose stem
To run JULES rose stem you need nccmp
installed.
It is open source software for comparing NetCDF data.
Creating site KGO for JULES rose stem
Known Good Output (KGO) is the good data that nccmp
uses
to compare with the new output that the rose stem suite has created in the
current suite run.
- KGO_DIR=<path/to/jules/rose-stem-kgo/>
- VN=vn#.#_t??? #replace with the appropriate KGO version
- mkdir -p $KGO_DIR/$VN
- JULES_TRUNK=<path/to/jules/vn#.#/trunk> #replace vn#.# with the appropriate JULES version number
- cd $JULES_TRUNK #This suite will fail, but do it anyway as we need to create the KGO
rose stem --group=all --source=. -S HOUSEKEEPING=false --new
- cd ~/cylc-run/trunk
- cp work/1/loobos_*/output/* $KGO_DIR/$VN
- cp work/1/gswp2_*/output/* $KGO_DIR/$VN
- Test rose stem
rose stem --group=all --source=. --new
You should have no failures this time.
Now rose stem should be configured for your site and compliers.
Rose Bush
Rose Bush is an intranet web service at your site on pre-setup on
the Virtual Machine (VM).
It enables users to view their suite logs using a web browser.
Depending on your specific site and systems you may not have the
the required admin access rights to setup the service.
For more information please see the Rose Documentation on
Rose Bush.
This document is released under the British Open Government Licence.