rail.creation.degraders.lya_degrader module
Lyman-alpha degrader due to IGM, following Crenshaw+ 2025 (https://arxiv.org/pdf/2503.06016). Implementation of the IGM model from Inoue 2014 (arXiv:1402.0677). Source code from: https://github.com/jfcrenshaw/lbg_tools/blob/main/src/lbg_tools/_igm_inoue.py
- class rail.creation.degraders.lya_degrader.IGMExtinctionModel
Bases:
NoisifierDegrader that simulates IGM extinction.
Note that the extinction is only applied to u and g bands, assuming that the maximum redshift of the same is < ~3.
Note also that the code assumes the first two input bands are always u and g. These bands are also needed to compute the UV slope.
An initial UV slope of -2 is assumed. There is option to update the UV slope through one iteration, based on the u and g fluxes.
- Parameters:
output_mode ([str] default=default) – What to do with the outputs. The options are ‘default’, where outputs will be written to files and some returned, and ‘return’, where outputs will only be returned and not written.
seed ([type not specified] default=None) – Set to an int to force reproducible results.
data_path ([str] default=None) – data_path (str): file path to the FILTER directories. If left to default None it will use the install directory for rail + rail/examples_data/estimation_data/data
filter_list (list] (default=['DC2LSST_u', 'DC2LSST_g', 'DC2LSST_r', 'DC2LSST_i', 'DC2LSST_z', 'DC2LSST_y']))
bands (list] (default=['mag_u_lsst', 'mag_g_lsst', 'mag_r_lsst', 'mag_i_lsst', 'mag_z_lsst', 'mag_y_lsst']))
redshift_col (str] (default=redshift))
compute_uv_slope ([bool] default=True) – whether to compute the UV slopeIf not, the initial value of -2 will be used
optical_depth_interpolator ([bool] default=True) – whether to precompute optical depth as a functionof wavelength and redshift, and interpolate the grid.Notice that if False, the computation loops over allobjects, hence can take a very long time!
redshift_grid ([list] default=[1.5, 4, 100]) – the redshift grid to interpolate on, enter a list containing:z_min, z_max, number_of_grid. The default values should havea precision that suffice most purpose
input (PqHandle (INPUT))
output (PqHandle (OUTPUT))
- __init__(args, **kwargs)
- entrypoint_function: str | None = '__call__'
- interactive_function: str | None = 'igm_extinction_model'
- name = 'IGMExtinctionModel'