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.   You can request a bash environment, by emailing [[w|hpc-help]].   If you are using a bash environment, all of the rest of the documentation holds for .bashrc.* 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.kuro kuro
.cshrc.femto femto
.cshrc.bora bora & hima
.cshrc.astral astral
.cshrc.gust gust
.cshrc.gulf gulf
.cshrc.james james
.cshrc.potomac potomac
.cshrc.pamunkey pamunkey

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/compiler-2024.0

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/R2023a  module load for every login/interactive session on the bora cluster, you could edit your .cshrc.vortex file add the line:

module load matlab/R2023a

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