Close menu Resources for... William & Mary
W&M menu close William & Mary

Environment Modules

We support tcsh as the primary shell environment for user accounts and applications. In order to meld disparate computing platforms into a cohesive user experience, as well as to manage the dozens of software packages which are available on the clusters, we employ a software package called Environment Modules in conjunction with a set of platform-specific shell configuration files. When a new account is created, it is provisioned with the following set of tcsh configuration files:

.login recommended settings for login shells
.cshrc personal environment settings for all subclusters
.cshrc.vortex for Vortex
.cshrc.potomac for Potomac
.cshrc.rhel7-opteron for Pamunkey
.cshrc.el7-xeon for Bora & Hima
.cshrc.el7-phi for Meltemi
.cshrc.el7-x86_64 for James
.cshrc.femto for Femto
.cshrc.cyclops for Cyclops
.cshrc.gust for Gust

On any sub-cluster front-end, ~/.cshrc.$PLATFORM refers to the relevant tcsh configuration file for that sub-cluster. Customize these files to meet your needs. The most recent versions of these files can be found in /usr/local/etc/templates (be sure to ls -a). A default set of environment modules is loaded at the end of the platform-specific .cshrc.* files to get you started.  System-wide environment settings are initialized in

  • /usr/local/etc/sciclone.{cshrc,login} on SciClone, and
  • /usr/local/etc/chesapeake.{cshrc,login} on Chesapeake.

These files are automatically invoked at the beginning of your personal .cshrc and .login files, respectively.

To see a complete list of available modules on the current platform, use one of the following commands:

module avail

module whatis


To list your currently loaded modules:

module list

To load a module:

module load <module name>

e..g. 

module load intel/2018

To unload a module:

module unload <module name>

Every interactive login or start of a job is a new session, so the module command can be run interactively or added to a job script to load or remove a module from your environment temporarily, but in many cases it is preferable to incorporate the desired set of modules into the appropriate shell configuration file so they are always loaded whenever you log in or one of your jobs start.

For example, to have the matlab/R2020a  module load for every login session on the vortex cluster, you could edit your .cshrc.vortex file add the line:

module load matlab/R2020a

This would ensure that matlab/R2020a is always available for any interactive or batch session on the vortex cluster. Similar configurations can be made for other clusters by editing the corresponding file for each cluster as show above.

Note: Some .cshrc.XXXX files load an isa module, which should not be removed or commented out.