analysis
subpackage¶
Submodules¶
Metallicity_Stack_Commons.analysis.attenuation module¶
-
Metallicity_Stack_Commons.analysis.attenuation.
Hb_SFR
(log_LHb, EBV, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Determine dust-corrected SFR using the H-beta luminosity and a measurement for nebular attenuation
- Equation below is based on Eq. 2 in Ly et al. (2015), ApJ, 805, 45
- Parameters
log_LHb (
Union
[float
,ndarray
]) – Logarithm of H-beta luminosity in units of erg/sEBV (
Union
[float
,ndarray
]) – E(B-V) value(s)verbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
Union
[float
,ndarray
]- Returns
SFRs in logarithmic units of M_sun/yr
-
Metallicity_Stack_Commons.analysis.attenuation.
compute_A
(EBV, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Compute A(Lambda) for all possible emission lines
- Parameters
EBV (
float
) – E(B-V) value Has not been configured to handle a large array. Some array handling would be neededverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
dict
- Returns
A(lambda) with keys identical to
k_dict
-
Metallicity_Stack_Commons.analysis.attenuation.
compute_EBV
(ratio, source='HgHb', zero_neg=True, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Determines E(B-V) from Hg/Hb or Hd/Hb flux ratios using Case B assumptions
- Parameters
ratio (
Union
[float
,ndarray
]) – Float or array containing Hg/Hb or Hd/Hb valuessource (
str
) – Indicate ratio type. Either ‘HgHb’ or ‘HdHb’. Default: ‘HgHb’zero_neg (
bool
) – Indicate whether to zero out negative reddening. Default: Trueverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
Union
[float
,ndarray
,Tuple
[ndarray
,ndarray
]]- Returns
E(B-V) values, E(B-V) peak values
- Note:
When only E(B-V) values is returned, correction does not account for negative reddening
-
Metallicity_Stack_Commons.analysis.attenuation.
line_ratio_atten
(ratio, EBV, wave_top, wave_bottom, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Determine dust-corrected emission-line ratios
- Parameters
ratio (
Union
[float
,ndarray
]) – Float or array of observed flux ratiosEBV (
Union
[float
,ndarray
]) – E(B-V) value(s)wave_top (
str
) – Emission-line name for flux ratio numeratorwave_bottom (
str
) – Emission-line name for flux ratio denominatorverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
Union
[float
,ndarray
]- Returns
Float or array of dust-corrected flux ratios
Metallicity_Stack_Commons.analysis.composite_indv_detect module¶
-
Metallicity_Stack_Commons.analysis.composite_indv_detect.
main
(fitspath, dataset, revised=False, det3=True, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Reads in composite table(s) containing bin information to determine temperature-based metallicity from composite average T_e and individual line ratios ([OII]/H-beta, [OIII]/H-beta)
- Parameters
fitspath (
str
) – Folder full pathdataset (
str
) – Sub-folder path (specific to stacking approach)revised (
bool
) – Indicates whether to use revised bin properties (e.g., revised.tbl files). Default: Falsedet3 (
bool
) – Indicates whether individual galaxy files is limited to those satisfying emission-line det3 requirement Default: Trueverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
Files identified by default:
- composite_file: Filename of composite data
e.g., ‘[dataset]/bin_derived_properties.tbl’, ‘[dataset]/bin_derived_properties.revised.tbl’
- indv_em_line_file: Filename that contains emission-line information
for each galaxy e.g., ‘individual_properties.tbl’
- indv_bin_file: Filename that contains bin information for each galaxy
e.g., ‘[dataset]/individual_bin_info.tbl’
- outfile: Filename of output file
e.g., ‘[dataset]/individual_derived_properties.tbl’
Metallicity_Stack_Commons.analysis.error_prop module¶
-
Metallicity_Stack_Commons.analysis.error_prop.
fluxes_derived_prop
(path, raw=False, binned_data=True, apply_dust=False, revised=True, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Use measurements and their uncertainties to perform a randomization approach. The randomization is performed on individual emission lines. It carries that information to derived flux ratios and then determines electron temperature and metallicity
- Parameters
path (
str
) – Full pathraw (
bool
) – Do a simple calculation, no randomization. Default: Falsebinned_data (
bool
) – Whether to analyze binned data. Default: Trueapply_dust (
bool
) – Whether to apply dust attenuation. Default: Falserevised (
bool
) – Indicate if revised validation table is used. Default: Trueverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
-
Metallicity_Stack_Commons.analysis.error_prop.
write_npz
(path, npz_files, dict_list, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Write numpy files with provided dictionaries
- Parameters
path (
str
) – Prefix for filename outputnpz_files (
list
) – NPZ file namesdict_list (
list
) – List of dict for each corresponding npz fileverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
Metallicity_Stack_Commons.analysis.fitting module¶
-
Metallicity_Stack_Commons.analysis.fitting.
OIII4363_flux_limit
(combine_flux_file, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Determine 3-sigma limit on [OIII]4363 based on H-gamma measurements
- Parameters
combine_flux_file (
str
) – Filename of ASCII file containing emission-line flux measurementsverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
Optional
[ndarray
]- Returns
Array containing 3-sigma flux limit
-
Metallicity_Stack_Commons.analysis.fitting.
double_gauss
(x, xbar, s1, a1, c, s2, a2)¶ Function providing double Gaussian profile (emission and absorption) for curve_fit
- Parameters
x (
ndarray
) – Wavelength arrayxbar (
float
) – Central wavelength of Gaussian fits1 (
float
) – Sigma (width) of first Gaussian fit (positive)a1 (
float
) – Amplitude of first Gaussian fitc (
float
) – Continuum constant for Gaussian fits2 (
float
) – Sigma (width) of second Gaussian fit (absorption)a2 (
float
) – Amplitude of second Gaussian fit
- Return type
array
- Returns
Double Gaussian fit
-
Metallicity_Stack_Commons.analysis.fitting.
gauss
(x, xbar, s, a, c)¶ Function providing Gaussian profile for curve_fit
- Parameters
x (
ndarray
) – Wavelength arrayxbar (
float
) – Central wavelength of Gaussian fits (
float
) – Sigma (width) of Gaussian fita (
float
) – Amplitude of Gaussian fitc (
float
) – Continuum constant for Gaussian fit
- Return type
ndarray
- Returns
Gaussian fit
-
Metallicity_Stack_Commons.analysis.fitting.
movingaverage_box1D
(values, width, boundary='fill', fill_value=0.0)¶ Applies as boxcar kernel to smooth spectra
- Parameters
values (
ndarray
) – Array containing the spectrumwidth (
float
) – Width for smoothingboundary (
str
) – Handling of boundary values. Options are: ‘None’, ‘fill’, ‘wrap’, and ‘extend’ See astropy.convolution.convolve for more informationfill_value (
float
) – Indicate fill value for default boundary=’fill’
- Return type
ndarray
- Returns
Array contained the smoothed/convolved spectrum
-
Metallicity_Stack_Commons.analysis.fitting.
oxy2_gauss
(x, xbar, s1, a1, c, s2, a2)¶ Function providing [OII] doublet Gaussian profile for curve_fit
- Parameters
x (
ndarray
) – Wavelength arrayxbar (
float
) – Central wavelength of [OII]3726 Gaussian fits1 (
float
) – Sigma (width) of [OII]3726 Gaussian fita1 (
float
) – Amplitude of [OII]3726 Gaussian fitc (
float
) – Continuum constant for Gaussian fits2 (
float
) – Sigma (width) of [OII]3728 Gaussian fita2 (
float
) – Amplitude of [OII]3728 Gaussian fit
- Return type
ndarray
- Returns
[OII] doublet Gaussian fit
-
Metallicity_Stack_Commons.analysis.fitting.
rms_func
(wave, dispersion, lambda_in, y0, sigma_array, mask_flag, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Compute rms in the spectra
- Parameters
wave (
ndarray
) – Array of rest wavelengthsdispersion (
float
) – Spectral dispersion in AA/pixlambda_in (
float
) – Central wavelength of fity0 (
ndarray
) – Array of fluxes in units of erg/s/cm2/AAsigma_array (
float
) – Gaussian sigma (AA)mask_flag (
ndarray
) – Indicates spectra are masked for OH skyline contaminationverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Returns
Metallicity_Stack_Commons.analysis.ratios module¶
-
Metallicity_Stack_Commons.analysis.ratios.
flux_ratios
(flux_dict, binned_data=False, get_R=True, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Primary code to determine a variety of line ratios based on a dict containing emission-line fluxes
- Parameters
flux_dict (
dict
) – Contains emission-line fluxesget_R (
bool
) – Indicates populating OIII4363/OIII5007 flux ratiobinned_data (
bool
) – Whether to analyze binned data. Default: Falseverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
dict
- Returns
Emission-line flux ratios
Metallicity_Stack_Commons.analysis.temp_metallicity_calc module¶
-
Metallicity_Stack_Commons.analysis.temp_metallicity_calc.
R_calculation
(OIII4363, OIII5007, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Computes the excitation flux ratio of [OIII]4363 to [OIII]5007. Adopts a 3.1-to-1 ratio for 5007/4959
- Parameters
OIII4363 (
Union
[float
,ndarray
]) – OIII4363 fluxesOIII5007 (
Union
[float
,ndarray
]) – OIII5007 fluxesverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
Union
[float
,ndarray
]- Returns
O++ excitation flux ratio
-
Metallicity_Stack_Commons.analysis.temp_metallicity_calc.
metallicity_calculation
(T_e, TWO_BETA, THREE_BETA, EBV=None, det3=None, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Determines 12+log(O/H) from electron temperature and [OII]/Hb and [OIII]/Hb flux ratio
- Parameters
T_e (
ndarray
) – Array of electron temperatures (seetemp_calculation
)TWO_BETA (
ndarray
) – Array of [OII]/Hb flux ratiosTHREE_BETA (
ndarray
) – Array of [OIII]/Hb flux ratiosEBV (
Optional
[ndarray
]) – Optional array containing EBV distributiondet3 (
Optional
[ndarray
]) –Optional array to pass in to identify those satisfying det3 requirements. Default: None means full array is considered
- Note: for Monte Carlo inputs, a 1-D np.array index satisfying
det3 requirements will suffice
verbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
dict
- Returns
Contains 12+log(O/H), O+/H, O++/H, log(O+/H), log(O++/H)
-
Metallicity_Stack_Commons.analysis.temp_metallicity_calc.
temp_calculation
(R, EBV=None, verbose=False, log=<Logger stdout_logger (INFO)>)¶ Computes electron temperature (T_e) from O++ excitation flux ratio
- Formula is:
T_e = a(-log(R)-b)^(-c) where a = 13025, b=0.92506, and c=0.98062 (Nicholls et al. 2014)
- Parameters
R (
ndarray
) – Array of O++ excitation flux ratio (see R_calculation)EBV (
Optional
[ndarray
]) – Array of E(B-V). Set to zero if not applying attenuationverbose (
bool
) – Write verbose message to stdout. Default: file onlylog (
Logger
) – logging.Logger object
- Return type
ndarray
- Returns
Array of T_e (Kelvins)