Skip to content

Getting Started

Pre-requisites

It is recommended you have some familiarity of how to use:

Platform-specific setup

Setup and installation instructions are provided for each platform:

  1. ARCHER2
  2. JASMIN
  3. BAS HPC
  4. Local

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:

curl -fsSL https://install.julialang.org | sh

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:

export JULIA_DEPOT_PATH="/data/hpcdata/users/$USER/.julia:$JULIA_DEPOT_PATH"

Then, make sure the functions in scripts can be found:

cd <directoryOfRepo>
export PATH="`realpath .`/scripts/BAS:$PATH"

Remember to run source ~/.bashrc.

Firstly, set JULIA_DEPOT_PATH for package storage in ~/.cshrc:

setenv JULIA_DEPOT_PATH="/data/hpcdata/users/$USER/.julia"

Then, make sure the functions in scripts can be found:

cd <directoryOfRepo>
setenv PATH="`realpath .`/scripts/BAS"

Remember to run source ~/.cshrc.

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:

  1. Using juliaup (recommended):
    curl -fsSL https://install.julialang.org | sh
    
    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.
  2. Load the Julia module that is available on the HPC:
    module avail julia
    module load julia-*
    
    Note that the availability of modules on the BAS HPC is subject to change.
  3. Install Julia manually, and provided Julia's location is set in PATH, using the provided install_julia.sh script:
    cd <directoryOfRepo>
    
    install_julia.sh
    

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:

cd <directoryOfRepo>
export PATH="`realpath .`/scripts/local:$PATH"

You can now continue setting up using the all platform instructions below.

All Platforms

Check Julia is installed:

julia --version

To install WAVI:

wavi_install

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.

wavi_install --develop /data/hpcdata/users/<USER>/WAVI

Remote branch

If you want to install a remote branch of the WAVI repository, you can do so with the following commands:

export WAVI_REPO="https://github.com/RJArthern/WAVI.jl"
export WAVI_REV="branch-name"
Then call wavi_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.