Child pages
  • The module system
Skip to end of metadata
Go to start of metadata

When you execute a (non-builtin) command in bash, the location of the program corresponding to that command is looked up in the filesystem according to the $PATH environment variable.  For instance, on a typical Linux machine, one might see

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Thus, when the command 'minctracc' is typed into a Bash session, the above ':'-separated list of directories will be searched in left-to-right order for an executable file (script or binary) called 'minctracc'.

On most systems, software is simply upgraded in-place.  However, for scientific computing, we must be able to install multiple versions of the same software (together with their dependencies, of course).  For instance, users may want to test a new version or use features not available in previous versions, but must also be able to use old versions to continue and re-run previous analyses.  On the other hand, upgrading system software such as that in /bin and /sbin is necessary for security reasons.  We currently resolve these issues by providing a collection of environment modules (modules for short).

Currently, (June 2021) we have Ubuntu 16.04 (Xenial) installed, and our science software available via modules resides here:

/axiom2/projects/software/arch/linux-xenial-xerus/

The software that is installed on the system might change over time. When never version of packages/libraries are around, we might upgrade the software that is installed there. On the other hand, sometimes never version of software are available, but they do not support all features that we want (yet). In that case, we can install the software in a separate place, and you can load a module which will set your paths such that you can use this newer software.

Accessing the module system

The following lines, making the environment module system available at the command line, are executed automatically when launching a shell on a MICe machine:

. /axiom2/projects/software/arch/linux-xenial-xerus/lmod/7.6.5/lmod/lmod/init/bash
module use /axiom2/projects/software/arch/linux-xenial-xerus/modulefiles
module load mice-env

Here mice-env is an omnibus module which loads a variety of other modules.

You can list available modules by using the following command:

module avail

Similarly, `module list` lists 'loaded' modules, 'module purge' unloads all modules.  You can also use 'ml' as a shorthand, e.g. 'ml mice-env', 'ml list', etc. (this doesn't work on older module systems such as at HPF).  For more details, see https://lmod.readthedocs.io/en/latest/.

Modules and Pydpiper

For information about registration quarantines and pydpiper versions look here: PydPiper at MICe with quarantines

  • No labels