Conda MOOSE Environment

Our preferred method for obtaining libraries necessary for MOOSE based Application development, is via Conda's myriad array of libraries. Follow these instructions to create an environment on your machine using Conda. At this time, an option to install MOOSE directly on a Windows system is not yet supported. On-going efforts are being made to add a conda installation option for Windows, and an experimental WSL option is available.

Minimum System Requirements

In general, the following is required for MOOSE-based development:

A Portable Operating System Interface (POSIX) compliant Unix-like operating system. This includes any modern Linux-based operating system (e.g., Ubuntu, Fedora, Rocky, etc.), or a Macintosh machine running either of the last two MacOS releases.

HardwareInformation
CPU Architecturex86_64, ARM (Apple Silicon)
Memory8 GB (16 GBs for debug compilation)
Disk Space30GB

LibrariesVersion / Information
GCC9.0.0 - 12.2.1
LLVM/Clang10.0.1 - 19
Intel (ICC/ICX)Not supported at this time
Python3.10 - 3.13
Python Packagespackaging pyaml jinja2

Prerequisites

Follow the steps below depending on your platform to install Miniforge. If you run into issues during these steps, please visit our Conda Troubleshooting guide.

  • Linux Users:

    
    curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
    bash Miniforge3-Linux-x86_64.sh -b -p ~/miniforge
    

  • Macintosh Users with Apple Silicon processors:

    
    curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
    bash Miniforge3-MacOSX-arm64.sh -b -p ~/miniforge
    
commentnote:Intel Macs nearing End of Life

Apple will cease support for all Intel based Macintosh machines in 2026, as will we at that time.

read: As our Continuous Integration Intel machines break, they are replaced with Apple Silicon. This will limit our ability to test new features for Intel compatibility.

Macintosh Users with Intel processors:


curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-x86_64.sh
bash Miniforge3-MacOSX-x86_64.sh -b -p ~/miniforge

With Miniforge installed in your home directory, export PATH so that it may be used:


export PATH=$HOME/miniforge/bin:$PATH

Now that we can execute conda, initialize it and then exit the terminal:


conda init --all
exit

Upon restarting your terminal, you should see your prompt prefixed with (base). This indicates you are in the base environment, and Conda is ready for operation:


$ (base) ~>

The next thing you should do after a fresh install, is perform an update to the base Conda environment:


conda update --all --yes

Add INL's public channel to gain access to INL's Conda package library:


conda config --add channels https://conda.software.inl.gov/public
warningwarning:Do not use sudo

If you find yourself using sudo commands while engaging Conda commands... something is not right. The most common reason for needing sudo is due to an improper Conda installation. Conda should be installed to your home directory, without any use of sudo.

Install MOOSE

Create a unique conda environment for MOOSE, named moose, and install the MOOSE dependency packages:

conda create -n moose moose-dev=2025.06.26=mpich

After the installation completes, activate the new environment:


conda activate moose

If you are running into errors, please see our troubleshooting guide for Conda.

commentnote

Know that you will need to conda activate moose for each terminal window you open, and each time you wish to perform MOOSE related work. If you wish to make this automatic, you can add that command to the end of your shell profile with the command below:


if [[ "$0" = *"bash" ]]; then
    echo "conda activate moose" >> ~/.bash_profile
elif [[ "$0" = "zsh" ]]; then
    echo "conda activate moose" >> ~/.zshrc
fi

Clone MASTODON

MASTODON is hosted on GitHub and should be cloned directly from there using git. We recommend creating the directory, ~/projects, to put all of your MASTODON related work.

MASTODON can be installed with or without BlackBear. BlackBear is a MOOSE-based structural material degradation simulation code and can be included in MASTODON as a submodule to run multi-physics simulations of degraded structures. Below are the instructions to install MASTODON with or without BlackBear.

To clone MASTODON without BlackBear, run the following commands in a terminal.


mkdir ~/projects
cd ~/projects
git clone https://github.com/idaholab/mastodon.git
cd mastodon
git checkout master
git submodule update --init moose

To clone MASTODON with BlackBear, run the following commands in a terminal.


mkdir ~/projects
cd ~/projects
git clone https://github.com/idaholab/mastodon.git
cd mastodon
git checkout master
git submodule update --init moose
git submodule update --init blackbear
cd blackbear
git submodule update --init contrib/neml

Compile and Test MASTODON

It is necessary to build PETSc and libMesh within the MOOSE repository before building any application:


cd ~/projects/moose/scripts
./update_and_rebuild_petsc.sh
./update_and_rebuild_libmesh.sh

On a multiprocessor machine, this process can optionally be done in parallel by setting the JOBS environment variable equal to the number of processors to be used. For example, to build using 8 processors, the libMesh build script can be run as follows:


JOBS=8 ./update_and_rebuild_libmesh.sh

MASTODON should now be ready to be compiled and tested before use. This step is the same with or without BlackBear.


conda activate moose
cd ~/projects/mastodon
make -j 4
./run_tests -j 4
commentnote

The number 4 should be replaced with the number of processors you have available on your system.

If the installation was successful you should see most of the tests passing (some tests will be skipped depending on your system environment).

You now have a working copy of MASTODON.

commentnote

If you are having problems with installation, one option is to start fresh. You can do this by cleaning up the directory running make clobberall and restarting the compilation process in this section.

Update MASTODON

MASTODON does not use traditional versioning, is under heavy development, and is being updated continuously. Therefore, it is critical that you continue to update MASTODON regularly to get the latest features. Following are the steps to update MASTODON.

First update the MOOSE environment:


conda activate moose
conda update --all

Then, update MASTODON using the following commands:


cd ~/projects/mastodon
git fetch origin
git rebase origin/master
git submodule update

Compile and test your fresh copy.


cd ~/projects/mastodon
make -j4
./run_tests -j4

Uninstall

If you wish to remove the moose environment at any time, you may do so using the following commands:


conda activate base
conda env remove -n moose