Theoretical background
This page sets out the model astroARIADNE actually fits — the SED forward model, the likelihood, the priors, the nested-sampling evidence, and the Bayesian Model Averaging (BMA) that combines several atmosphere grids. The notation matches the implementation in sed_library; equation references point at the functions that evaluate them.
The spectral energy distribution
A star’s spectral energy distribution (SED) is its emergent flux as a function of wavelength, \(F_\lambda\). We never observe \(F_\lambda\) directly: a broadband photometric measurement in filter \(i\) with transmission \(T_i(\lambda)\) returns the band-integrated flux
i.e. a photon-counting (energy) average of \(F_\lambda\) over the bandpass. A set of magnitudes across many filters samples the SED at a handful of effective wavelengths. Fitting the SED means finding the stellar (and nuisance) parameters whose predicted band fluxes reproduce those measurements.
phot_utils handles the conversion from catalogue magnitudes to the flux
densities \(F_i^{\mathrm{obs}}\) (with uncertainties \(\sigma_i\)) that the
likelihood compares against, using per-filter zero-points and effective
wavelengths.
The forward model
The flux predicted in band \(i\) is built from a stellar atmosphere grid.
Atmosphere models (PHOENIX, BT-Settl, Castelli–Kurucz, BOSZ, …) give the
surface flux of a star as a function of effective temperature \(T_{\mathrm{eff}}\),
surface gravity \(\log g\) and metallicity \([\mathrm{Fe/H}]\). ARIADNE stores each
grid pre-convolved through every supported bandpass, so a grid node is a
vector of band fluxes \(f_i(T_{\mathrm{eff}}, \log g, [\mathrm{Fe/H}])\) rather
than a spectrum. Arbitrary parameter values are obtained by trilinear
interpolation in \((\log g, T_{\mathrm{eff}}, [\mathrm{Fe/H}])\)
(get_interpolated_flux).
Three physical effects turn the surface flux into the flux received at Earth:
Geometric dilution. A star of radius \(R\) at distance \(d\) subtends a solid angle \(\propto (R/d)^2\), so the received flux scales by \((R/d)^2\).
Interstellar extinction. Dust attenuates the flux by \(10^{-0.4\,A(\lambda)}\). ARIADNE uses a fixed reddening law with \(R_V = 3.1\), parameterised by the \(V\)-band extinction \(A_V\). Because the law is linear in \(A_V\) at fixed \(R_V\), the per-band attenuation curve is computed once at \(A_V = 1\) and raised to the power \(A_V\) inside
model_grid.Filter integration, already baked into the grid.
The model band flux is therefore (model_grid)
with \(R\) and \(d\) both in solar radii (the distance is converted from parsecs
internally). In normalisation mode (use_norm=True) the degenerate factor
\((R/d)^2\) is replaced by a single free scale \(N\):
\(F_i^{\mathrm{model}} = N\, f_i\, 10^{-0.4 A_V k_i}\). This is the right choice
when no reliable parallax is available, at the cost of not constraining \(R\) and
\(d\) separately.
Parameters
The fitted vector \(\theta\) is
where \(\{s_i\}\) are per-band excess-noise (jitter) terms described below.
Any parameter can be fixed; the “coordinator” array tracks which entries are
free vs. held constant (build_params).
The likelihood
Band measurements are treated as independent Gaussians. To absorb
underestimated catalogue errors and mild model inadequacy, each band carries an
excess-noise term \(s_i\) added in quadrature to its reported error. The
log-likelihood is (log_likelihood / fast_loglik)
The \(\ln(2\pi(\sigma_i^2+s_i^2))\) term is essential: without it the sampler
would drive every \(s_i \to \infty\) to flatten the residuals. Non-finite
evaluations (out-of-grid interpolation returns NaN) are mapped to a large
negative value so the sampler rejects them.
Priors
Bayes’ theorem gives the posterior over parameters for a fixed grid \(G\),
where \(\pi(\theta)\) is the prior and \(Z_G\) the evidence (marginal likelihood). ARIADNE’s defaults:
\(T_{\mathrm{eff}}\) — a population prior built from a RAVE-derived temperature distribution (an empirical spline), or a spectroscopic prior when one is supplied.
\(\log g\), \([\mathrm{Fe/H}]\) — spectroscopic priors when available (APOGEE > GALAH > LAMOST > RAVE > Hypatia), otherwise broad bounds.
distance — the Bailer-Jones geometric distance posterior.
radius / normalisation, \(A_V\) — uniform, with \(A_V\) capped at the line-of-sight galactic maximum.
jitter \(s_i\) — broad, weakly informative.
Nested sampling draws from the prior by mapping a unit-cube variate \(u\in[0,1]\)
through the inverse CDF (prior_transform_dynesty). ARIADNE substitutes
closed-form inverse CDFs for the uniform/normal/truncated-normal cases, which is
exact and far faster than evaluating scipy frozen-distribution .ppf on every
proposal.
Nested sampling and the evidence
ARIADNE samples with dynesty. Nested
sampling reparameterises the evidence integral over the prior mass
\(X(\lambda) = \int_{\mathcal{L}(\theta) > \lambda} \pi(\theta)\, d\theta\),
turning the multi-dimensional integral into a one-dimensional one,
and accumulates it by repeatedly replacing the lowest-likelihood live point
with a higher-likelihood draw from the constrained prior. It returns both
the evidence \(Z\) (with an uncertainty) and a set of posterior samples as a
by-product — which is exactly what BMA needs. Sampling stops when the estimated
remaining evidence falls below the dlogz tolerance.
The evidence is the quantity that penalises unnecessary model complexity (an automatic Occam factor): a grid that fits well without fine-tuning its parameters earns a higher \(Z\) than one that only fits over a sliver of its prior volume.
Bayesian Model Averaging
No single atmosphere grid is correct everywhere — they differ in line lists, convection treatment, opacities and wavelength coverage. Conditioning on one grid hides that systematic uncertainty. BMA instead treats the choice of grid as another thing to marginalise over.
Run the fit independently against each grid \(G_k\) in the BMA set, obtaining an evidence \(Z_k\) and a posterior \(p(\theta \mid D, G_k)\). With equal prior probability across the \(M\) grids, \(P(G_k) = 1/M\), the posterior probability of each grid is
In practice these are computed from the log-evidences and a numerically stable
shift, \(w_k \propto \exp(\ln Z_k - \min_j \ln Z_j)\), then normalised
(bayesian_model_average). The model-averaged posterior of any quantity
\(\vartheta\) is the evidence-weighted mixture of the per-grid posteriors,
ARIADNE realises this two ways: a weighted resampling of all per-grid chains into a master posterior (then summarised via KDE), and a weighted average of the per-grid posteriors supersampled to a common length. Either way the reported parameter uncertainties absorb the spread between grids, not just the statistical scatter within one — the central reason to prefer BMA over picking a single best-fitting atmosphere.
Note
BMA only makes sense when the grids being averaged share the same prior volume and observable set, so their evidences are comparable. Limited-coverage or intrinsically standalone grids (e.g. Coelho, SPHINX-II, TLUSTY) are run on their own rather than mixed into the average — see guide.