Using environment modules
A brief introduction to environment modules.
What are modules?
Environment modules provide a central installation of software available to multiple users on the same computer system.
Individual software modules can be loaded and unloaded easily using
the module
command, which dynamically modifies the user’s shell
environment as needed.
For each module, configuration files are created and maintained by system administrators.
As such, new modules can be requested from system administrators (refer to the Contact section), subject to time and availability.
List available modules
The module avail
command can be used to list modules currently available.
module avail
This command generally displays an uncessarily large list of modules.
The command can be given a pattern of module names to search for.
For instance:
module avail python
Search modules
The module search
command is an alternative method for searching modules
by keyword.
module search python
List modules currently loaded
The module list
command can be used to list modules that are currently load
module list
Load modules
The commands module load
and module add
can both be used to load modules
(one or more module per command).
For instance:
module load fastqc
Multiple versions may be available for the same module name
(e.g., fastqc/0.11.5
, fastqc/0.11.9
).
In those cases, we recommend specifying explicly the version that you wish to load.
For instance:
module load fastqc/0.11.9
Unload modules
The commands module unload
and module rm
can both be used to unload modules
(one or more module per command).
module unload fastqc/0.11.9
Purge modules
The command module purge
can be used to unload all loaded module and reset everything to the original state.
For instance:
module list
module load R-base/4.2.0
module list
module purge
module list
In particular:
- The first call to
module list
reports a module that was loaded in the user’s~/.bashrc
file. - The command
module purge
unloads all modules; both those loaded in the user’s~/.bashrc
and those loaded interactively on the command line.