Software
Many software packages can only be used if they have been loaded into the users environment by means of the Lmod system of Environment Modules via the program module
. The most important commands are:
avail
: show which modules are availablehelp
: show help for a moduleadd
: load a modulerm
: unload a modulelist
: list loaded modulesshow
: show other module loaded as dependencies by the module as well as environment variable set by the module.
Multiple versions of a software package may be available, e.g.
$ module av hdf5 -------------------- /trinity/shared/easybuild/modules/all --------------------- HDF5/1.10.1-intel-2018a HDF5/1.10.2-foss-2018b HDF5/1.10.1-intel-2018b HDF5/1.10.2-intel-2018b (D) Where: D: Default Module
If the full name of the module is given, that specific version of the program is loaded:
$ module add HDF5/1.10.2-foss-2018b
If the only the initial part of the name of the module is given, that version which is alphabetically last will be loaded, e.g:
$ module add HDF5
will load HDF version 1.10.2 build using the intel-2018b
toolchain.
In general it is only necessary to load one module for the program you wish to use. Any other modules needed by that program will be loaded automatically. If you do load multiple modules, these must all be from compatible toolchains, e.g.
module add Biopython/1.78-foss-2020b module add matplotlib/3.3.3-foss-2020b
or
module add Python/3.8.6-GCCcore-10.2.0 module add Seaborn/0.11.1-foss-2020b
since foss/2020b
depends on GCCcore/10.2.0
(see module info foss/2020b
).
Please note that if software has been added within the last 24 hours , it may not show up in the output of module av
due to a caching mechanism, which is meant to speed up module
commands. However, even a module is not shown, you can still load it via module add
. You can also force module
to ignore the cache via the option --ingore_cache
, e.g.
$ module --ignore_cache av hdf5
For more details see man module
or the Lmod user guide.
Note: In general we advise against loading modules in a start-up script such as .bashrc
. Instead, please load modules explicitly when they are needed.