Model data¶
In this tutorial we will inspect how the different models are defined in pysm3 and how you can inspect the templates.
The notebook cell with all import
statements is hidden, see the “Getting started” tutorial.
[2]:
sky = pysm3.Sky(nside=128, preset_strings=["d1"])
[3]:
sky.components[0].__class__
[3]:
pysm3.models.dust.ModifiedBlackBody
[4]:
print(pysm3.models.dust.ModifiedBlackBody.__init__.__doc__)
This function initializes the modified black body model.
The initialization of this model consists of reading in emission
templates from file, reading in spectral parameter maps from
file.
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.
map_mbb_index: `pathlib.Path` object or scalar value
Path to the map to be used as the power law index for the dust
opacity in a modified blackbody model, for a constant value use
a float or an integer
map_mbb_temperature: `pathlib.Path` object or scalar
Path to the map to be used as the temperature of the dust in a
modified blackbody model. For a constant value use a float or an
integer
nside: int
Resolution parameter at which this model is to be calculated.
Details of a model are defined in presets.cfg
at https://github.com/galsci/pysm/blob/main/pysm3/data/presets.cfg, for example:
[d1]
class = "ModifiedBlackBody"
map_I = "pysm_2/dust_t_new.fits"
map_Q = "pysm_2/dust_q_new.fits"
map_U = "pysm_2/dust_u_new.fits"
unit_I = "uK_RJ"
unit_Q = "uK_RJ"
unit_U = "uK_RJ"
map_mbb_index = "pysm_2/dust_beta.fits"
map_mbb_temperature = "pysm_2/dust_temp.fits"
unit_mbb_temperature = "K"
freq_ref_I = "545 GHz"
freq_ref_P = "353 GHz"
The filenames refer to another Github repository: https://github.com/galsci/pysm-data/tree/master/pysm_2
pysm3 3 automatically downloads and caches those data using the astropy.utils.data
facilities. Therefore the first time you use d1
it downloads all the templates and caches them in your home folder, next will load from there.
Inspect model inputs¶
Model templates are stored as attributes of the model class and can be inspected and even modified in place.
[5]:
dust = sky.components[0]
[6]:
hp.mollview(dust.mbb_index, title="Dust spectral index", unit=dust.mbb_index.unit)
[7]:
hp.mollview(dust.mbb_temperature, title="Dust temperature", unit=dust.mbb_temperature.unit)
[ ]: