Toby Marthews
  • Home
  • Opportunities
  • Projects
    • CHAMFER
    • JULES Academy
    • TISE
    • NC-Int-SEAsia
    • TES-NbS
    • Previous projects >
      • Hydro-JULES
      • MOCABORS >
        • MOGEN
      • CSSP Brazil
      • Projects pre-2021
  • Publications
  • Map-based CV
  • Resources
    • Menu of MODEL runs
    • Menu of COURSES
    • Spatial Data >
      • GISbasics
      • GISpackages
      • 1D2D
      • Animate data
    • JULES Ancils >
      • HSAncils
    • JULES on JASMIN
    • Gather
    • Wytham Maps
  • Gallery
  • SIGOPAM
  • Welcome to UKCEH

JULES system requirements

The first thing we need to go through is my shopping list of 10 things that you need on your system in order to be able to run JULES. Here's the list:

(1) You need access to a UNIX/Linux system. If you have a laptop/PC but do not have such access through the institution where you work/study, then you will either have to install your own Linux environment (see e.g. https://distrowatch.com/dwres.php?resource=major) or apply for JASMIN access http://jasmin.ac.uk/ .

​(2) You need to be in a bash shell. Type these into your HPC:
          cd ~
          echo $SHELL

This should return /bin/bash. If not, ask your System Administrator how you can get bash.

(3) You need X11 forwarding to be active to be able to run JULES through Cylc. Test this by typing:
          xterm
If this command opens a separate window then you are OK (you can close it immediately), but if it says "Can't open display" then check (i) you did use -X in the options to log in on your ssh command and (ii) your terminal program (e.g. MobaXTerm, XQuartz) has been set up to accept X11 Forwarding (look in Settings).

Next, check that you have on your HPC:

(4) A text editor: 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").

(5) JULES is written in Fortran, so you will need a Fortran compiler. The two supported alternatives for JULES are Intel (the ifx/ifort compiler) and GCC (the gfortran compiler **). You will need to have one of these options installed. Check with your System Administrator whether one or other of these is available on your platform, and request one of them to be installed if neither is available (instructions not included here).

(6) You will need NetCDF libraries https://www.unidata.ucar.edu/software/netcdf/ (ones that correspond to the compiler you are using). It is true that you should be able to do ASCII-driven point runs without NetCDF libraries, but all gridded runs of JULES require NetCDF libraries, so unless you are 100% sure that you will never need to do a gridded run, get these installed from the start. Installing NetCDF is too fiddly to go through here: see https://jules.jchmr.org/check-netcdf and/or ask your System Administrator for help if they haven't been installed or not completely installed.

(7) You will need to have Git installed on your system https://github.com/git-guides/install-git/ (see https://metoffice.sharepoint.com/sites/ScienceGitMigrationProjectCommsSite/SitePages/Training.aspx for some training available for the
Picture
(8) Now, sort out your ~/.bashrc file (this is a Bash shell script that Bash runs whenever it is started in an interactive shell that is not a login shell. It usually holds commands to set up the shell for use in a particular environment, or to customise some preferences):

      cat ~/.bashrc

Check your ~/.bashrc file and make sure that it has been set up correctly. I find the best way to do this is to copy someone else's on the system.

For example, you are welcome to copy any commands you see in my file: look at geany ~tmarthews/.bashrc & (I keep this publicly-accessible so that you can do this). This is the same as adding the following commands to your .bashrc file:

#CYLC, ROSE and FCM:

#Here I include the global installation of Cylc, Rose and FCM on JASMIN:
export PATH=$PATH:/apps/jasmin/metomi/bin


#MOSRS password caching. MetO advice from https://code.metoffice.gov.uk/trac/home/wiki/AuthenticationCaching/GpgAgent
[[ $- != *i* ]] && return # Stop here if not running interactively
export PATH=$PATH:$HOME/.local
#[[ $(hostname) = "sci-vm-01.jasmin.ac.uk" || $(hostname) = "sci-vm-02.jasmin.ac.uk" || $(hostname) = "sci-vm-03.jasmin.ac.uk" || $(hostname) = "sci-vm-04.jasmin.ac.uk" || $(hostname) = "sci-vm-05.jasmin.ac.uk" || $(hostname) = "sci-vm-06.jasmin.ac.uk" || $(hostname) = "cylc1.jasmin.ac.uk" || $(hostname) = "cylc2.jasmin.ac.uk" || $(hostname) = "sci-ph-01.jasmin.ac.uk" || $(hostname) = "sci-ph-02.jasmin.ac.uk" || $(hostname) = "sci-ph-03.jasmin.ac.uk" ]] && . mosrs-setup-gpg-agent
. mosrs-setup-gpg-agent
##If you are asked for your MOSRS password by the following command then
##you have NOT cached your password correctly
#rosie hello

echo ""
echo "Commands in ~/.bashrc complete."

echo ""
Picture
(8) Now, sort out your ~/.bashrc file (this is a Bash shell script that Bash runs whenever it is started in an interactive shell that is not a login shell. It usually holds commands to set up the shell for use in a particular environment, or to customise some preferences):

      cat ~/.bashrc

Check your ~/.bashrc file and make sure that it has been set up correctly. I find the best way to do this is to copy someone else's on the system.

For example, you are welcome to copy any commands you see in my file: look at nono ~tobmar/.bashrc & (I keep this publicly-accessible so that you can do this). This is the same as adding the following commands to your .bashrc file:

​#CYLC, ROSE and FCM:


#MOSRS password caching. MetO advice from https://code.metoffice.gov.uk/trac/home/wiki/AuthenticationCaching/GpgAgent
[[ $- != *i* ]] && return # Stop here if not running interactively
export PATH=$PATH:$HOME/.local
. mosrs-setup-gpg-agent
##If you are asked for your MOSRS password by the following command then
##you have NOT cached your password correctly
#rosie hello

echo ""
echo "Commands in ~/.bashrc complete."

echo ""
Picture
(8) Now, sort out your ~/.bashrc file (this is a Bash shell script that Bash runs whenever it is started in an interactive shell that is not a login shell. It usually holds commands to set up the shell for use in a particular environment, or to customise some preferences):

      cat ~/.bashrc

Check your ~/.bashrc file and make sure that it has been set up correctly. I find the best way to do this is to copy someone else's on the system.

For example, you are welcome to copy any commands you see in my file: look at mousepad ~tobmar/.bashrc & (I keep this publicly-accessible so that you can do this). This is the same as adding the following commands to your .bashrc file:

alias jj1='eval "$(ssh-agent -s)"'
#Here, you need the "-k" if you are using SSH certificated in Git: the "-k" option means "When loading keys into or deleting keys from the agent, process plain private keys only and skip certificates".
alias jj2='ssh-add -k ~/.ssh/id_ecdsa_jasmin; ssh-add -k ~/.ssh/id_ed25519'


#MOSRS password caching. MetO advice from https://code.metoffice.gov.uk/trac/home/wiki/AuthenticationCaching/GpgAgent
[[ "$-" != *i* ]] && return #Stop here if not running interactively
. mosrs-setup-gpg-agent

##If you are asked for your MOSRS password by the following command then
##you have NOT cached your password correctly
#rosie hello

​echo ""
echo "Commands in ~/.bashrc complete."

echo ""

(9) Check your Python installation https://www.python.org/downloads/ (although JULES itself is in Fortran, it uses a lot of ancillary Python scripts). You will need at least version 3.8.0, so please check by doing python --version .

​(10) You need to check that you have the software Cylc, Rose and FCM installed. 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. Start with Cylc, then do Rose, then FCM:
     Get Cylc
     Get Rose
     Get FCM

The steps on these three pages also set up your user profiles for all of them (including caching your MOSRS password).

Land Surface Science group, UK Centre for Ecology & Hydrology (UKCEH),
MacLean Bdg, Wallingford OX10 8BB, U.K.
, tobmar *a,t* ceh *dot* ac *dot* uk
Proudly powered by Weebly
  • Home
  • Opportunities
  • Projects
    • CHAMFER
    • JULES Academy
    • TISE
    • NC-Int-SEAsia
    • TES-NbS
    • Previous projects >
      • Hydro-JULES
      • MOCABORS >
        • MOGEN
      • CSSP Brazil
      • Projects pre-2021
  • Publications
  • Map-based CV
  • Resources
    • Menu of MODEL runs
    • Menu of COURSES
    • Spatial Data >
      • GISbasics
      • GISpackages
      • 1D2D
      • Animate data
    • JULES Ancils >
      • HSAncils
    • JULES on JASMIN
    • Gather
    • Wytham Maps
  • Gallery
  • SIGOPAM
  • Welcome to UKCEH