synthesizer.emission_models.transformers.igm¶
A module for computing Intergalactic Medium (IGM) absorption.
This module contains classes for computing IGM absorption from Inoue et al. (2014), Madau et al. (1996), and Asada et al. (2025) models.
These are used when observer frame fluxes are computed using Sed.get_fnu(…) and are not designed to be used directly by the user.
Functions
- synthesizer.emission_models.transformers.igm.sigma_a(nu_rest)[source]¶
Lyα absorption cross section for the restframe frequency.
Based on Totani+06, eqn (1) for CGM damping wing calculation.
- Parameters:
nu_rest (float) – Rest-frame frequency in Hz.
- Returns:
Lyα absorption cross section at the restframe frequency [cm²].
- Return type:
float
Classes
- class synthesizer.emission_models.transformers.igm.Asada25(sigmoid_params=(3.5918, 1.8414, 18.001), scale_tau=1.0, add_cgm=True)[source]¶
IGM+CGM absorption from Asada et al. 2025.
If you use this model please cite the following paper: https://iopscience.iop.org/article/10.3847/2041-8213/adc388
The IGM model is from Inoue+ (2014), with additional Lya damping absorption at z>6 as described in Asada+25. This model includes both Intergalactic Medium (IGM) and Circumgalactic Medium (CGM) effects.
- sigmoid_params¶
Parameters that control the redshift evolution of the CGM HI gas column density (A, a, c). Default values are from Asada et al. (2025): (3.5918, 1.8414, 18.001).
- Type:
tuple
- scale_tau¶
Scalar multiplied to tau_igm. I.e., \(f_{\\mathrm{igm}} = e^{-\\mathrm{scale_\\tau} \\tau}\).
- Type:
float
- add_cgm¶
Add the additional LyA damping absorption at z>6 as described in Asada+25. If False, the transmission will be identical to Inoue+2014.
- Type:
bool
- name¶
Name of the model.
- Type:
str
- lam¶
Wavelengths for the model.
- Type:
array
- alf1¶
Coefficients for the Lyman-alpha forest.
- Type:
array
- alf2¶
Coefficients for the Lyman-alpha forest.
- Type:
array
- alf3¶
Coefficients for the Lyman-alpha forest.
- Type:
array
- adla1¶
Coefficients for the Damped Lyman-alpha absorption.
- Type:
array
- adla2¶
Coefficients for the Damped Lyman-alpha absorption.
- Type:
array
- get_transmission(redshift, lam_obs)[source]¶
Compute the IGM+CGM transmission.
- Parameters:
redshift (float) – Redshift to evaluate IGM absorption.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
IGM+CGM transmission.
- Return type:
array
- lgNHI_z(redshift)[source]¶
HI column density as a function of redshift.
Calibrated in Asada+ 2025. Only valid at z>=6.
- Parameters:
redshift (float) – Redshift of the source.
- Returns:
log10(HI column density [cm⁻²]).
- Return type:
float
- tau_cgm(N_HI, redshift, lam_obs)[source]¶
CGM optical depth given by Totani+06, eqn (1).
- Parameters:
N_HI (float) – HI column density [cm⁻²].
redshift (float) – Redshift of the source.
lam_obs (array) – Observed-frame wavelength array [Å].
- Returns:
tau_CGM values.
- Return type:
array
- tau_dla(redshift, lam_obs)[source]¶
Compute the Lyman series and Damped Lyman-alpha (DLA) optical depth.
- Parameters:
redshift (float) – Source redshift.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
Optical depth due to DLA.
- Return type:
array
- tau_igm(redshift, lam_obs)[source]¶
Compute the total IGM optical depth.
- Parameters:
redshift (float) – Redshift to evaluate IGM absorption.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
Total IGM absorption optical depth.
- Return type:
array
- tau_laf(redshift, lam_obs)[source]¶
Compute the Lyman series and Lyman-alpha forest optical depth.
- Parameters:
redshift (float) – Source redshift.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
Optical depth due to the Lyman-alpha forest.
- Return type:
array
- class synthesizer.emission_models.transformers.igm.IGMBase(name)[source]¶
Base class for IGM absorption models.
- name¶
Name of the model.
- Type:
str
- get_transmission(redshift, lam_obs)[source]¶
Compute the IGM transmission.
- Parameters:
redshift (float) – Redshift to evaluate IGM absorption.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
IGM transmission.
- Return type:
array
- plot_transmission(redshift, lam_obs, show=False, fig=None, ax=None, figsize=(8, 6))[source]¶
Plot the IGM transmission.
- Parameters:
redshift (float) – Redshift to evaluate IGM absorption.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
show (bool) – Whether to show the plot.
fig (matplotlib.figure.Figure) – Figure to plot on.
ax (matplotlib.axes.Axes) – Axes to plot on.
figsize (tuple) – Figure size.
- Returns:
Figure and Axes objects.
- Return type:
tuple
Examples using synthesizer.emission_models.transformers.igm.IGMBase¶
- class synthesizer.emission_models.transformers.igm.Inoue14(scale_tau=1.0)[source]¶
IGM absorption from Inoue et al. (2014).
Adapted from py-eazy.
- scale_tau¶
Parameter multiplied to the IGM \(\tau\) values (exponential in the linear absorption fraction). I.e., \(f_{\\mathrm{igm}} = e^{-\\mathrm{scale_\tau} \tau}\).
- Type:
float
- name¶
Name of the model.
- Type:
str
- lam¶
Wavelengths for the model.
- Type:
array
- alf1¶
Coefficients for the Lyman-alpha forest.
- Type:
array
- alf2¶
Coefficients for the Lyman-alpha forest.
- Type:
array
- alf3¶
Coefficients for the Lyman-alpha forest.
- Type:
array
- adla1¶
Coefficients for the Damped Lyman-alpha absorption.
- Type:
array
- adla2¶
Coefficients for the Damped Lyman-alpha absorption.
- Type:
array
- get_transmission(redshift, lam_obs)[source]¶
Compute the IGM transmission.
- Parameters:
redshift (float) – Redshift to evaluate IGM absorption.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
IGM transmission.
- Return type:
array
- tau(redshift, lam_obs)[source]¶
Compute the total IGM optical depth.
- Parameters:
redshift (float) – Redshift to evaluate IGM absorption.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
Total IGM absorption optical depth.
- Return type:
array
- tau_dla(redshift, lam_obs)[source]¶
Compute the Lyman series and Damped Lyman-alpha (DLA) optical depth.
- Parameters:
redshift (float) – Source redshift.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
Optical depth due to DLA.
- Return type:
array
- tau_laf(redshift, lam_obs)[source]¶
Compute the Lyman series and Lyman-alpha forest optical depth.
- Parameters:
redshift (float) – Source redshift.
lam_obs (array) – Observed-frame wavelengths in Angstroms.
- Returns:
Optical depth due to the Lyman-alpha forest.
- Return type:
array