Installation: optional modules¶
Install PROTEUS first
Please follow the quick installation guide or manual installation guide before installing optional modules.
SPIDER and PETSc¶
SPIDER is a C-based interior thermal evolution solver. It requires PETSc (a numerical computing library) and a C compiler. Most configurations use Aragog instead, which is written in Python/JAX and needs no additional compiled dependencies.
Warning
PETSc requires Python <= 3.12. Make sure your conda environment uses Python 3.12.
bash tools/get_petsc.sh
bash tools/get_spider.sh
The PETSc script downloads a pre-compiled version from OSF and configures
PETSC_DIR and PETSC_ARCH automatically.
Fedora / RHEL
If you encounter errors moving libraries, see Troubleshooting: PETSc on Fedora/RHEL.
The script detects Apple Silicon vs Intel and uses Homebrew's MPI. If you encounter issues, see Troubleshooting: PETSc on Apple Silicon.
Multi-phase tidal heating (LovePy)¶
LovePy computes tidal dissipation for multi-phase planetary interiors. It is written in Julia.
bash tools/get_lovepy.sh
Synthetic observations (PetitRADTRANS)¶
PetitRADTRANS generates synthetic transmission and secondary eclipse spectra.
bash tools/get_prt.sh
Note
PetitRADTRANS downloads around 2 GB of opacity data on first use.
Alternative outgassing (atmodeller)¶
atmodeller is an optional
alternative to CALLIOPE, selected with outgas.module = "atmodeller". It is
not installed with PROTEUS by default; a standard run uses CALLIOPE.
pip install "fwl-proteus[atmodeller]"
License
atmodeller is distributed under the GPL-3.0 license; review its terms before installing.
Rock vapours (LavAtmos + ThermoEngineLite)¶
LavAtmos computes the
thermodynamic vapourisation equilibrium of silicate melt, adding rock-vapour
species to the atmosphere. It is optional, selected with
outgas.vapourise = true, and is not installed with PROTEUS by default.
LavAtmos needs ThermoEngineLite
for melt thermodynamics and the FastChem chemistry solver already installed
alongside AGNI (FC_DIR; see Install AGNI and FastChem
if that variable is not set).
bash tools/get_thermoenginelite.sh
bash tools/get_lavatmos.sh
ThermoEngineLite build requirements
ThermoEngineLite compiles a C++/Python extension and requires clang and
pip on PATH. Compilation takes around 20 minutes.
get_lavatmos.sh clones the checkout but does not export an environment
variable for you. Export the printed path and add it to your shell rc file:
export LAVA_DIR='<path-to-LavAtmos>/'
See input/tutorials/tutorial_vapourise.toml for an example configuration.
Parameter inference (Bayesian optimisation)¶
proteus infer runs the Bayesian-optimisation scheme, which is built on
PyTorch, BoTorch and GPyTorch. Those three are a several-hundred-megabyte
install that nothing else in PROTEUS uses, so a forward model or a
proteus grid sweep does not need them:
pip install "fwl-proteus[inference]"
On Linux the default PyTorch wheel also pulls in the CUDA runtime packages. The scheme runs on CPU, so install PyTorch from its CPU index first if you do not want them:
pip install torch --index-url https://download.pytorch.org/whl/cpu
pip install "fwl-proteus[inference]"
Without the extra, proteus infer stops with a message naming the missing
package; every other command is unaffected. See the
inference guide for how to configure a run.
Atmospheric chemistry (VULCAN)¶
VULCAN is an optional atmospheric-photochemistry backend, selected with
atmos_chem.module = "vulcan". It is not required for a standard PROTEUS
run. Install it from PyPI:
pip install "fwl-proteus[vulcan]"
For local development, install as an editable checkout instead:
bash tools/get_vulcan.sh
License
VULCAN is distributed under the GPL-3.0 license; review its terms before installing.