Skip to content

Installation

This guide covers the installation and setup of VULCAN, a photochemical kinetics code for exoplanetary atmospheres.

Prerequisites

Before installing VULCAN, ensure you have the following:

  • Python 3.11 or higher (Python 3.12 and 3.13 are also supported)
  • C++ compiler (for compiling FastChem)
  • Git (for cloning the repository)
  • Basic build tools (make, cmake, etc.)
  • Julia (optional, for running self-consistent climate calculations)

Installation steps

0. Install Python

You must install Python. We recommend using conda forge.

1. Clone the VULCAN repository

git clone https://github.com/FormingWorlds/VULCAN.git
cd VULCAN

2. Install VULCAN and its dependencies

VULCAN requires Python packages specified in pyproject.toml. These will be installed automatically.

To install the VULCAN package, run the following command in your VULCAN/ folder.

pip install -U -e .

3. Compile FastChem

FastChem is an equilibrium chemistry code used to initialize compositions. It must be compiled before running VULCAN.

cd fastchem_vulcan
make
cd ..

The compilation process: - Compiles the FastChem source code in fastchem_src/ - Builds the model main executable - Links everything together - Creates the necessary executables in the obj/ folder

If compilation succeeds, you'll see:

compiling done.
linking done.
everything is done and fine. enjoy your day!

4. (Optional for RCE modelling) Install AGNI

If you plan on the coupling to the julia-based 1D radiative-convective model AGNI, julia needs to be installed.

To do this, run:

curl -fsSL https://install.julialang.org | sh

Pin Julia to version 1.11

Julia 1.12+ is not yet supported due to OpenSSL library incompatibilities with Python. After installing Julia, pin it to version 1.11:

juliaup add 1.11
juliaup default 1.11

Then, install AGNI following the instructions online.

Finally, create a symbolic link from your AGNI install folder to your VULCAN folder. Test this by running file AGNI/agni.jl inside your local VULCAN/ folder.

5. Verify installation

Test that everything is working by running the demo:

python run_vulcan.py

This will: - Generate chem_funs.py based on the default chemical network - Run the default model

If successful, you'll see output files in the output/ folder.

Testing

Install test dependencies and run the pytest suite:

pip install -e ".[develop]"
pytest