Modules allow users to control what libraries and binaries are being made available within that terminal session. It is worth mentioning that module commands, only affect the terminal they are in. It is not global. This is why we routinely ask users to operate in a single terminal while troubleshooting issues.

Users who have installed one of our moose-environment packages, will have access to modules. Please familiarize yourself with some commonly used module commands:

CommandCommand ArgUsage
modulelistList currently loaded modules
moduleavailList available modules
moduleload <module module module>Load a space separated list of modules
modulepurgeRemove all loaded modules

To begin working with modules manually, it is best to start clean (especially for the duration of this FAQ). You can do so by purging any current modules loaded:

module purge

Load the two default modules pertaining to your operating system:

  • Linux:

    • module load moose-dev-gcc moose-tools

  • Macintosh:

    • module load moose-dev-clang moose-tools

Loading these two modules will in-turn load other necessary modules. The correct modules that should be loaded will approximately resemble the following list:

  • Linux:

    module list
    Currently Loaded Modulefiles:
    1) moose/.gcc-7.3.1                             5) moose/.cppunit-__CPPUNIT___gcc-7.3.1
    2) moose/.mpich-__MPICH___gcc-7.3.1                   6) moose-dev-gcc
    3) moose/.petsc-__PETSC_DEFAULT___mpich-3.2_gcc-7.3.1-opt   7) miniconda
    4) moose/.tbb-2018_U3                           8) moose-tools

  • Macintosh:

    module list
    Currently Loaded Modulefiles:
    1) moose/.gcc-7.3.1                               6) moose/.cppunit-__CPPUNIT___clang-6.0.1
    2) moose/.clang-6.0.1                             7) moose-dev-clang
    3) moose/.mpich-__MPICH___clang-6.0.1                   8) miniconda
    4) moose/.petsc-__PETSC_DEFAULT___mpich-__MPICH___clang-6.0.1-opt   9) moose-tools
    5) moose/.tbb-2018_U3

If your terminal mirrors the above (version numbers may vary slightly), then you have a proper environment. Please return from whence you came, and continue troubleshooting.

note:Ughh! None of this is working!

If you find yourself looping through our troubleshooting guide, unable to solve your issue, there is still another attempt you can perform. Start over. But this time, perform the following before starting over:

env -i bash
export PATH=/usr/bin:/usr/sbin:/sbin
source /opt/moose/Modules/3.2.10/init/bash

These three commands will start a new command interpreter without any of your default environment. This is important because for most errors we end up solving, it was due to something in the users environment.

Do note, if this ends up solving your issue, then there is something in one of possibly many bash profiles getting in the way. At this point, you will want to reach out to our mailing list and ask for help tracking this down. Keep in mind, depending on the situation you may be asked to contact the administrators of the machine in which you are operating on (HPC clusters for example are beyound our control).


The modules contained in the moose-environment package are built in a hierarchal directory structure (some modules may not be visible until other modules are loaded).