Introduction to installed packages on Athena
Packages are available on Athena via the environment modules system.
Where possible, you are advised to use the precompiled and installed packages rather than compiling your own. Installed packages are tested and optimised. If you feel that a package could be imprived, then please contact your local support contact as we welcome comments for improvement.
If you have additional test cases you wish to see packages tested against, please also contact us.
Seeing what is available
You can run
to see an extensive list, or
module avail keyword
to see things related to a particular keyword.
To see the versions related to a particular package use
module avail packagename
Names, versions, flavours
Most modules are given the following: package name, version number or name, and
flavour. Package name is often a single word, such as gcc, but can be longer,
intel set of modules are of the form
intel/toolname, for example
intel/mpi and Python modules are of the form
python/pandas as a package name.
These are the main version numbers, e.g.
These are further identifiers. For many packages they are simple numeric values
2, which represent different versions which might be related to
different compilation options, or other fixes. For example
1 might use
2 Intel MPI. Or alternatively
1 might be compiled with the
2 with flag
Rather than make the flavour versions very long, they are kept short and documented.
In the output those versions which are explicitly set as defaults have the
For those without explicit defaults then the lexically latest version is used.
E.g. for a package
packagename/version1/b then if
module load packagenbame/version1
b will be loaded.
The following can be used:
module load packagename
This will load the lexically last version number, and lexically last flavour name of that version number
module load packagename/versionnumber
This will load the lexically last flavour name for packagename/versionnumber
module load packagename/versionnumber/flavourname
which loads an exact package, version, flavour
Listing loaded modules
to show what is loaded
You cannot load two versions of the same module.
This may occasionally present issues if modules load other modules, and there are conflicting versions. This is most common in workflows of several items in a script in which case use:
module purge module load a b c d do_some_work module purge module load p q r s do_some_other_work
will work in many instances.