We use “Environment Modules” to keep the environment clean. For application software, a corresponding module must be loaded before using the software. The module will set all paths and environment variables necessary to use the software. Environment Modules are simple to use.
For example, to use the software called Matlab, first load the Matlab module by typing:
module load matlab
If users apply a particular module frequently, they can add the module to the existing “module load” command in a shell script file depending on which shell they are using. The default shell on Andromeda is the bash (.bash profile).
There are some basic commands:
- module avail Lists all currently available modules
- module list Lists all modules currently loaded.
- module load modulefile Add or load one or more modulefile
- module unload modulefile Unload modulefile
- module switch mod1 mod2 Replace mod1 with mod2
There should be no need for a user to manually set a path to run application software that is available to all users of the system.
For example:
[johnchris@l001 ~]$ module load R/4.2.1-intel.2020
Loading R/4.2.1-intel.2020
Loading requirement: intel/2020
[johnchris@l001$ which R
/usr/public/R/4.2.1intel2020/bin/R
[johnchris@l001]$module avail
—————————————————- /cm/shared/modulefiles————————————————–
allennlp/2.6.0gpu(default) gcc/7.4.0 mpich/3.4rc1.intel2020 R/4.1.2-intel.2020mkl
amber/22(default) gcc/9.2.0 mpich/ge/gcc/64/3.3.2 R/4.2.1-intel.2020
anaconda/4.4.0-P2.7 gcc/10.2.0 mplus/8.9(default) R/4.2.1gnu9.2.0
anaconda/2020.07-p3.8 gcc/11.2.0 mriqc/22.0.6(default) R/4.2.1gnu9.2.0.fmp
anaconda/2021.11-p3.9 gcc8/8.4.0 mvapich2/gcc/64/2.3.2 Raxml/8.2.12
anaconda/2023.07-p3.11 gdb/8.3.1 neci/1.0.0(default) Raxml/8.2.12.AVX
apbs/3.0.0(default) git-gcc8/2.28.0 netcdf/4.5.0F.intel Raxml/8.2.12.AVX.MPI