class pysm3.InterpolatingComponent(path, input_units, nside, interpolation_kind='linear', map_dist=None, verbose=False)[source] [edit on github]

Bases: Model

PySM component interpolating between precomputed maps

In order to save memory, maps are converted to float32, if this is not acceptable, please open an issue on the PySM repository. When you create the model, PySM checks the folder of the templates and stores a list of available frequencies. Once you call get_emission, maps are read, ud_graded to the target nside and stored for future use. This is useful if you are running many channels with a similar bandpass. If not, you can call cached_maps.clear() to remove the cached maps.

It always returns a IQU map to avoid broadcasting issues, even if the inputs are I only.


Path should contain maps named as the frequency in GHz e.g. 20.fits or 20.5.fits or 00100.fits


Any unit available in PySM3 e.g. “uK_RJ”, “uK_CMB”


HEALPix NSIDE of the output maps


Currently only linear is implemented


Required for partial sky or MPI, see the PySM docs


Control amount of output

Methods Summary

get_emission(freqs[, weights])

This function evaluates the component model at a either a single frequency, an array of frequencies, or over a bandpass.



read_map_file(freq, filename)

Methods Documentation

get_emission(freqs: Unit('GHz'), weights=None)[source] [edit on github]

This function evaluates the component model at a either a single frequency, an array of frequencies, or over a bandpass.

freqs: scalar or array astropy.units.Quantity

Frequency at which the model should be evaluated, in a frequency which can be converted to GHz using astropy.units. If an array of frequencies is provided, integrate using trapz with a equal weighting, i.e. simulate a top-hat bandpass.

weights: np.array, optional

Array of weights describing the frequency response of the instrument, i.e. the bandpass. Weights are normalized and applied in Jy/sr.


Simulated map at the given frequency or integrated over the given bandpass. The shape of the output is (3,npix) for polarized components, (1,npix) for temperature-only components. Output is in uK_RJ.

get_filenames(path)[source] [edit on github]
read_map_by_frequency(freq)[source] [edit on github]
read_map_file(freq, filename)[source] [edit on github]