HensleyDraine2017¶

class
pysm3.
HensleyDraine2017
(map_I, map_Q, map_U, freq_ref_I, freq_ref_P, nside, has_polarization=True, unit_I=None, unit_Q=None, unit_U=None, map_dist=None, mpi_comm=None, f_fe=None, f_car=None, rnd_uval=True, uval=0.2, nside_uval=256, seed=None)[source] [edit on github]¶ Bases:
pysm3.Model
This is a model for modified black body emission.
 Attributes
 I_ref, Q_ref, U_ref: ndarray
Arrays containing the intensity or polarization reference templates at frequency
freq_ref_I
orfreq_ref_P
.
This function initializes the HensleyDraine 2017 model.
The initialization of this model consists of:
i) reading in emission templates from file, reading in data tables for the emissivity of silicate grains, silsicate grains with iron inclusions, and carbonaceous grains,
ii) interpolating these tables across wavelength and interstellar radiation field (ISRF) strength,
iii) generating a random realization of the interstellar radiation field, based on the modified StefanBoltzmann law, and measurements of dust temperature from Planck.
 Parameters
 map_I, map_Q, map_U: `pathlib.Path` object
Paths to the maps to be used as I, Q, U templates.
 unit_*string or Unit
Unit string or Unit object for all input FITS maps, if None, the input file should have a unit defined in the FITS header.
 freq_ref_I, freq_ref_P: Quantity or string
Reference frequencies at which the intensity and polarization templates are defined. They should be a astropy Quantity object or a string (e.g. “1500 MHz”) compatible with GHz.
 nside: int
Resolution parameter at which this model is to be calculated.
 f_fe: float
Fractional composition of grain population with iron inclusions.
 f_car: float
Fractional composition of grain population in carbonaceous grains.
 rnd_uval: bool (optional, default=True)
Decide whether to draw a random realization of the ISRF.
 uval: float
This value is used only if rnd_uval is False, the default of 0.2 corresponds reasonably well to a Modifield Black Body model with temperature of 20K and an index of 1.54
 nside_uval: int (optional, default=256)
HEALPix nside at which to evaluate the ISRF before ud_grade is applied to get the output scaling law. The default is the resolution at which the inputs available (COMMANDER dust beta and temperature).
 seed: int
Number used to seed RNG for
uval
.
Methods Summary
Method to evaluate the frequency scaling in the HD17 model.
evaluate_mbb_scaling
(freq)Method to evaluate a simple MBB scaling model with a constant index of 1.54.
get_emission
(freqs[, weights])This function calculates the model of Hensley and Draine 2017 for the emission of a mixture of silicate, cabonaceous, and silicate grains with iron inclusions.
Methods Documentation

evaluate_hd17_model_scaling
(freq: Unit(‘GHz’))[source] [edit on github]¶ Method to evaluate the frequency scaling in the HD17 model. This caluculates the scaling factor to be applied to a set of T, Q, U maps in uK_RJ at some reference frequencies
self.freq_ref_I
,self.freq_ref_P
, in order to scale them to frequenciesfreqs
. Parameters
 freq: float
Frequency, convertible to microns, at which scaling factor is to be calculated.
 Returns
 tuple(ndarray)
Scaling factor for intensity and polarization, at frequency
freq
. Tuple contains two arrays, each with shape (number of pixels).

evaluate_mbb_scaling
(freq: Unit(‘GHz’))[source] [edit on github]¶ Method to evaluate a simple MBB scaling model with a constant index of 1.54. This method is used for frequencies below the break frequency (nominally 10 GHz), as the data the HD17 model relies upon stops at 10 GHz.
At these frequencies, dust emission is largely irrelevant compared to other low frequency foregrounds, and so we do not expect the modeling assumptions to be significant. We therefore use a Rayleigh Jeans model for simplicity, and fix scale it from the SED at the break frequency.
 Parameters
 freq: float
Frequency at which to evaluate model (convertible to GHz).
 Returns
 tuple(ndarray)
Scaling factor for intensity and polarization, at frequency
freq
. Tuple contains two arrays, each with shape (number of pixels).

get_emission
(freqs: Unit(‘GHz’), weights=None)[source] [edit on github]¶ This function calculates the model of Hensley and Draine 2017 for the emission of a mixture of silicate, cabonaceous, and silicate grains with iron inclusions.
 Parameters
 freqs: float
Frequencies in GHz. When an array is passed, this is treated as a specification of a bandpass, and the bandpass average is calculated. For a single frequency, the emission at that frequency is returned (delta bandpass assumption).
 Returns
 ndarray
Maps of T, Q, U for the given frequency specification.
Notes
If
weights
is not given, a flat bandpass is assumed. Ifweights
is specified, it is automatically normalized.