Retrieval Parameter Reference#
This document describes all parameters available for use in petitRADTRANS atmospheric retrievals.
Parameters are passed as a dictionary of Parameter objects
to the model generating function, and are registered via add_parameter().
Overview of Built-in Model Functions#
The built-in model functions available in petitRADTRANS.retrieval.models are listed below.
Each function accepts the same signature (prt_object, parameters, pt_plot_mode, adaptive_mesh_refinement)
and computes either an emission or transmission spectrum.
Note
guillot_patchy_emission, guillot_patchy_transmission, and
madhu_seager_patchy_transmission are deprecated aliases and simply delegate
to the non-patchy variants. Use patchiness instead (see cloud-patchy).
Planetary / Orbital Parameters#
These parameters describe the bulk properties of the planet and are required by all model functions.
Exactly two of the three physical quantities (log_g, planet_radius, mass) must be provided;
the third is derived automatically.
Key |
Units |
Required |
Description |
|---|---|---|---|
|
log10(cm s-2) |
Two of three |
Log base-10 of the surface gravity. |
|
cm |
Two of three |
Planet radius at the reference pressure. |
|
g |
Two of three |
Planet mass. Also accepted as |
|
cm |
Emission only |
Distance from the observer to the planetary system. Used to convert flux to irradiance. |
|
bar |
Transmission (optional) |
Pressure level at which |
Gravity / radius derivation rules
log_gandmass→ radius derived fromPlanet.reference_gravity2radius()log_gandplanet_radius→ gravity = 10log_gmassandplanet_radius→ gravity derived fromPlanet.mass2reference_gravity()
Temperature–Pressure Profile Parameters#
Each model function uses a distinct set of T–P parameters. Only the parameters belonging to the chosen model function should be included in the retrieval configuration.
Mollière 2020 Spline Profile#
Used by spline_eddington_adiabatic_emission and emission_model_diseq_patchy_clouds.
The profile is constructed from four anchor temperatures (T1–T3 and Tint) and a power-law optical depth parameterisation τ = δ × Pα. The three spline fractions T1–T3 are dimensionless values in (0, 1) that set each anchor temperature relative to the one below it.
Key |
Units |
Required |
Description |
|---|---|---|---|
|
K |
Yes |
Interior (intrinsic) temperature of the planet. |
|
— (0–1) |
Yes |
Innermost spline fraction; sets T3 = (3/4 · Tint4 · (0.1 + 2/3))0.25 · (1 − T3). |
|
— (0–1) |
Yes |
Middle spline fraction; sets T2 = T3 · (1 − T2). |
|
— (0–1) |
Yes |
Outer spline fraction; sets T1 = T2 · (1 − T1). |
|
— |
Yes |
Proportionality factor in the optical depth law; mapped from (0, 1) to (−3, 2). |
|
— |
Yes |
Power-law index in τ = δ × Pα. |
For emission_model_diseq_patchy_clouds the following additional parameters describe the
clear-column temperature profile:
Key |
Units |
Required |
Description |
|---|---|---|---|
|
— (0–1) |
Yes |
Innermost spline fraction for the cloud-free column. |
|
— (0–1) |
Yes |
Middle spline fraction for the cloud-free column. |
|
— (0–1) |
Yes |
Outer spline fraction for the cloud-free column. |
|
— |
Yes |
|
|
— |
Yes |
|
Guillot 2010 Profile#
Used by guillot_emission, guillot_emission_add_gaussian_temperature,
guillot_transmission.
The profile follows the global Guillot (2010) analytical solution for an irradiated atmosphere.
Key |
Units |
Required |
Description |
|---|---|---|---|
|
K |
Yes |
Interior temperature. |
|
K |
Yes |
Planet equilibrium temperature. |
|
— |
Yes |
Ratio of optical to infrared mean opacity, κvis / κIR. |
|
log10(cm2 g-1) |
Yes |
Log of the IR opacity ratio used to scale the infrared opacity. |
guillot_emission_add_gaussian_temperature additionally requires:
Key |
Units |
Required |
Description |
|---|---|---|---|
|
K |
Yes |
Amplitude of the Gaussian temperature perturbation. |
|
log10(bar) |
Yes |
Pressure level at the centre of the Gaussian bump. |
|
log10(bar) |
Yes |
Width (σ) of the Gaussian in log-pressure space. |
Interpolated Spline Node Profile#
Used by interpolated_profile_emission. The total number of temperature nodes is
nnodes + 2 (including fixed top and bottom boundaries).
Key |
Units |
Required |
Description |
|---|---|---|---|
|
integer |
Yes |
Number of interior temperature nodes (excluding the top and bottom boundaries).
Total nodes = |
|
K |
Yes |
Temperature at node i, for i = 0, 1, …, |
|
— |
Yes |
Smoothness penalty weight applied to the curvature of the profile. |
|
flag |
Optional |
If this key is present in the parameter dictionary (any value), a linear spline is used instead of the default cubic spline. |
|
— |
Internal |
Written by the model function at runtime; its value is automatically added to the log-likelihood as a regularisation prior. |
Gradient (dT/d log P) Profile#
Used by gradient_profile_emission. Atmosphere is divided into N_layers layers,
each characterised by a constant log-pressure temperature slope.
Key |
Units |
Required |
Description |
|---|---|---|---|
|
integer |
Yes |
Number of layers between which the temperature gradient is interpolated. |
|
K |
Yes |
Temperature at the base of the atmosphere (deepest pressure level). |
|
K / dec |
Yes |
d (log T)/d(log P) for layer i, for i = 1, …, |
|
log10(bar) |
Optional |
Log pressure at the top of the atmosphere. Defaults to −3. |
|
log10(bar) |
Optional |
Log pressure at the base of the atmosphere. Defaults to 3. |
Power-Law Profile#
Used by power_law_profile_emission.
Key |
Units |
Required |
Description |
|---|---|---|---|
|
— |
Yes |
Power-law exponent: T(P) ∝ Palpha. |
|
K |
Yes |
Multiplicative scale factor for the temperature profile. |
Madhusudhan & Seager 2009 Profile#
Used by madhushudhan_seager_emission and madhushudhan_seager_transmission.
The profile is split into three pressure regions joined at knot pressures P1 < P2 < P3.
Key |
Units |
Required |
Description |
|---|---|---|---|
|
log10(bar) |
Yes |
Reference pressure used to anchor the profile. Defaults to 10 bar. |
|
K |
Yes |
Temperature at |
|
log10(bar) |
Yes |
Log pressure at the top of the deepest atmospheric layer. |
|
— (0–1) |
Yes |
Fractional inner pressure node; sets P2 = P3 · (1 − P2). |
|
— (0–1) |
Yes |
Fractional outer pressure node; sets P1 = P2 · (1 − P1). |
|
— |
Yes |
Slope of the upper atmospheric layer. |
|
— |
Yes |
Slope of the middle atmospheric layer. |
|
— |
Optional |
Power-law exponent for the slopes. Default = 0.5. Not recommended to change. |
Isothermal Profile#
Used by isothermal_transmission.
Key |
Units |
Required |
Description |
|---|---|---|---|
|
K |
Yes |
Uniform temperature throughout the atmosphere. |
Chemistry Parameters#
Two chemistry modes are supported: equilibrium chemistry, in which the abundances of all species are derived from the elemental ratios and temperature–pressure profile, and free chemistry (also called disequilibrium or free-retrieval chemistry), in which each molecular abundance is an independent retrieved parameter. It is also possible to use equilibrium chemistry for most species while retrieving individual abundances for a subset.
Equilibrium Chemistry#
Key |
Units |
Required |
Description |
|---|---|---|---|
|
solar |
Yes |
Atmospheric metallicity [M/H] relative to solar. |
|
— |
One of two |
Carbon-to-oxygen ratio. Mutually exclusive with specifying |
|
— |
One of two |
Carbon elemental abundance. Used together with |
|
— |
One of two |
Oxygen elemental abundance. Used together with |
|
log10(bar) |
Optional |
Quench pressure for CO, CH4, and H2O. If omitted, full thermochemical equilibrium is assumed. |
|
flag |
Optional |
If truthy, explicitly opt into the full EasyChem equilibrium solver.
Otherwise, providing |
|
— |
Optional |
Isotopic ratio used to build rare-isotopologue abundances from the equilibrium profile of the corresponding main isotopologue. |
|
— |
Optional |
Isotopic ratio used to build rare-isotopologue abundances from the equilibrium profile of the corresponding main isotopologue. |
|
— |
Optional |
Isotopic ratio used to build rare-isotopologue abundances from the equilibrium profile of the corresponding main isotopologue. |
Isotopologue Parameters and Naming#
Line species can be specified either with explicit isotopes (for example
12C-16O or 13C-16O) or with default/main-isotopologue names
depending on the selected opacity tables.
When using equilibrium chemistry (precalculated table or EasyChem), isotopic ratio keys can be added to the retrieval parameter set:
13C/12C18O/16O15N/14N
If one of these ratios is provided, and both the main and rare isotopologue
are present in line_species, petitRADTRANS sets the rare isotopologue mass
fraction profile as
where \(X_{\mathrm{main,eq}}\) is the equilibrium-chemistry profile of the main isotopologue and \(R_{\mathrm{iso}}\) is the corresponding ratio parameter.
These rare-isotopologue profiles are inserted before background filling-species normalisation, so their mass is included in the total atmospheric mass budget.
Notes:
The ratio-based construction is only applied when matching main and rare isotopologues are both present in
line_species.If a species abundance is explicitly imposed in free/mixed chemistry, that explicit value takes precedence over equilibrium-derived values.
For isotopologue naming conventions and available tables, see Available opacity species.
Pressure-Varying Abundances#
Added via RetrievalConfig.add_pressure_varying_line_species(). Enables a vertically
structured abundance profile parameterised by a set of nodes in log-pressure space.
Key pattern |
Type |
Required |
Description |
|---|---|---|---|
|
integer |
Fixed |
Total number of abundance nodes (set automatically). |
|
integer |
Fixed |
Number of free interior pressure nodes. |
|
string |
Fixed |
Interpolation scheme: |
|
log10(bar) |
Free (unless |
Log pressure of the i-th interior node, for i = 0, …, n_pressure_nodes − 1. |
|
log10(mass fraction) |
Free |
Log10 mass fraction at abundance node i, for i = 0, …, n_abundance_nodes. |
Cloud Parameters#
Cloud parameters are split into two groups: physical cloud parameters (microphysical clouds with real scattering properties) and simple cloud / haze parameters (gray opacity decks and power-law hazes used primarily in transmission spectroscopy).
Physical Cloud Parameters#
These parameters are used by all model functions that call
clouds.setup_clouds_from_legacy_dict().
Sedimentation
Key |
Units |
Required |
Description |
|---|---|---|---|
|
— |
Yes (if clouds present) |
Sedimentation efficiency parameter. Can be specified globally or per-species via
|
Particle size distribution — choose exactly one:
Key |
Units |
Exclusion group |
Description |
|---|---|---|---|
|
— |
1 of 2 |
Width σ of the log-normal particle size distribution. |
|
— |
1 of 2 |
Width parameter b of the Hansen distribution. Can be specified per-species
via |
Particle radius — choose exactly one:
Key |
Units |
Exclusion group |
Description |
|---|---|---|---|
|
log10(cm2 s-1) |
1 of 2 |
Log base-10 of the eddy diffusion coefficient. Used to compute the equilibrium
particle radius together with |
|
log10(cm) |
1 of 2 |
Log base-10 of the central particle radius for the named species, e.g.
|
Cloud base abundance — choose exactly one:
Key |
Units |
Exclusion group |
Description |
|---|---|---|---|
|
— |
1 of 2 |
Multiplicative scaling factor applied to the equilibrium cloud abundance.
E.g. |
|
log10(mass fraction) |
1 of 2 |
Log base-10 mass fraction of the cloud species at the cloud base.
E.g. |
Cloud base pressure (optional):
Key |
Units |
Required |
Description |
|---|---|---|---|
|
log10(bar) |
Optional |
Log base-10 of the cloud base pressure for the named species. If omitted, the base is derived from the condensation curve. |
Cloud coverage fractions (optional):
Key |
Units |
Required |
Description |
|---|---|---|---|
|
— (0–1) |
Optional |
Fraction of the planetary disc covered by clouds. The complementary fraction
|
|
list |
Optional |
List of cloud species with 100 % coverage even in the nominally clear column. |
Simple Cloud / Haze Parameters (Transmission)#
Used by transmission model functions that call
clouds.setup_simple_clouds_hazes_from_legacy_dict(). These parameters are
intended as simpler alternatives to the full microphysical cloud treatment.
Gray cloud deck — the following keys are all aliases for the same pcloud quantity:
Key |
Units |
Notes |
Description |
|---|---|---|---|
|
log10(bar) |
Preferred |
Log base-10 pressure of the opaque gray cloud deck. |
|
bar |
Alias |
Cloud deck pressure in linear units. |
|
log10(bar) |
Alias |
Alternative name for the log-pressure cloud deck. |
|
bar |
Alias |
Alternative name for the linear-pressure cloud deck. |
Power-law haze:
Key |
Units |
Notes |
Description |
|---|---|---|---|
|
cm2 g-1 |
Also |
Haze scattering opacity at 350 nm. |
|
— |
Also |
Wavelength power-law index for the haze opacity, κ(λ) ∝ λγ. |
|
— |
Also |
Multiplicative scaling factor applied to the Rayleigh scattering cross-section. |
Note
Simple (gray/haze) cloud parameters and physical microphysical cloud parameters can both be
specified simultaneously in transmission models. Both pcloud and fsed-based clouds
can therefore coexist.
Optional Emission Model Parameters#
Key |
Units |
Applicable to |
Description |
|---|---|---|---|
|
bool |
All |
If |
|
K |
Emission |
Temperature of a circumplanetary blackbody disk component added to the flux. |
|
cm |
Emission |
Radius of the circumplanetary disk component. Required when |
|
mag |
Emission |
V-band extinction applied to the model spectrum as a reddening correction. |
|
— |
Emission |
V-band reddening parameter RV. Required when |
|
cm |
Emission |
Stellar radius used to normalise the stellar flux (when the star is included). |
Per-Dataset Instrumental / Calibration Parameters#
These parameters are added for each dataset individually. The {data_name} prefix must
match the key used when adding the dataset to the RetrievalConfig.
Key |
Units |
Condition |
Description |
|---|---|---|---|
|
— |
|
Multiplicative scale factor applied to the model flux or the uncertainties. |
|
flux units |
|
Additive constant flux offset applied to the model. |
|
— |
Manual |
Log10 of a variance floor added in quadrature to the data uncertainties. |
|
km s-1 |
Manual |
Per-dataset radial velocity shift applied as a wavelength stretch. |
|
km s-1 |
Manual |
Global radial velocity offset applied to all datasets that do not have their own. |
|
— |
|
Slope of the wavelength-dependent instrumental resolving power R(λ). |
|
— |
|
Intercept of the wavelength-dependent instrumental resolving power R(λ). |
Gaussian-Process Covariance Hyperparameters#
Added automatically when a dataset is included with fit_covariance=True.
The covariance_mode argument to add_data() controls which GP kernels are active.
Key |
Units |
|
Description |
|---|---|---|---|
|
flux units |
|
Amplitude of the global GP kernel. Prior is auto-set from data uncertainties. |
|
µm |
|
Length scale of the global GP kernel. |
|
flux units |
|
Amplitude of the k-th local GP kernel (k = 1, …, |
|
µm |
|
Length scale of the k-th local GP kernel. |
|
µm |
|
Central wavelength of the k-th local GP kernel. |
Available covariance_mode values: 'none', 'global', 'local', 'global_local'.
Available global kernel shapes (global_covariance_kernel): 'squared_exponential', 'matern32'.
Uncertainties Mode Parameters#
The uncertainties_mode argument to Retrieval controls
how observational uncertainties are handled. Some modes introduce additional retrieved parameters.
Mode |
Extra parameters |
Description |
|---|---|---|
|
None |
Uncertainties are taken from the data file and kept fixed throughout the retrieval. |
|
None |
Uncertainties are analytically optimised at each likelihood evaluation following Gibson et al. (2020, MNRAS 496, 1355). |
|
|
Uncertainties are multiplied by a retrieved coefficient. |
|
|
A fixed scalar term is added to all uncertainties and is retrieved. |
Parameter Compatibility Matrix#
The table below summarises which parameter groups can be used together.
Choice |
Options (choose exactly one unless noted) |
|---|---|
Gravity (choose 2 of 3) |
|
Chemistry mode |
Equilibrium: { |
Particle size distribution (choose 1 of 2) |
|
Particle radius (choose 1 of 2) |
|
Cloud abundance (choose 1 of 2) |
|
Gray cloud deck (all are aliases, at most one value) |
|
Haze factor (aliases) |
|
Haze opacity at 350 nm (aliases) |
|
Haze slope (aliases) |
|
Radial velocity (per-dataset overrides global) |
|
C/O specification (choose 1 of 2) |
|
Prior Types for RetrievalParameter#
When using the RetrievalParameter class
(used with Retrieval.from_data()), the prior type and its arguments are specified
via prior_type and prior_parameters.
|
|
Description |
|---|---|---|
|
|
Uniform distribution between |
|
|
Uniform distribution in log10 space. |
|
|
Normal distribution with mean |
|
|
Log-normal distribution: Gaussian in log10 space. |
|
|
Delta function; the parameter is fixed to |
|
function |
Arbitrary callable mapping the unit hypercube [0, 1] to physical space. |
Internal Infrastructure Parameters#
RetrievalConfig no longer creates internal pressure-grid tuning parameters.
Adaptive mesh refinement is controlled only through the boolean
adaptive_mesh_refinement configuration flag, while the runtime path keeps
the number of pressure levels fixed and redistributes them around cloud bases
internally.
Example: Minimal Emission Retrieval Setup#
The following example shows how to register a typical set of parameters for an emission retrieval using the Guillot profile and equilibrium chemistry:
from petitRADTRANS.retrieval.retrieval_config import RetrievalConfig
import numpy as np
pressures = np.logspace(-6, 3, 100)
rc = RetrievalConfig(
retrieval_name='my_emission_run',
run_mode='retrieval',
pressures=pressures,
)
# Planet properties (2 of 3 required)
rc.add_parameter('log_g', is_free_parameter=True,
transform_prior_cube_coordinate=lambda x: 2.0 + 3.0 * x)
rc.add_parameter('planet_radius', is_free_parameter=False, value=1.2 * 6.991e9)
# Guillot T-P profile
rc.add_parameter('T_int', is_free_parameter=True,
transform_prior_cube_coordinate=lambda x: 200 + 1800 * x)
rc.add_parameter('T_equ', is_free_parameter=True,
transform_prior_cube_coordinate=lambda x: 500 + 2000 * x)
rc.add_parameter('gamma', is_free_parameter=True,
transform_prior_cube_coordinate=lambda x: 0.01 + 1.99 * x)
rc.add_parameter('log_kappa_IR', is_free_parameter=True,
transform_prior_cube_coordinate=lambda x: -3.0 + 4.0 * x)
# Equilibrium chemistry
rc.add_parameter('Fe/H', is_free_parameter=True,
transform_prior_cube_coordinate=lambda x: -1.5 + 3.0 * x)
rc.add_parameter('C/O', is_free_parameter=True,
transform_prior_cube_coordinate=lambda x: 0.1 + 1.5 * x)
rc.add_parameter('log_pquench', is_free_parameter=True,
transform_prior_cube_coordinate=lambda x: -6.0 + 9.0 * x)
# System distance (required for emission)
rc.add_parameter('distance_to_system', is_free_parameter=False, value=10 * 3.086e18)