From scratch

JULES From Scratch is an alternative how-to for those who don't work on a system where Cylc, Rose and FCM have already been installed and/or can't use the Met Office Virtual Machine (e.g. for security reasons). I'm also assuming little or no familiarity with any recent version of JULES.

In order to follow this tutorial you need:

  • A MOSRS login (see here) (this is free to everyone, whether in the UK or not). You should also subscribe to the email support lists (see here), by the way.
  • Access to a UNIX/Linux system either directly or through a remote shell client and X server (e.g. I use MobaXterm); CEH users see Y:\Approved Software\MobaXterm\MobaXterm - How to Install and set up a session..pdf for some helpful info in setting this bit up) with X11 forwarding (if you use "ssh -X" to access the server you're on then X11 will be there, otherwise you'll have to find out how to ensure it's on, e.g. in MobaXTerm there is a check-box in the settings you need to make sure is ticked).
  •      If you have a laptop/PC but do not have access to a UNIX/Linux system through the institution where you work, then you only really have two options:
  •         (1) Install your own GNU/Linux environment (see here for the 10 most popular distributions, with screenshots; also I suggest you register on LinuxQuestions too) or
  •         (2) Use JASMIN, which is a UK computer cluster that is available for anyone to use as long as you register (whether or not you are based in the UK, and you don't need to be a student either).
  • If you have access to a Linux/UNIX system, check what server system you are on (you may need to know) by typing cat /etc/os-release (e.g. In Jan 2021 the server was CentOS Linux).
  • A text editor on UNIX: e.g. on Monsoon you have nedit and on JASMIN you can use geany (vi or vim are also on both platforms if you like those: find out which text editor is installed using " apropos "text editor" ").
  • A Fortran compiler installed on UNIX (if using gfortran, it must be at least vn4.9.2 (since JULESvn5.2 the compilation requires the -std=f2003 flag for compliance with F2003 and for versions of gfortran before 4.9.2 this will trip a fatal run-time error while trying to read the namelists))
  • Python installed on UNIX (at least version 2.0; the process of transitioning to Python3.0 is still ongoing, so please note that *** JULES will not yet work with Python vn>=3.0 ***) (n.b. Python 2 goes out of licence in January 2020, and out of support July 2020: we hope to have completed this transition on those timescales)
  • and NetCDF libraries on UNIX (installing NetCDF is too fiddly to go through here: see here and/or ask your System Administrator for help if they haven't been installed or not completely installed).

Before you go any further, open up my pdf presentation that explains the steps to get JULES running:

                                CLICK HERE FOR PDF: PDF icon 20210202.JULES From Scratch.pdf

Now, if you need them, start off with the installation steps (see below). Once you're done with that, return to the pdf for the rest of the tutorial.


Install Cylc, Rose and FCM and cache your MOSRS password

You need to have three programs installed on your system: Cylc, Rose and FCM. All three of these are necessary for running JULES and I've done a page about installing each with all the steps required (linked here below).

Ideally, these three will be installed globally by your system administrator, but if that isn't possible (or you are the system administrator) then you will need to go through some/all of these steps for a local installation. First check what is on your system by putting these commands into a UNIX shell:

echo $SHELL
     #You need to be in a bash shell, so if this returns anything except "/bin/bash" ask your system administrator how you can get into bash
cylc check-software
     #If Cylc is installed, this will give you a message saying "Full-functionality OK" (and it'll also warn you if you are missing Python (you need vn>=2.6); n.b. you can still run JULES even if missing libraries PyGraphviz and PyGTK)
rose --version
     #Just check you don't get "command not found"
fcm --version
     #Just check you don't get "command not found"

EVEN IF ALL SEEM TO BE INSTALLED OK, your personal profile settings may not be correct for using JULES so please do anyway go through the installation links below to make sure your environment setup is OK and your MOSRS password has been correctly cached.

  • Install Cylc from GitHub following these steps
  • Install Rose from GitHub following these steps (inc. what goes in your ~/.metomi/rose.conf file, which each user needs to set up separately)
  • Install FCM from GitHub following these steps (includes caching your MOSRS password *** which is compulsory for all users before using JULES *** and what goes in your ~/.subversion/servers and ~/.metomi/fcm/keyword.cfg files, which each user needs to set up separately)
  • Install JULES itself following these steps (this includes the download command for getting hold of a particular version of JULES).


Once you have all of that installed, you're ready to actually use the model (!). Most likely you will wish to run JULES for a particular site or region. As explained here, this will involve assembling control files, driving data and ancillary data, which collectively are called a configuration for the run. Finally, take a note of the following Rose suite codes for the particular version of JULES you want to use (see here for code release details). These are all intended to be the same example simulation (it's the example I refer to as JFScratchSuite in the slides above), but I've modified the control files appropriately for the particular version of JULES to be used.


Global run at 0.5° resolution (WFDEI data in 1D land-axis format) on the UKCEH linux box platform wllf00x

n.b. these suites require this dump file to run

Global run at 0.25° resolution (eartH2Observe data on 2D grid) on the JASMIN platform
JULESvn6.0 u-bq564 (not yet working)
  • Now return to the PDF linked above for the next steps.