# Model¶

class pysm.Model(nside, map_dist=None, dataurl=None)[source] [edit on github]

Bases: object

This is the template object for PySM objects.

If a MPI communicator is passed as input and pixel_indices is None, the class automatically distributes the maps across processes. You can implement your own pixel distribution passing both a MPI communicator and pixel_indices, however that won’t support smoothing with libsharp. If libsharp is available, the rings are distributed as expected by libsharp to perform distributed spherical harmonics transforms, see pysm.mpi.distribute_rings_libsharp(), the libsharp grid object is saved in self.libsharp_grid. If libsharp is not available, pixels are distributed uniformly across processes, see pysm.mpi.distribute_pixels_uniformly()

Parameters: mpi_comm: object MPI communicator object (optional, default=None). nside: int Resolution parameter at which this model is to be calculated. smoothing_lmax : int $$\ell_{max}$$ for the smoothing step, by default $$2*N_{side}$$

Methods Summary

 get_emission(self, freqs[, weights]) This function evaluates the component model at a either a single frequency, an array of frequencies, or over a bandpass. read_map(self, path[, unit, field]) Wrapper of the PySM read_map function that automatically uses nside, pixel_indices and mpi_comm defined in this Model read_txt(self, path, \*\*kwargs)

Methods Documentation

get_emission(self, freqs: Unit("GHz"), weights=None) -> Unit("uK_RJ")[source] [edit on github]

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

Parameters: 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. output : astropy.units.Quantity 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.
read_map(self, path, unit=None, field=0)[source] [edit on github]

Wrapper of the PySM read_map function that automatically uses nside, pixel_indices and mpi_comm defined in this Model

read_txt(self, path, **kwargs)[source] [edit on github]