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.