Environment Modules is a system for dynamically loading software packages into your environment using a command line tool called module. Software packages are installed in a central location by the APPLICATE support team and then a modulefile is built for the software which modifies your environment when you load the corresponding module.
List available Software Modules
Syntax to list all available modules:
~#module avail
benchmark/IMB-4.1 hdf5/1.8.17 benchmark/IOR-2.10.3-xenial nco/4.6.0 cdo/1.7.2 nco/4.6.9 ESA-Tools/4.0 netcdf/4.4.1 ESA-Tools/5.0 netcdf/4.5.0 ESA-Tools/6.0pre netcdf-fortran/4.4.4 ESA-Tools/BRAT-4.0beta netcdf-fortran/4.5.0 fyba/master panoply/4.5.1 gdal/2.1.1 perf/kernel-4.1.13 gdal/2.2.1 pnetcdf/1.7.0 gdal/python2/2.2.2 pnetcdf/1.9pre gdal/python3/2.2.2 R/R-3.2.1-met grib_api/1.16.0 R/R-3.3.1-met hdf4/4.2.12 R/R-3.4.3-met hdf5/1.10.1 ...
Description of a software module
Modules are typically prepending/appending environment variables like $PATH, $LD_LIBRARY_PATH to your environment.
Example:
~#module show netcdf/4.5.0 ------------------------------------------------------------------- /modules/MET/xenial/GeneralModules/netcdf/4.5.0: module-whatis NETCDF 4.5.0 prepend-path PATH /modules/xenial/NETCDF/4.5.0//bin prepend-path LD_LIBRARY_PATH /modules/xenial/NETCDF/4.5.0//lib prepend-path --delim CPPFLAGS -I/modules/xenial/NETCDF/4.5.0//include prepend-path --delim LDFLAGS -L/modules/xenial/NETCDF/4.5.0//lib module add hdf5/1.10.1 -------------------------------------------------------------------
Load/Unload/Purge modules
Load a specific version of a module
~#module load module_name/version
To unload a module
~#module unload module_name
Purge the whole module environment
~#module purge