Module map
Which implementation each module option routes to, per physics area. The
tables below are rendered from the source by tools/generate_module_map.py
and verified against the config validators and the wrapper dispatch code; a
machine-readable copy lives in module_map.json.
Module selection happens in each area's wrapper; invalid option values are
rejected when the config file loads. Secondary switches within an area are
listed below its table.
Atmosphere climate (atmos_clim.module)
| Option |
Entry point |
Role |
"agni" |
atmos_clim/agni.py:run_agni |
Radiative-convective solver (Julia) |
"dummy" |
atmos_clim/dummy.py:RunDummyAtm |
Grey-body placeholder |
"janus" |
atmos_clim/janus.py:RunJANUS |
Convective adiabat profile |
Atmospheric chemistry (atmos_chem.module)
| Option |
Entry point |
Role |
"dummy" |
atmos_chem/dummy.py:run_dummy_chem |
Rainout-only placeholder |
"vulcan" |
atmos_chem/vulcan.py:run_vulcan |
Kinetics network (VULCAN) |
none |
not applicable |
Chemistry disabled |
atmos_chem.when: runs the network 'online' during the loop, 'offline' afterwards, or 'manually' (atmos_chem/wrapper.py:run_chemistry).
Atmospheric escape (escape.module)
| Option |
Entry point |
Role |
"boreas" |
escape/boreas.py:run_boreas |
Hydrodynamic escape (BOREAS) |
"dummy" |
escape/wrapper.py:run_dummy |
Fixed bulk escape rate |
"zephyrus" |
escape/wrapper.py:run_zephyrus |
Energy-limited escape (ZEPHYRUS) |
none |
not applicable |
Escape disabled; rates zeroed |
Interior energetics (interior_energetics.module)
| Option |
Entry point |
Role |
"aragog" |
interior_energetics/aragog.py:AragogRunner |
T-P formalism (Python) |
"boundary" |
interior_energetics/boundary.py:BoundaryRunner |
Boundary-layer energy balance |
"dummy" |
interior_energetics/dummy.py:run_dummy_int |
Prescribed cooling |
"spider" |
interior_energetics/spider.py:RunSPIDER |
T-S formalism (C, PETSc) |
Interior structure (interior_struct.module)
| Option |
Entry point |
Role |
"dummy" |
interior_energetics/wrapper.py:determine_interior_radius_with_dummy |
Two-layer analytic structure (interior_struct/dummy.py) |
"spider" |
interior_energetics/wrapper.py:determine_interior_radius |
Radius root-find against the energetics module |
"zalmoxis" |
interior_energetics/wrapper.py:determine_interior_radius_with_zalmoxis |
Self-consistent EOS structure (interior_struct/zalmoxis.py) |
none |
not applicable |
Structure solve disabled |
Orbit and tides (orbit.module)
| Option |
Entry point |
Role |
"dummy" |
orbit/dummy.py:run_dummy_orbit |
Fixed Im(k2) tides |
"lovepy" |
orbit/lovepy.py:run_lovepy |
Multi-phase tidal heating (Julia) |
none |
not applicable |
Tides disabled; Im(k2) set to zero |
orbit.evolve = true: evolves semi-major axis and eccentricity each iteration (orbit/orbit.py:evolve_orbital).
orbit.satellite = true: evolves the satellite orbit instead of the planetary one (orbit/satellite.py:update_satellite).
Outgassing (outgas.module)
| Option |
Entry point |
Role |
"atmodeller" |
outgas/atmodeller.py:calc_surface_pressures_atmodeller |
Equilibrium chemistry (atmodeller) |
"calliope" |
outgas/calliope.py:calc_surface_pressures |
fO2-buffered equilibrium (CALLIOPE) |
"dummy" |
outgas/dummy.py:calc_surface_pressures_dummy |
Prescribed pressures |
outgas.vapourise = true: adds rock-vapour equilibrium (LavAtmos) after the outgassing solve (outgas/lavatmos.py:run_vapourisation).
outgas.h2_binodal = true: applies the H2-silicate binodal miscibility limit (outgas/binodal.py:apply_binodal_h2).
Star (star.module)
| Option |
Entry point |
Role |
"dummy" |
star/dummy.py:generate_spectrum |
Black-body star |
"mors" |
star/wrapper.py:init_star |
Stellar evolution via the mors package |
none |
not applicable |
No stellar evolution |
star.mors.tracks: selects the Spada or Baraffe evolution tracks within MORS (star/wrapper.py:get_new_spectrum).
Observations (observe.module)
| Option |
Entry point |
Role |
"petitRADTRANS" |
observe/petitRADTRANS.py:transit_depth |
Synthetic transit and eclipse spectra |
none |
not applicable |
Observational synthesis disabled |