Planet and volatiles¶
The [planet] section defines the bulk planet properties, initial temperature
profile, and volatile inventory. These parameters set the initial conditions
for the coupled evolution.
Bulk properties¶
| Parameter | Type | Default | Description |
|---|---|---|---|
mass_tot |
float | 1.0 |
Total initial planet mass [M\(_\oplus\)] |
prevent_warming |
bool | false |
Require monotonic cooling (clamp \(T_\mathrm{magma}\) to previous value if it increases) |
R_int_override |
float or none | none |
Advanced: bypass the radius root finder and force a fixed interior radius [m]; none uses the root finder. Used for SPIDER/Aragog parity runs |
Initial temperature profile¶
The temperature_mode parameter selects how the initial temperature
distribution is constructed. Different modes anchor the profile at different
reference points.
| Parameter | Type | Default | Description |
|---|---|---|---|
temperature_mode |
str | "liquidus_super" |
See modes table below |
tsurf_init |
float | 4000 |
Surface temperature [K] (isothermal, linear, adiabatic modes) |
tcmb_init |
float | 6000 |
Core-mantle boundary temperature [K] (adiabatic_from_cmb mode) |
tcenter_init |
float | 6000 |
Center temperature [K] (linear mode only) |
delta_T_super |
float | 500 |
Minimum superheat above the liquidus [K] (liquidus_super mode) |
ini_entropy |
float | 3900 |
Initial specific entropy [J/kg/K] (isentropic mode) |
ini_dsdr |
float | -4.698e-6 |
Initial entropy gradient [J/kg/K/m] (isentropic mode) |
f_accretion |
float | 0.04 |
Accretion heat retention fraction [0, 1] (accretion mode) |
f_differentiation |
float | 0.50 |
Differentiation heat retention fraction [0, 1] (accretion mode) |
Temperature modes¶
| Mode | Key parameter(s) | Description |
|---|---|---|
isothermal |
tsurf_init |
Uniform temperature throughout mantle |
linear |
tsurf_init, tcenter_init |
Linear gradient from center to surface |
adiabatic |
tsurf_init |
Adiabat anchored at the surface, integrated downward |
adiabatic_from_cmb |
tcmb_init |
Adiabat anchored at the CMB at a fixed temperature, integrated upward |
liquidus_super |
delta_T_super |
Solves for the coolest fully molten adiabat with at least \(\Delta T_\mathrm{super}\) of superheat above the configured liquidus (default: Fei et al. 20211 MgSiO\(_3\)) at its most-constraining depth. Mass-robust and independent of the liquidus parameterisation; raises if the superheat cannot be reached within the EOS table. \(\Delta T_\mathrm{super} = 0\) makes the mantle marginally molten. |
accretion |
f_accretion, f_differentiation |
Temperature from gravitational accretion and core-mantle differentiation energy retention (White and Li, 2025) |
isentropic |
ini_entropy, ini_dsdr |
Entropy-based IC; the interior solver maps \(S \to T(P)\) via its EOS table |
Redox state¶
| Parameter | Type | Default | Description |
|---|---|---|---|
fO2_source |
str | "user_constant" |
How fO\(_2\) is determined: user_constant (buffered to outgas.fO2_shift_IW), from_O_budget (derived from O mass balance) |
When fO2_source = "user_constant", the atmospheric fO\(_2\) is buffered at the
iron-wustite offset set by outgas.fO2_shift_IW. When fO2_source = "from_O_budget",
the O budget from planet.elements.O_mode/O_budget is authoritative and the
chemistry solver derives the fO\(_2\) that produces the supplied O inventory.
A third value, from_mantle_redox, is reserved for a future release and is
rejected at config-load until that work lands.
Volatile inventory¶
| Parameter | Type | Default | Description |
|---|---|---|---|
volatile_mode |
str | "elements" |
How to set the volatile inventory: elements (by elemental budgets) or gas_prs (by surface partial pressures) |
volatile_reservoir |
str | "mantle" |
Reference mass for ppmw calculations: mantle or mantle+core |
Element abundances [planet.elements]¶
Used when volatile_mode = "elements". Each element has a mode (defining
the unit) and a budget (the value in that unit).
| Parameter | Type | Default | Description |
|---|---|---|---|
O_mode |
str | "ic_chemistry" |
ic_chemistry (defer to CALLIOPE equilibrium), ppmw, kg, FeO_mantle_wt_pct |
O_budget |
float | 0.0 |
Oxygen inventory (ignored for ic_chemistry mode) |
H_mode |
str | "oceans" |
oceans (Earth ocean equivalents), ppmw, kg |
H_budget |
float | 0.0 |
Hydrogen inventory |
C_mode |
str | "C/H" |
C/H (mass ratio to H), ppmw, kg |
C_budget |
float | 0.0 |
Carbon inventory |
N_mode |
str | "N/H" |
N/H (mass ratio to H), ppmw, kg |
N_budget |
float | 0.0 |
Nitrogen inventory |
S_mode |
str | "S/H" |
S/H (mass ratio to H), ppmw, kg |
S_budget |
float | 0.0 |
Sulfur inventory |
use_metallicity |
bool | false |
Scale C/N/S from solar metallicity (overrides C/N/S mode+budget) |
metallicity |
float | 1000 |
Metallicity relative to solar, by mass |
Note
The Python defaults for volatile budgets are zero. The values in
all_options.toml (e.g., H_budget = 1.0) show recommended starting
points for a typical rocky planet.
Noble gases¶
The noble gases He, Ne, Ar, Kr, and Xe are opt-in. A noble gas contributes
only when its inclusion flag in [outgas.calliope] (include_He, ...) is
true and its budget below is positive; a run with no noble budget is
unchanged. Each noble gas is partitioned between the magma ocean and the
atmosphere by a Henry's-law solubility and tracked in the whole-planet mass
balance.
| Field | Type | Default | Description |
|---|---|---|---|
He_mode |
str | "kg" |
kg, ppmw (relative to the volatile reservoir), or solar |
He_budget |
float | 0.0 |
Helium inventory (units depend on the mode) |
Ne_mode, Ar_mode, Kr_mode, Xe_mode |
str | "kg" |
As He_mode |
Ne_budget, Ar_budget, Kr_budget, Xe_budget |
float | 0.0 |
As He_budget |
In solar mode the budget is a multiple of the protosolar X/H mass ratio, so
the inventory is budget * (X/H)_solar * H_kg; a value of 1.0 gives a
protosolar noble gas complement.
Warning
The solar mode is an upper-bound reference, not a realistic default.
Planetary bodies are depleted in noble gases by orders of magnitude
relative to solar, so realistic budgets use solar with a value far below
one, or set the inventory directly in kg or ppmw.
Partial pressures [planet.gas_prs]¶
Used when volatile_mode = "gas_prs". Sets the initial atmosphere directly
by surface partial pressure for each gas species.
| Parameter | Type | Default | Description |
|---|---|---|---|
H2O |
float | 0.0 |
[bar] |
CO2 |
float | 0.0 |
[bar] |
N2 |
float | 0.0 |
[bar] |
S2 |
float | 0.0 |
[bar] |
SO2 |
float | 0.0 |
[bar] |
H2S |
float | 0.0 |
[bar] |
NH3 |
float | 0.0 |
[bar] |
H2 |
float | 0.0 |
[bar] |
CH4 |
float | 0.0 |
[bar] |
CO |
float | 0.0 |
[bar] |
See also: Model description | Earth analogue tutorial
-
Fei, Y., Seagle, C.T., Townsend, J.P., et al., Melting and density of MgSiO3 determined by shock compression of bridgmanite to 1254 GPa, Nature Communications, 12, 876, 2021. SciX. ↩