Skip to content

balmer_decrement_extinction

Nebular extinction c(Hβ), E(B−V) and A_V from the observed Hα/Hβ Balmer decrement.

Category Nebular diagnostics
Backend scipy - implemented here on top of scipy primitives
Version 2.0.0
Reads ctx.spectrum (a Spectrum1D)
Writes metrics.balmer_ratio_observed, metrics.balmer_ratio_intrinsic, metrics.c_hbeta, metrics.ebv_balmer, metrics.a_v_balmer, metrics.flux_halpha, metrics.flux_hbeta, extras.balmer_decrement

R_obs = F(Hα)/F(Hβ) with F = |amp|·|σ|·√(2π) per line (window ±8 Å). c(Hβ) = log10(R_obs / R_int) / (1 − A(Hα)/A(Hβ)) — the reddening function f(λ) = A(λ)/A(Hβ) − 1 (f(Hβ) = 0) is taken from the law ; E(B−V) = 2.5 c(Hβ) / [R_V · A(Hβ)/A_V] and A_V = R_V E(B−V). law='CCM89' (default) is evaluated in-module from Cardelli et al. 1989 Eqs. 3a-3b (for R_V = 3.1 : A(Hα)/A(Hβ) = 0.7025, f(Hα) = −0.2975, A(Hβ)/E(B−V) = 3.609, c(Hβ) = 1.444 E(B−V)) ; 'F99' / 'G23' use dust_extinction (reduction extra). intrinsic_ratio defaults to 2.86 (Osterbrock & Ferland 2006 Table 4.4, Case B, 1e4 K, 1e2 cm⁻³ ; use 2.75 at 2e4 K, 3.04 at 5e3 K, or ~3.1 for AGN narrow-line regions). A ratio below intrinsic_ratio gives a negative extinction : c(Hβ), E(B−V) and A_V are clamped to 0 and the clamped flag of extras.balmer_decrement is set. Stellar Balmer absorption under Hβ is NOT corrected — subtract the stellar continuum first for galaxies. The line fluxes must be on the same flux scale (relative flux calibration is enough ; an uncalibrated instrumental response biases the ratio). Uncertainty : none is propagated — the shared Gaussian-line primitive returns fluxes without errors ; from Eq. 3, δc(Hβ) = δR / (R · ln 10 · |f(Hα)|) = 1.46 δR/R for CCM89 at R_V = 3.1 (a 5 % ratio error is δc ≈ 0.07, δE(B−V) ≈ 0.05), the intrinsic ratio and the law being taken as exact. v2.0.0: masked samples (Spectrum1D.mask) are ignored — excluded from both line windows like non-finite ones.

Parameters

Parameter Default Required Description
lambda_halpha 6562.82 - Rest wavelength (Å) of Hα (default NIST air 6562.82, as bpt).
lambda_hbeta 4861.33 - Rest wavelength (Å) of Hβ (default NIST air 4861.33, as bpt).
window 8.0 - Half-width (Å) of the Gaussian fit window around each line.
intrinsic_ratio 2.86 - Intrinsic (Hα/Hβ)_int : 2.86 = Case B at 1e4 K, 1e2 cm⁻³ (Osterbrock & Ferland 2006 Table 4.4).
rv 3.1 - R_V = A_V / E(B−V) of the extinction law (3.1 diffuse ISM).
law 'CCM89' - Extinction law for f(λ) : 'CCM89' (built in), 'F99' or 'G23' (dust_extinction).

Use it

from spectro_kernel import run_algorithm

output = run_algorithm("balmer_decrement_extinction", ctx, {
    "lambda_halpha": 6562.82,
    "lambda_hbeta": 4861.33,
    "window": 8.0,
    "intrinsic_ratio": 2.86,
    "rv": 3.1,
    "law": "CCM89"
})
spectro run balmer_decrement_extinction --input spectrum.fits \
  --param lambda_halpha=6562.82 \
  --param lambda_hbeta=4861.33 \
  --param window=8.0 \
  --param intrinsic_ratio=2.86 \
  --param rv=3.1 \
  --param law=CCM89
{
  "tool": "balmer_decrement_extinction",
  "arguments": {
    "session_id": "<session_id>",
    "params": {
      "lambda_halpha": 6562.82,
      "lambda_hbeta": 4861.33,
      "window": 8.0,
      "intrinsic_ratio": 2.86,
      "rv": 3.1,
      "law": "CCM89"
    }
  }
}

Every algorithm is an MCP tool of the same name; describe_algorithm returns this page's metadata as JSON.

References

  • Osterbrock & Ferland 2006, Astrophysics of Gaseous Nebulae and AGN, 2nd ed., University Science Books — Table 4.4 (Case B Hα/Hβ = 2.86 at T_e = 1e4 K, n_e = 1e2 cm⁻³) and §7.2 (c(Hβ), f(λ)).
  • Cardelli, Clayton & Mathis 1989, ApJ 345, 245 — Eqs. 3a-3b, A(λ)/A_V optical polynomial (built-in law).
  • Kramida et al., NIST ASD — air rest wavelengths Hα 6562.82 Å, Hβ 4861.33 Å (the values used by bpt_line_ratios).