Skip to content

Enzo Quickstart

This chapter walks you through building Enzo from source and running one documented test problem to verify your environment.

  • Install Conda for your OS (Miniforge).
  • Create and activate an enzo-lab environment.
  • Build enzo.exe from enzo-dev.
  • Run a documented Enzo test problem.
  • Confirm outputs are generated without build/runtime mismatches.

Run PowerShell/Windows Terminal as Administrator:

Terminal window
wsl --install -d Ubuntu
wsl --set-default-version 2
wsl -l -v

If wsl --install only prints help text:

Terminal window
wsl --list --online
wsl --install -d Ubuntu

If installation stalls at 0.0%:

Terminal window
wsl --install --web-download -d Ubuntu

Reboot if needed, launch Ubuntu, then create your Linux username/password.

Terminal window
sudo apt update
sudo apt install -y curl bzip2
curl -L -o ~/miniforge.sh \
"https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-$(uname -m).sh"
bash ~/miniforge.sh -b -p "$HOME/miniforge3"
source "$HOME/miniforge3/etc/profile.d/conda.sh"
conda init bash
Terminal window
conda create -n enzo-lab -c conda-forge \
python=3.11 compilers make git \
openmpi mpi4py hdf5 zlib -y
conda activate enzo-lab
which python
which gfortran
which mpicc
echo "$CONDA_PREFIX"

Enzo requires POSIX + C/C++ + Fortran + HDF5, plus MPI for parallel runs. Some environments with newer HDF5 may require the -DH5_USE_16_API flag.

Terminal window
git clone https://github.com/enzo-project/enzo-dev.git
cd enzo-dev
./configure
Terminal window
cd src/enzo
ls Make.mach.*
make machine-<your-machine>
make show-config
make

If compilation succeeds, enzo.exe is created in src/enzo.

Terminal window
cp enzo.exe ../../run/Hydro/Hydro-3D/CollapseTestNonCosmological
cd ../../run/Hydro/Hydro-3D/CollapseTestNonCosmological
./enzo.exe -d CollapseTestNonCosmological.enzo

Depending on your system, you may need to launch via mpirun/mpiexec or a scheduler wrapper.

  • The run progresses and creates expected output directories/files.
  • No missing HDF5/MPI link errors remain.
  • make show-config output matches your intended precision and options.