access_RoseInstall - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki

Rose is installed in the rose subdirectory of ~access. It is set up to use module files to manage dependencies

Directory structure:

  • gtk-source: Source tarballs for pre-requisites
  • gtk: Install directory for the gtk library
  • python: Install directory for pre-requisite python modules
  • modules: Module files to use with the module load command
  • cylc: Install directory for versions of Cylc
  • rose: Install directory for versions of Rose
  • rose-examples-XXXXXXXX: Extracts of the Met Office Rose releases

The modules directory contains files for the gtk and pygtk pre-requisites, and folders which contain configurations for the installed versions of Rose and Cylc.The module files are used to set environment variables, eg. PATH, PYTHONPATH &c. The gtk modulefile loops over a list of libraries to avoid having to load a dozen extra modules. Modules automatically load their pre-requisites, so loading the rose module also loads cylc, pygtk and gtk.

Separate module files exist for each version of Rose and Cylc, the default version loaded is specified by a file named .version in each subdirectory. Each version file (e.g. rose/modules/rose/20120223) corresponds to a directory under the install path (e.g. rose/rose/20120223) which has the binaries &c for that version. Note that the cylc versions are named like cylc-4.2.1, this is because cylc also has an in-built mechanism for selecting which version to use, which it uses for backwards compatibility with old scripts.

To install a new version of cylc, extract the source tarball into ~access/rose/cylc, which should create a directory cylc-$VERSION. Next go to the ~access/rose/modules/cylc directory and copy one of the modulefiles there to cylc-$VERSION, edit the new file and change the version variable to the new value. Also in this directory edit the .version file to point to the latest version.

To update the development version of cylc from github, go to ~access/rose/cylc/cylc-git and run 'git pull'.

To install a new version of rose, extract the source tarball into ~access/rose, which will create a folder rose-examples. Rename this to rose-examples-$VERSION, where VERSION is the date-stamp of the release. Then copy the folder ~access/rose/rose-examples-$VERSION/rose to the install directory ~access/rose/rose/$VERSION and create a new modulefile as per the cylc instructions.