Skip to content

Configuration file

PROTEUS uses TOML to structure its configuration files.

All of the parameters required to run the model are listed below with short explanations of their purpose and the values they accept. Configuration files can contain blank lines. Comments are indicated with a # symbol. Whitespace indentation is purely stylistic.

Many of the parameters have default values, meaning that you do not have to provide them in the file. Some parameters are conditionally required. For example, if you use the mors stellar evolution module (i.e. star.module == 'mors'), then you are required to also set the variable star.mors.age_now. However, if you instead decided to use the dummy stellar evolution module then the age_now parameter is not required.

See the default.toml configuration for a comprehensive example of all possible parameters.

Examples

Have a look at the input configs for ideas of how to set up your config in practice.

Developers: adding a new parameter

So, you are developing a new model and want to add some parameters? Follow these steps:

  1. Decide on a good parameter name (e.g. my_star_var), and under which section to place it (e.g. star). Add the new variable to the config submodule.
  2. Add the type for your variable, e.g. float, int, str. You can also add complex types, please check the code for inspiration.
  3. Add a validator! If your variable has a maximum value (e.g. 10), you can add a validator to make sure that any values above 10 are rejected: my_star_var: float = field(validator=attrs.validators.le(10))
  4. Add a description for your new variable under Attributes in the docstring. The documentation uses the description to generate this documentation.
  5. Update the example input configs. Proteus checks tests all input configs in this directory are valid.
  6. Use your parameter in your code, i.e.: config.star.my_star_var
src/proteus/config/_star.py
class Star:
    """Stellar parameters.

    Attributes
    ----------
    my_star_var: float
        Star variable, must be 10 or lower!
    """
    my_star_var: float = field(validator=attrs.validators.le(10))

Proteus uses attrs for its parameter handling. Please see the examples for more information how to work with attrs.

Root parameters

Config

Root config parameters.

Attributes:

  • version (str) –

    Version of the configuration file.

  • params (Params) –

    Parameters for code execution, output files, time-stepping, convergence.

  • star (Star) –

    Stellar parameters, model selection.

  • orbit (Orbit) –

    Orbital and star-system parameters.

  • struct (Struct) –

    Planetary structure calculation (mass, radius).

  • atmos_clim (AtmosClim) –

    Planetary atmosphere climate parameters, model selection.

  • atmos_chem (AtmosChem) –

    Planetary atmosphere chemistry parameters, model selection.

  • escape (Escape) –

    Atmospheric escape parameters, model selection.

  • interior (Interior) –

    Magma ocean / mantle model parameters, model selection.

  • outgas (Outgas) –

    Outgassing parameters (fO2, etc) and included volatiles.

  • delivery (Delivery) –

    Initial volatile inventory, and delivery model selection.

  • observe (Observe) –

    Synthetic observations.

write(out)

Write configuration to a new TOML file.

Source code in src/proteus/config/_config.py
106
107
108
109
110
111
112
113
114
115
116
117
118
119
def write(self, out:str):
    """
    Write configuration to a new TOML file.
    """

    # Convert to dictionary
    cfg = dict(asdict(self))

    # Replace None with "none"
    cfg = dict_replace_none(cfg)

    # Write to TOML file
    with open(out,'w') as hdl:
        tomlkit.dump(cfg, hdl)

General parameters

This module describes the parameters for the data location, data output, and logging. It also defines stopping criteria.

OutputParams

Parameters for output files and logging

Attributes:

  • path (str) –

    Path to output folder relative to PROTEUS/output/.

  • logging (str) –

    Log verbosity. Choices: 'INFO', 'DEBUG', 'ERROR', 'WARNING'.

  • plot_fmt (str) –

    Plotting output file format. Choices: "png", "pdf".

  • write_mod (int) –

    Write CSV frequency. 0: wait until completion. n: every n iterations.

  • plot_mod (int | None) –

    Plotting frequency. 0: wait until completion. n: every n iterations. None: never plot.

  • archive_mod (int | None) –

    Archive frequency. 0: wait until completion. n: every n iterations. None: never archive.

  • remove_sf (bool) –

    Remove SOCRATES spectral files after model terminates.

DtProportional

Parameters used to configure the proportional time-stepping scheme.

Attributes:

  • propconst (float) –

    Proportionality constant.

DtAdaptive

Parameters used to configure the adaptive time-stepping scheme.

Attributes:

  • atol (float) –

    Absolute tolerance on time-step size [yr].

  • rtol (float) –

    Relative tolerance on time-step size [dimensionless].

TimeStepParams

Parameters for time-stepping parameters

Attributes:

  • minimum (float) –

    Minimum absolute time-step size [yr].

  • minimum_rel (float) –

    Minimum relative time-step size [dimensionless].

  • maximum (float) –

    Maximum time-step size [yr].

  • initial (float) –

    Initial time-step size [yr].

  • starspec (float) –

    Maximum interval at which to recalculate the stellar spectrum [yr].

  • starinst (float) –

    Maximum interval at which to recalculate instellation flux [yr].

  • method (str) –

    Time-stepping method. Choices: 'proportional', 'adaptive', 'maximum'.

  • proportional (DtProportional) –

    Parameters used to configure the proportional time-stepping scheme.

  • adaptive (DtAdaptive) –

    Parameters used to configure the adaptive time-stepping scheme.

StopIters

Parameters for iteration number criteria.

Attributes:

  • enabled (bool) –

    Enable criteria if True

  • minimum (int) –

    Minimum number of iterations.

  • maximum (int) –

    Maximum number of iterations.

StopTime

Parameters for maximum time criteria.

Attributes:

  • enabled (bool) –

    Enable criteria if True

  • minimum (float) –

    Model will absolutely not terminate until at least this time is reached [yr].

  • maximum (float) –

    Model will terminate when this time is reached [yr].

StopSolid

Parameters for solidification criteria.

Attributes:

  • enabled (bool) –

    Enable criteria if True.

  • phi_crit (float) –

    Model will terminate when global melt fraction is less than this value [dimensionless].

StopRadeqm

Parameters for radiative equilibrium stopping criteria.

Attributes:

  • enabled (bool) –

    Enable criteria if True

  • atol (float) –

    Absolute tolerance on energy balance [W m-2].

  • rtol (float) –

    Relative tolerance on energy balance.

StopEscape

Parameters for escape stopping criteria.

Attributes:

  • enabled (bool) –

    Enable criteria if True

  • p_stop (float) –

    Model will terminate when surface pressure is less than this value [bar].

StopDisint

Parameters for planet disintegration stopping criteria.

Attributes:

  • enabled (bool) –

    Enable all planet disintegration criteria if True

  • roche_enabled (bool) –

    Disable Roche limit criterion

  • offset_roche (float) –

    Absolute correction (+/-) to (increase/decrease) calculated Roche limit [m].

  • spin_enabled (bool) –

    Disable Breakup period criterion

  • offset_spin (float) –

    Absolute correction (+/-) to (increase/decrease) calculated Breakup period [s].

StopParams

Parameters for termination criteria.

Attributes:

  • strict (bool) –

    Require termination criteria to be satisfied twice before the model exits.

  • iters (StopIters) –

    Parameters for iteration number criteria.

  • time (StopTime) –

    Parameters for maximum time criteria.

  • solid (StopSolid) –

    Parameters for solidification criteria.

  • radeqm (StopRadeqm) –

    Parameters for radiative equilibrium criteria.

  • escape (StopEscape) –

    Parameters for escape criteria.

  • disint (StopDisint) –

    Parameters for planet disintegration criteria.

Params

Parameters for code execution, output files, time-stepping, convergence.

Attributes:

  • out (OutputParams) –

    Parameters for data / logging output.

  • dt (TimeStepParams) –

    Parameters for time-stepping.

  • stop (StopParams) –

    Parameters for stopping criteria.

Stellar evolution

Mors

Module parameters for MORS module.

Attributes:

  • rot_pcntle (float) –

    Rotation, as percentile of stellar population.

  • rot_period (float) –

    Rotation rate [days].

  • tracks (str) –

    Stellar evolution track to be used. Choices: 'spada', 'baraffe'.

  • age_now (float) –

    Observed estimated age of the star [Gyr].

  • star_name (str) –

    Name of the star, to find appropriate stellar spectrum. See documentation.

  • star_path (str) –

    Path to custom stellar spectra. If 'none', star_name will be used to find spectra in default locations.

  • spectrum_source (str) –

    Source of stellar spectra. Choices: 'solar', 'muscles', 'phoenix', 'none'.

  • phoenix_FeH (float) –

    Stellar metallicity [Fe/H] to be used for PHOENIX synthetic spectra, if spectrum_source is 'phoenix'.

  • phoenix_alpha (float) –

    Alpha-element enhancement [alpha/Fe] to be used for PHOENIX synthetic spectra, if spectrum_source is 'phoenix'.

  • phoenix_radius (float) –

    Stellar radius [R_sun]. If 'none', radius will be calculated using mors' stellar tracks, if spectrum_source is 'phoenix'.

  • phoenix_log_g (float) –

    Surface gravity [cgs]. If 'none', log g will be calculated will be calculated using mors' stellar tracks, if spectrum_source is 'phoenix'.

  • phoenix_Teff (float) –

    Effective temperature [K]. If 'none', Teff will be calculated will be calculated using mors' stellar tracks, if spectrum_source is 'phoenix'.

StarDummy

Dummy star module.

Attributes:

  • radius (float) –

    Observed radius [R_sun].

  • calculate_radius (bool) –

    Calculate the radius using empirical mass-luminosity and mass-radius relation

  • Teff (float) –

    Observed effective temperature [K].

Star

Stellar parameters, model selection.

You can find useful reference data in the documentation.

Attributes:

  • bol_scale (float) –

    Scale factor to increase the luminosity.

  • mass (float) –

    Stellar mass [M_sun]. Note that for Mors, it should be between 0.1 and 1.25 solar masses. Values outside of the valid range will be clipped.

  • age_ini (float) –

    Age of system at model initialisation [Gyr].

  • module (str | None) –

    Select star module to use.

  • mors (Mors) –

    Parameters for MORS module.

  • dummy (StarDummy) –

    Parameters for the dummy star module

Orbital evolution and tides

OrbitDummy

Dummy orbit/tidal heating module.

Uses a fixed tidal heating power density and love number.

Attributes:

  • H_tide (float) –

    Fixed global heating rate from tides [W kg-1].

  • Phi_tide (str) –

    Inequality which, if locally true, determines in which regions tides are applied.

  • Imk2 (float) –

    Imaginary part of k2 Love number, which is usually negative.

Lovepy

Lovepy tides module.

Attributes:

  • visc_thresh (float) –

    Minimum viscosity required for heating [Pa s].

  • ncalc (int) –

    Number of interpoltaed interior levels to use for solving tidal heating rates.

Orbit

Planetary and satellite orbital parameters.

Includes initial conditions, and options for enabling dynamical evolution.

Attributes:

  • semimajoraxis (float) –

    Initial semi-major axis of the planet's orbit [AU].

  • eccentricity (float) –

    Initial Eccentricity of the planet's orbit.

  • instellation_method (str) –

    Whether to use the semi-major axis ('sma') or instellation flux ('inst') to define the planet's initial orbit

  • instellationflux (float) –

    Instellation flux initially received by the planet in Earth units.

  • zenith_angle (float) –

    Characteristic angle of incoming stellar radiation, relative to the zenith [deg].

  • s0_factor (float) –

    Scale factor applies to incoming stellar radiation to represent planetary rotation.

  • evolve (bool) –

    Allow the planet's orbit to evolve based on eccentricity tides?

  • axial_period (float | None) –

    Planet initial day length [hours], will use orbital period if value is None.

  • satellite (bool) –

    Model a satellite (moon) orbiting the planet and solve for its orbit?

  • semimajoraxis_sat (float) –

    Satellit initial semi-major axis [m]

  • module (str | None) –

    Select orbit module to use. Choices: 'none', 'dummy', 'lovepy'.

Interior structure

Zalmoxis

Parameters for Zalmoxis module.

Attributes:

  • EOSchoice (str) –

    EOS choice of Zalmoxis. Choices: "Tabulated:iron/silicate", "Tabulated:water".

  • coremassfrac (float) –

    Fraction of the planet's interior mass corresponding to the core.

  • mantle_mass_fraction (float) –

    Fraction of the planet's interior mass corresponding to the mantle (needed for modeling more than 2 layers).

  • weight_iron_frac (float) –

    Fraction of the planet's mass that is iron.

  • num_levels (int) –

    Number of Zalmoxis radius layers.

  • max_iterations_outer (int) –

    Maximum number of iterations for the outer loop.

  • tolerance_outer (float) –

    Convergence tolerance for the outer loop [kg].

  • max_iterations_inner (int) –

    Maximum number of iterations for the inner loop.

  • tolerance_inner (float) –

    Convergence tolerance for the inner loop [kg/m^3].

  • relative_tolerance (float) –

    Relative tolerance for solve_ivp.

  • absolute_tolerance (float) –

    Absolute tolerance for solve_ivp.

  • target_surface_pressure (float) –

    Target surface pressure for the pressure adjustment [Pa].

  • pressure_tolerance (float) –

    Convergence tolerance for the pressure adjustment [Pa].

  • max_iterations_pressure (int) –

    Maximum number of iterations for the pressure adjustment.

  • pressure_adjustment_factor (float) –

    Reduction factor for adjusting the pressure in the pressure adjustment.

Struct

Planetary structure (mass, radius).

Attributes:

  • corefrac (float) –

    Fraction of the planet's interior radius corresponding to the core.

  • module (str) –

    Module for solving the planet's interior structure. Choices: 'self', 'zalmoxis'.

  • zalmoxis (Zalmoxis or None) –

    Zalmoxis parameters if module is 'zalmoxis'.

  • mass_tot (float) –

    Total mass of the planet [M_earth]

  • radius_int (float) –

    Radius of the atmosphere-mantle boundary [R_earth]

  • core_density (float) –

    Density of the planet's core [kg m-3]

  • core_heatcap (float) –

    Specific heat capacity of the planet's core [J kg-1 K-1]

  • module (str) –

    Module for solving the planet's interior structure. Choices: 'self', 'zalmoxis'.

set_by property

How is the structure set?

Magma ocean and planetary interior

Spider

Parameters for SPIDER module.

Attributes:

  • num_levels (int) –

    Number of SPIDER grid levels.

  • mixing_length (int) –

    Parameterisation used to determine convective mixing length.

  • tolerance (float) –

    Absolute solver tolerance.

  • tolerance_rel (float) –

    Relative solver tolerance.

  • tsurf_atol (float) –

    Absolute tolerance on change in T_mantle during a single interior iteration.

  • tsurf_rtol (float) –

    Relative tolerance on change in T_mantle during a single interior iteration.

  • ini_entropy (float) –

    Initial specific surface entropy [J K-1 kg-1].

  • ini_dsdr (float) –

    Initial interior specific entropy gradient [J K-1 kg-1 m-1].

  • solver_type (str) –

    Numerical integrator. Choices: 'adams', 'bdf'.

  • conduction (bool) –

    Whether to include conductive heat flux in the model.

  • convection (bool) –

    Whether to include convective heat flux in the model.

  • gravitational_separation (bool) –

    Whether to include gravitational separation flux in the model.

  • mixing (bool) –

    Whether to include mixing flux in the model.

  • matprop_smooth_width (float) –

    Window width, in melt-fraction, for smoothing properties across liquidus and solidus

Aragog

Parameters for Aragog module.

Attributes:

  • logging (str) –

    Log verbosity of Aragog. Choices: 'INFO', 'DEBUG', 'ERROR', 'WARNING'.

  • num_levels (int) –

    Number of Aragog grid levels (basic mesh).

  • initial_condition (int) –

    How to define the intial temperature profile (1: linear, 2: user defined, 3: adiabat)

  • tolerance (float) –

    Solver tolerance.

  • ini_tmagma (float) –

    Initial magma surface temperature [K].

  • basal_temperature (float) –

    Temperature at the base of the mantle (if using a linear temperature profile to start)

  • init_file (str) –

    File containing the initial temperature file for aragog

  • inner_boundary_condition (int) –

    Type of inner boundary condition. Choices: 1 (core cooling), 2 (prescribed heat flux), 3 (prescribed temperature).

  • inner_boundary_value (float) –

    Value of the inner boundary condition, either temperature or heat flux, depending on the chosen condition.

  • conduction (bool) –

    Whether to include conductive heat flux in the model. Default is True.

  • convection (bool) –

    Whether to include convective heat flux in the model. Default is True.

  • gravitational_separation (bool) –

    Whether to include gravitational separation flux in the model. Default is False.

  • mixing (bool) –

    Whether to include mixing flux in the model. Default is False.

  • dilatation (bool) –

    Whether to include dilatation source term in the model. Default is False.

  • mass_coordinates (bool) –

    Whether to use mass coordinates in the model. Default is False.

  • tsurf_poststep_change (float) –

    Maximum change in surface temperature allowed during a single interior iteration [K].

  • event_triggering (bool) –

    Whether to include event triggering in the solver. Default is True.

  • bulk_modulus (float) –

    Adiabatic bulk modulus AW-EOS parameter [Pa].

InteriorDummy

Parameters for Dummy interior module.

Attributes:

  • ini_tmagma (float) –

    Initial magma surface temperature [K].

  • tmagma_atol (float) –

    Max absolute change in surface temperature [K] during a single iteration.

  • tmagma_rtol (float) –

    Max relative change in surface temperature [K] during a single iteration.

  • mantle_rho (float) –

    Mantle mass density [kg m-3].

  • mantle_cp (float) –

    Mantle specific heat capacity [J kg-1 K-1]

  • mantle_tliq (float) –

    Mantle liquidus temperature [K]

  • mantle_tsol (float) –

    Mantle solidus temperature [K]

  • H_radio (float) –

    Constant radiogenic heating rate [W kg-1]

Interior

Magma ocean model selection and parameters.

Attributes:

  • grain_size (float) –

    Crystal settling grain size [m].

  • F_initial (float) –

    Initial heat flux guess [W m-2].

  • radiogenic_heat (bool) –

    Include radiogenic heat production?

  • tidal_heat (bool) –

    Include tidal heating?

  • rheo_phi_loc (float) –

    Centre of rheological transition in terms of melt fraction

  • rheo_phi_wid (float) –

    Width of rheological transition in terms of melt fraction

  • module (str) –

    Module for simulating the magma ocean. Choices: 'spider', 'aragog', 'dummy'.

  • spider (Spider) –

    Parameters for running the SPIDER module.

  • aragog (Aragog) –

    Parameters for running the aragog module.

  • dummy (Dummy) –

    Parameters for running the dummy module.

  • melting_dir (str) –

    Set of melting curves to use in the model.

  • lookup_dir (str) –

    Set of lookup data files to use in the model (e.g. equations of state).

Atmosphere climate

Agni

AGNI atmosphere module.

Attributes:

  • verbosity (int) –

    Logging and output verbosity for agni (0:none, 1:info, 2:debug)

  • p_top (float) –

    Top of atmosphere grid pressure [bar].

  • p_obs (float) –

    Pressure level probed by observations [bar]

  • spectral_group (str) –

    Spectral file codename defining the gas opacities to be included. See documentation.

  • spectral_bands (str) –

    Number of wavenumer bands in k-table. See documentation.

  • surf_material (str) –

    File name for material used to set surface single-scattering properties, relative to FWL data directory. Set to 'greybody' to use surf_greyalbedo. See documentation for potential options.

  • num_levels (str) –

    Number of atmospheric grid levels.

  • chemistry (str | None) –

    Treatment of self-consistent atmospheric chemsitry. Choices: "none", "eq".

  • solve_energy (bool) –

    Solve for an energy-conserving atmosphere solution.

  • solution_atol (float) –

    Absolute tolerance on the atmosphere solution.

  • solution_rtol (float) –

    Relative tolerance on the atmosphere solution.

  • overlap_method (str) –

    Gas overlap method. Choices: random overlap ("ro"), RO with resorting+rebinning ("rorr"), equivalent extinction ("ee").

  • surf_roughness (float) –

    Characteristic surface roughness scale [metres].

  • surf_windspeed (float) –

    Characteristic surface wind speed [m/s].

  • phs_timescale (float) –

    Characteristic timescale of phase changes [seconds].

  • evap_efficiency (bool) –

    Efficiency of raindrop re-evaporation (0 to 1).

  • rainout (bool) –

    Enable volatile condensation and evaporation in the atmosphere.

  • oceans (bool) –

    Enable volatile ocean formation at the surface.

  • latent_heat (bool) –

    Account for latent heat from condense/evap when solving temperature profile. Requires condensation=true.

  • convection (bool) –

    Account for convective heat transport, using MLT.

  • conduction (bool) –

    Account for conductive heat transport, using Fourier's law.

  • sens_heat (bool) –

    Include sensible heat flux at surface

  • real_gas (bool) –

    Use real gas equations of state in atmosphere, where possible.

  • psurf_thresh (float) –

    Use the transparent-atmosphere solver when P_surf is less than this value [bar].

  • dx_max (float) –

    Nominal maximum step size to T(p) during the solver process, although this is dynamic.

  • dx_max_ini (float) –

    Initial maximum step size to T(p) when AGNI is called in the first few PROTEUS loops.

  • max_steps (int) –

    Maximum number of iterations before giving up.

  • perturb_all (bool) –

    Recalculate entire jacobian matrix at every iteration?

  • mlt_criterion (str) –

    Convection criterion. Options: (l)edoux, (s)chwarzschild.

  • fastchem_floor (float) –

    Minimum temperature allowed to be sent to FC

  • fastchem_maxiter_chem (int) –

    Maximum FC iterations (chemistry)

  • fastchem_maxiter_solv (int) –

    Maximum FC iterations (internal solver)

  • fastchem_xtol_chem (float) –

    FC solver tolerance (chemistry)

  • fastchem_xtol_elem (float) –

    FC solver tolerance (elemental)

  • ini_profile (str) –

    Shape of initial T(p) guess: 'loglinear', 'isothermal', 'dry_adiabat', 'analytic'.

  • ls_default (int) –

    Default linesearch method. 0: disabled, 1: goldensection, 2: backtracking.

Janus

JANUS atmosphere module.

Attributes:

  • p_top (float) –

    Top of atmosphere grid pressure [bar].

  • p_obs (float) –

    Pressure level probed by observations [bar]

  • spectral_group (str) –

    Spectral file codename defining the gas opacities to be included. See documentation.

  • spectral_bands (str) –

    Number of wavenumer bands in k-table. See documentation.

  • F_atm_bc (int) –

    Measure outgoing flux using value at TOA (0) or surface (1).

  • num_levels (int) –

    Number of atmospheric grid levels.

  • tropopause (str | None) –

    Scheme for determining tropopause location. Choices: "none", "skin", "dynamic".

  • overlap_method (str) –

    Gas overlap method. Choices: random overlap ("ro"), RO with resorting+rebinning ("rorr"), equivalent extinction ("ee").

Dummy

Dummy atmosphere module.

A parametrised model of the atmosphere designed for debugging. The greenhouse effect is captured by gamma which produces a transparent atmosphere when 0, and a completely opaque atmosphere when 1. The height of the atmosphere equals the scale height times the height_factor variable.

Attributes:

  • gamma (float) –

    Atmosphere opacity factor between 0 and 1.

  • height_factor (float) –

    A multiplying factor applied to the ideal-gas scale height.

AtmosClim

Atmosphere parameters, model selection.

Attributes:

  • prevent_warming (bool) –

    When True, require the planet to monotonically cool over time.

  • surface_d (float) –

    Conductive skin thickness [m],

  • surface_k (float) –

    Conductive skin thermal conductivity [W m-1 K-1].

  • cloud_enabled (bool) –

    Enable water cloud radiative effects.

  • cloud_alpha (float) –

    Condensate retention fraction (0 => full rainout, 1 => fully retained).

  • surf_state (str) –

    Surface energy balance scheme. Choices: "mixed_layer", "fixed", "skin".

  • surf_greyalbedo (float) –

    Grey surface albedo.

  • albedo_pl (float | str) –

    Planetary bond albedo used to emulate scattering. Can be float (0 to 1) or str (path to CSV file containing lookup data).

  • rayleigh (bool) –

    Include Rayleigh scattering in the radiative transfer calculations.

  • tmp_minimum (float) –

    Minimum temperature throughout the atmosphere [K].

  • tmp_maximum (float) –

    Maximum temperature throughout the atmosphere [K].

  • module (str) –

    Which atmosphere module to use.

  • agni (Agni) –

    Config parameters for AGNI atmosphere module

  • janus (Janus) –

    Config parameters for JANUS atmosphere module

  • dummy (Dummy) –

    Config parameters for dummy atmosphere module

surf_state_int property

Return integer surface boundary condition for agni.

albedo_from_file property

Is albedo set by lookup table or not?

Atmospheric escape

Zephyrus

Parameters for Zephyrus module.

Attributes:

  • Pxuv (float) –

    Pressure at which XUV radiation become opaque in the planetary atmosphere [bar]

  • efficiency (float) –

    Escape efficiency factor

  • tidal (bool) –

    Tidal contribution enabled

EscapeDummy

Dummy module.

Attributes:

  • rate (float) –

    Bulk unfractionated escape rate [kg s-1]

Escape

Escape parameters, model selection.

Attributes:

  • reservoir (str) –

    Element reservoir representing the escaping composition. Choices: bulk, outgas, pxuv

  • module (str | None) –

    Escape module to use. Choices: "none", "dummy", "zephyrus".

  • zephyrus (Zephyrus) –

    Parameters for zephyrus module.

  • dummy (EscapeDummy) –

    Parameters for dummy escape module.

Atmospheric chemistry

Vulcan

VULCAN chemistry module.

Attributes:

  • clip_fl (float) –

    Stellar flux floor [ergs cm-2 s-1 nm-1].

  • clip_vmr (float) –

    Neglect species with surface VMR < clip_vmr.

  • make_funs (bool) –

    Make functions from chemical network.

  • ini_mix (str) –

    Initial mixing ratios. Options: profile, outgas.

  • fix_surf (bool) –

    Fix the surface mixing ratios based on outgassed composition.

  • network (str) –

    Chemical network. Options: CHO, NCHO, SNCHO.

  • save_frames (bool) –

    Save simulation state as plots.

  • yconv_cri (float) –

    Steady state - max change in mixing ratio over test period

  • slope_cri (float) –

    Steady state - max rate of change of mixing ratio over test period

AtmosChem

Atmosphere chemistry parameters, model selection.

Attributes:

  • module (str) –

    Chemistry module

  • vulcan (Vulcan) –

    VULCAN module options

  • when (str) –

    When to run the chemistry module. Options: manually, offline, online.

  • photo_on (bool) –

    Use photochemistry.

  • Kzz_on (bool) –

    Use Kzz.

  • Kzz_const (float) –

    Constant Kzz value [cm2/s]. If 'none', Kzz is read from NetCDF file.

  • moldiff_on (bool) –

    Use molecular diffusion.

  • updraft_const (float) –

    Updraft velocity [cm/s].

Volatile outgassing

Calliope

Module parameters for Calliope.

Attributes:

  • T_floor (float) –

    Temperature floor applied to chemistry calculation [K].

  • include_H2O (bool) –

    If True, include H2O.

  • include_CO2 (bool) –

    If True, include CO2.

  • include_N2 (bool) –

    If True, include N2.

  • include_S2 (bool) –

    If True, include S2.

  • include_SO2 (bool) –

    If True, include SO2.

  • include_H2S (bool) –

    If True, include H2S.

  • include_NH3 (bool) –

    If True, include NH3.

  • include_H2 (bool) –

    If True, include H2.

  • include_CH4 (bool) –

    If True, include CH4.

  • include_CO (bool) –

    If True, include CO.

  • rtol (float) –

    Relative tolerance on solver for mass conservation.

  • xtol (float) –

    Absolute tolerance on solver for mass conservation.

  • solubility (bool) –

    Enable solubility of volatiles into melt.

is_included(vol)

Helper method for getting flag if vol is included in outgassing.

Source code in src/proteus/config/_outgas.py
56
57
58
def is_included(self, vol: str) -> bool:
    """Helper method for getting flag if `vol` is included in outgassing."""
    return getattr(self, f'include_{vol}')

Atmodeller

Module parameters for Atmodeller.

Attributes:

  • some_parameter (str) –

    Not used currently.

Outgas

Outgassing parameters (fO2) and included volatiles.

Attributes:

  • fO2_shift_IW (float) –

    Homogeneous oxygen fugacity in the magma ocean used to represent redox state (log10 units relative to Iron-Wustite).

  • module (str) –

    Outgassing module to be used. Choices: 'calliope' only.

  • mass_thresh (float) –

    Minimum threshold for element mass [kg]. Inventories below this are set to zero.

  • calliope (Calliope) –

    Parameters for CALLIOPE module.

  • atmodeller (Atmodeller) –

    Parameters for atmodeller module.

Elemental delivery and accretion

Elements

Initial volatile inventory by planetary bulk element abundances.

There are various ways to set these. You can specify a metallicity relative to solar alongside a total hydrogen abundance by providing use_metallicity=True.

Instead of metallicity, provide the abundance of each element with either specific mass ratio relative to hydrogen or in terms of the concentration in the mantle. For X in {C, N, S}: only XH_ratio or X_ppmw should be used at any one time.

Hydrogen abundance is set via either H_oceans, which is the number of oceans of hydrogen in the planet's mantle at initialisation (assumed to be fully molten). Or, you can set the hydrogen abundance in ppm relative to the mantle mass with H_ppmw. For hydrogen: only H_oceans or H_ppmw should be used at any one time.

Attributes:

  • H_oceans (float) –

    Absolute hydrogen inventory, units of equivalent Earth oceans.

  • H_kg (float) –

    Absolute hydrogen inventory, kg.

  • H_ppmw (float) –

    Relative hydrogen inventory, ppmw relative to mantle mass.

  • use_metallicity (bool) –

    Whether or not to specify the elemental abundances in terms of solar metallicity

  • metallicity (float) –

    Elemental metallicity relative to solar metallicity, by mass

  • CH_ratio (float) –

    Carbon metallicity. C/H mass ratio in combined mantle+atmosphere system.

  • C_kg (float) –

    Absolute carbon inventory, kg.

  • C_ppmw (float) –

    Relative carbon inventory, ppmw relative to mantle mass.

  • NH_ratio (float) –

    Nitrogen metallicity. N/H mass ratio in combined mantle+atmosphere system.

  • N_kg (float) –

    Absolute nitrogen inventory, kg.

  • N_ppmw (float) –

    Relative nitrogen inventory, ppmw relative to mantle mass.

  • SH_ratio (float) –

    Sulfur metallicity. C/H mass ratio in combined mantle+atmosphere system.

  • S_kg (float) –

    Absolute sulfur inventory, kg.

  • S_ppmw (float) –

    Absolute sulfur inventory, ppmw relative to mantle mass.

Volatiles

Initial volatile inventory set by partial pressures in atmosphere.

Attributes:

  • H2O (float) –

    Initial atmospheric partial surface pressure of H2O [bar].

  • CO2 (float) –

    Initial atmospheric partial surface pressure of CO2 [bar].

  • N2 (float) –

    Initial atmospheric partial surface pressure of N2 [bar].

  • S2 (float) –

    Initial atmospheric partial surface pressure of S2 [bar].

  • SO2 (float) –

    Initial atmospheric partial surface pressure of SO2 [bar].

  • H2S (float) –

    Initial atmospheric partial surface pressure of H2S [bar].

  • NH3 (float) –

    Initial atmospheric partial surface pressure of NH3 [bar].

  • H2 (float) –

    Initial atmospheric partial surface pressure of H2 [bar].

  • CH4 (float) –

    Initial atmospheric partial surface pressure of CH4 [bar].

  • CO (float) –

    Initial atmospheric partial surface pressure of CO [bar].

get_pressure(s)

Helper method for getting the pressure for vol by string.

Source code in src/proteus/config/_delivery.py
118
119
120
def get_pressure(self, s: str) -> float:
    """Helper method for getting the pressure for `vol` by string."""
    return getattr(self, s)

Delivery

Initial volatile inventory, radionuclide concentration, and delivery model selection.

Attributes:

  • initial (str) –

    Method by which to set the initial volatile inventory to use. Options: 'volatiles', 'elements'.

  • module (str) –

    Delivery module to use (Not used as of yet).

  • elements (Elements) –

    Parameters used when setting volatile inventory by element abundances.

  • volatiles (Volatiles) –

    Parameters used when setting volatile inventory by partial pressures.

  • radio_tref (float) –

    Reference age for setting radioactive decay [Gyr].

  • radio_U (float) –

    Concentration (ppmw) of uranium at reference age of t=radio_tref

  • radio_K (float) –

    Concentration (ppmw) of potassium at reference age of t=radio_tref

  • radio_Th (float) –

    Concentration (ppmw) of thorium at reference age of t=radio_tref

Synthetic observations

Platon

Parameters for the PLATON module.

Attributes:

  • downsample (int) –

    Downsample binning factor for the spectrum.

  • clip_vmr (float) –

    Minimum VMR for a species to be included in the radiative transfer.

Observe

Synthetic observations.

synthesis: str Module to use for calculating synthetic spectra.