Model

class pysm3.Model(nside, map_dist=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_lmaxint

\(\ell_{max}\) for the smoothing step, by default \(2*N_{side}\)

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_alm(path[, has_polarization])

See pysm.read_alm, this is a convenience wrapper that passes map_dist and dataurl along

read_cl(path[, has_polarization])

See pysm.read_alm, this is a convenience wrapper that passes map_dist and dataurl along

read_map(path[, unit, field, nside])

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

read_txt(path, **kwargs)

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.

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.

Returns:
outputastropy.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_alm(path, has_polarization=True)[source] [edit on github]

See pysm.read_alm, this is a convenience wrapper that passes map_dist and dataurl along

read_cl(path, has_polarization=True)[source] [edit on github]

See pysm.read_alm, this is a convenience wrapper that passes map_dist and dataurl along

read_map(path, unit=None, field=0, nside=None)[source] [edit on github]

Wrapper of the PySM read_map function that automatically uses nside, pixel_indices and mpi_comm defined in this Model by default. If the nside keyword is set, this will override the Model value when reading the map. This can be used to read in data products that must be processed at a specific nside.

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