Enzo Quickstart
This chapter walks you through building Enzo from source and running one documented test problem to verify your environment.
Goal Checklist
Section titled “Goal Checklist”- Install Conda for your OS (Miniforge).
- Create and activate an
enzo-labenvironment. - Build
enzo.exefromenzo-dev. - Run a documented Enzo test problem.
- Confirm outputs are generated without build/runtime mismatches.
Installation
Section titled “Installation”1) Install Miniforge by OS
Section titled “1) Install Miniforge by OS”0) Install and verify WSL2 + Ubuntu
Section titled “0) Install and verify WSL2 + Ubuntu”Run PowerShell/Windows Terminal as Administrator:
wsl --install -d Ubuntuwsl --set-default-version 2wsl -l -vIf wsl --install only prints help text:
wsl --list --onlinewsl --install -d UbuntuIf installation stalls at 0.0%:
wsl --install --web-download -d UbuntuReboot if needed, launch Ubuntu, then create your Linux username/password.
1) Install Miniforge (inside Ubuntu)
Section titled “1) Install Miniforge (inside Ubuntu)”sudo apt updatesudo 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 bash0) Install Miniforge
Section titled “0) Install Miniforge”xcode-select --install
curl -L -o ~/miniforge.sh \ https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-$(uname -m).shbash ~/miniforge.sh -b -p "$HOME/miniforge3"
source "$HOME/miniforge3/etc/profile.d/conda.sh"conda init zshsudo apt updatesudo 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 bash2) Create enzo-lab
Section titled “2) Create enzo-lab”conda create -n enzo-lab -c conda-forge \ python=3.11 compilers make git \ openmpi mpi4py hdf5 zlib -y
conda activate enzo-labwhich pythonwhich gfortranwhich mpiccecho "$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.
3) Get source and initialize build system
Section titled “3) Get source and initialize build system”git clone https://github.com/enzo-project/enzo-dev.gitcd enzo-dev./configure4) Select machine config and build
Section titled “4) Select machine config and build”cd src/enzols Make.mach.*make machine-<your-machine>make show-configmakeIf compilation succeeds, enzo.exe is created in src/enzo.
5) Run a documented test problem
Section titled “5) Run a documented test problem”cp enzo.exe ../../run/Hydro/Hydro-3D/CollapseTestNonCosmologicalcd ../../run/Hydro/Hydro-3D/CollapseTestNonCosmological./enzo.exe -d CollapseTestNonCosmological.enzoDepending on your system, you may need to launch via mpirun/mpiexec or a scheduler wrapper.
6) Quick validation
Section titled “6) Quick validation”- The run progresses and creates expected output directories/files.
- No missing HDF5/MPI link errors remain.
make show-configoutput matches your intended precision and options.