SMICA propagation code
Propagation through the SMICA pipeline
We provide code and ancillary data for reproducing the SMICA filtering, that is, the propagation from simulated input (frequency channel maps) to output (CMBCosmic Microwave background map). This propagation is done by linear combination of the input maps in the harmonic domain with mutipole-dependent weights.
The code is only intended to be used with simulations, not real data. It is not meant to reproduce the SMICA Planck maps. The propagation code is a (fast) simplified version of the SMICA pipeline, which does not include, for example, the point sources pre-processing and other complications due to the presence of galactic and extra galactic foreground emission.
The deliverable consists of a single archive file which contains a python script as well as all required ancillary data (harmonic weights ans transition mask).
It can be retrieved from the Planck Legacy Archive http://pla.esac.esa.int/pla under "Software, beams and instrument model" and then "Software" or directly from:
The script is written in Python2 and depends on several Python modules:
- healpy >= 1.7.4 (https://healpy.readthedocs.io/en/latest/) ;
- pyfits >= 3.4 (https://pythonhosted.org/pyfits/) ;
- numpy .
Ancillary data provided along with the script corresponds to:
- "transition_mask.fits.gz": definition of the Xhigh area (see Planck Collaboration IV. 2018 for a description of the SMICA pipeline);
- "weights_T_smica_R3.00_<X>.txt" with X in `["Xhigh", "Xfull"]`: harmonic weights to be used in temperature;
- "weights_EB_smica_R3.00.txt": harmonic weights to be used in polarization.
Input data consist of a set of nine Planck frequency maps, having the same properties as the Planck simulation maps.
- Units, maps should be in "K_CMBCosmic Microwave background" units, except for the 545-GHz and 857-GHz maps, which should be in "MJy/sr" (conversion factors are explicitly given in the code).
- Beam convolution. the weights include a beam correction necessary to put all the maps at the same resolution. The beam window functions that we used are provided within the PLAPlanck Legacy Archive, and can be used to generate new simulations.
- Calibration: Since LFI(Planck) Low Frequency Instrument beam window functions have been de-normalized to account for calibration correction of real data, our weights also include a "re-normalization" of the LFI(Planck) Low Frequency Instrument beam window function. Therefore, this can be ignored by users when generating new simulations.
The script provides a basic routine (named "my_freq_map_finder" L45) to retrieve input files from a given directory, which should be customized by users to match their needs.
smica_coadd input_directory output_directory 0 1000 smica_coadd input_directory output_directory 0 1000 --polar
will process sequencially the realizations numbered 0 to 1000 from the input directory. One can call the script in a parallel mode, where realization indices are split over processes or threads.
The outputs of a temperature run are FITSFlexible Image Transfer Specification files of one column corresponding to intensity pixel values. The outputs of a polarization run are FITSFlexible Image Transfer Specification files of two columns for Q and U stokes parameters. Units of the output maps are given in the UNITS header keyword.