Getting Started
Pre-requisites
It is recommended you have some familiarity of how to use:
- WAVI.
- model-ensembler.
- Running SLURM jobs on your chosen platform (BAS HPC (internal), JASMIN LOTUS, ARCHER2).
Platform-specific setup
Setup and installation instructions are provided for each platform:
After directory setup and Julia installation, all platforms follow common instructions.
ARCHER2/JASMIN
Directory setup
Make sure the functions in scripts
can be found:
cd <directoryOfRepo>
# For ARCHER2
export PATH="`realpath .`/scripts/archer:$PATH"
# For JASMIN
export PATH="`realpath .`/scripts/jasmin:$PATH"
Julia Installation
There are no Julia modules on JASMIN/ARCHER2, but you can conveniently install Julia using juliaup
:
This will automatically set up Julia for you - there are no additional steps needed as the installation will be visible to the HPC nodes by default.
You can now continue setting up using the all platform instructions below.
BAS HPC
Directory setup
Depending on the default shell you wish to use (bash or c shell), instructions differ slightly:
Firstly, set JULIA_DEPOT_PATH
for package storage in ~/.bashrc
:
Then, make sure the functions in scripts
can be found:
Remember to run source ~/.bashrc
.
Julia Installation
This is where Julia packages will be installed. It is recommended the location is visible to the workstations (ie. under "/data"), and in an area specific to you as user.
To install/load Julia, you have a few options:
- Using juliaup (recommended):
Choose
custom installation
, and make sure juliaup is installed in the following location:/data/hpcdata/users/<USER>/.juliaup
. All other settings can be set as their default. - Load the Julia module that is available on the HPC: Note that the availability of modules on the BAS HPC is subject to change.
- Install Julia manually, and provided Julia's location is set in PATH, using the provided
install_julia.sh
script:
Where is Julia?
Just installing Julia using juliaup
would be the easiest thing to do. Unfortunately at present, whether this works out of the box or not depends entirely on which node you are attempting to run Julia on.
This is because some nodes (currently the Centos based ones) configure $HOME
to /users/<USER>
, rather than /data/hpcdata/users/<USER>
, even though this is not a visible directory for the node.
Therefore, if $HOME
changes between the workstation you submit from (e.g. /users/<USER>
) and the node you submit to (e.g. /data/hpcdata/users/<USER>
) juliaup
will break. Currently, the combination of install_julia.sh
and the scripts submitted to SLURM in template_bas/
set $HOME
manually for you.
While using a Rocky workstation (e.g. bsl-ws-s10
) and submitting to the Rocky partition, juliaup
can be used for Julia installation, and will run on the node without issues.
In the (near) future, all workstations and nodes will be Rocky based, and these instructions can be simplified.
You should now be able to call the convenvience functions under /scripts
, such as wavi_install
.
You can now continue setting up using the all platform instructions below.
Local
As with ARCHER2/JASMIN, you can install Julia using juliaup
.
Then just point to the scripts under local
so they can be found:
You can now continue setting up using the all platform instructions below.
All Platforms
Check Julia is installed:
To install WAVI:
This will install WAVI.
Development Branches
Local branch
wavi_install
can accept an additional --develop <path>
argument to specify your local clone of WAVI to install from.
Remote branch
If you want to install a remote branch of the WAVI repository, you can do so with the following commands:
Then callwavi_install
as normal.
Pkg environments
WAVI will automatically be installed into an Pkg enviroment called wavi_test
. As a user, you
do not need to do anything for this to happen.
However, should you wish to install WAVI into different environments, please refer to the advanced usage page for guidance on how to do this.