CMB from Planck

Family of Planck CMB likelihoods. Contains interfaces to the official 2018 clik code and some native ones, including more recent NPIPE (PR4) results that can be run without clik. You can find a description of the different original likelihoods in the Planck wiki.

The Planck 2018 baseline likelihoods defined here are:

  • planck_2018_lowl.[TT|EE]: low-\(\ell\) temperature-only or EE polarization-only (Cobaya-native python implementation)

  • planck_2018_lowl.[TT|EE]_clik: original clik versions of the above

  • planck_2018_highl_plik.[TT|TE|EE|TTTEEE]: plikHM high-\(\ell\) temperature|polarization|temperature+polarization (clik version)

  • planck_2018_highl_plik.[TT|TTTEEE]_unbinned: unbinned versions of the previous ones (clik version)

  • planck_2018_highl_plik.[TT|TTTEEE]_lite: faster nuisance-marginalized versions of the previous (binned) ones (clik version)

  • planck_2018_highl_plik.[TT|TTTEEE]_lite_native: Python Cobaya-native versions of the nuisance-marginalizes ones (more customizable)

  • planck_2018_highl_CamSpec.[TT|TTTEEE]: Cobaya-native Python versions of the alternative high-\(\ell\) CamSpec likelihoods.

  • planck_2018_lensing.clik: lensing temperature+polarization-based (clik version)

  • planck_2018_lensing.native: lensing temperature+polarization-based; Cobaya-native Python version (more customizable)

  • planck_2018_lensing.CMBMarged: CMB-marginalized, temperature+polarization-based lensing likelihood; Cobaya-native Python version (more customizable). Do not combine with any of the ones above!

Note

If you use any of these likelihoods, please cite and other relevant papers:
Planck Collaboration, Planck 2018 results. V. CMB power spectra and likelihoods (arXiv:1907.12875)
Planck Collaboration, Planck 2018 results. VIII. Gravitational lensing (arXiv:1807.06210)

Other more recent Planck likelihoods are:

  • planck_NPIPE_highl_CamSpec.[TT|TE|EE|TTEE|TTTEEE]: latest native (bundled) python NPIPE (PR4) CamSpec high-\(\ell\) likelihoods

  • planck_2020_lollipop.[lowlE|lowlB|lowlEB]: latest python NPIPE (PR4) Lollipop low-\(\ell\) likelihoods. pip install from GitHub

  • planck_2020_hillipop.[TT|TE|EE|TTTEEE]: latest python NPIPE (PR4) Hillipop high-\(\ell\) likelihoods. pip install from GitHub

  • planckpr4lensing.[PlanckPR4Lensing|PlanckPR4LensingMarged]: NPIPE lensing; pip install from GitHub

  • planck_2018_highl_CamSpec2021.[TT|TTTEEE]: native Python versions of high-\(\ell\) CamSpec likelihoods (from arXiv 1910.00483).

  • planck_2018_lowl.EE_sroll2: low-\(\ell\) EE polarization from 2019 Sroll2 analysis (native python)

Usage

To use any of the Planck likelihoods, you simply need to mention them in the likelihood block, or add them using the input generator.

The corresponding nuisance parameters will be added automatically, so you don’t have to care about listing them in the params block.

The nuisance parameters and their default priors can be obtained as explained in Getting help and bibliography for a component.

Customization of clik-based likelihoods

Likelihoods based on the official clik code (planck_2018_lowl.[TT|EE]_clik, planck_2018_highl_plik.[TT|TE|EE|TTTEEE]][_unbinned|_lite], planck_2018_highl_plik.[TT|TTTEEE], planck_2018_lensing.clik) now use the pure-Python clipy implementation.

These likelihoods can now take commands at initialization for cropping, notching or spectra from individual frequency maps. The syntax can be found in the README section of the Github repo.

To use any of this commands in Cobaya, simply pass a single one or a list of them, e.g.:

likelihood:
  planck_2018_highl_plik.TTTEEE:
    commands: ["no TT", "only EE 217x217 500 800 lax"]

Installation

This likelihoods can be installed automatically as explained in Installing cosmological codes and data. If you are following the instructions there (you should!), you don’t need to read the rest of this section.

Manual installation of the Planck 2018 likelihoods

If you would like to install the Python-native clipy implementation by hand (e.g. with the purpose of modifying it), you can simply clone its Github repo anywhere and install this local copy with pip install .. Alternatively, you can automatically install the last release with pip install clipy-like (NB: pip install clipy installs a completely different package!). In both cases, make sure that you can import clipy from anywhere.

Now, download the required likelihood files from the Planck Legacy Archive. For instance, if you want to reproduce the baseline Planck 2018 results, download the file COM_Likelihood_Data-baseline_R3.00.tar.gz and decompress it under e.g. /your/path/to/planck_2018.

Finally, download and decompress in that same folder the last release at this repo.

You can now invoke the Planck 2018 likelihoods as

likelihood:
  planck_2018_lowl.TT_clik:
    clik_file: /your/path/to/planck_2018/plc_3.0/low_l/commander/commander_dx12_v3_2_29.clik
  planck_2018_highl_plik.TTTEEE:
    clik_file: /your/path/to/planck_2018/plc_3.0/hi_l/plik/plik_rd12_HM_v22b_TTTEEE.clik

Interface for official clik code

Synopsis:

Definition of the clik-based likelihoods using clipy

Author:

Jesus Torrado (initially based on MontePython’s version by Julien Lesgourgues and Benjamin Audren) Updated to use clipy by Antony Lewis and Jesus Torrado

Native CamSpec version

Synopsis:

Definition of python-native CamSpec 2018 likelihood (not official Planck product)

Author:

Antony Lewis (from CamSpec f90 source by GPE, StG and AL)

This python version loads the covariance, and cuts it as requested (then inverting). It can take a few seconds the first time it is loaded, but the inverse can be cached. The Planck likelihood code (clik) is not required.

Use dataset_params : { ‘use_cl’: ‘100x100 143x143 217x217 143x217’} to use e.g. just TT , or other combination with TE and EE.

Set use_range to string representation of L range to use, e.g. 50-100, 200-500, 1470-2500, or pass a dictionary of ranges for each spectrum.

It is used by the 2018 and more recent CamSpec Planck likelihoods.

Native lite version

Synopsis:

Definition of python-native nuisance-free CMB likelihoods: e.g. plik_lite

Author:

Erminia Calabrese, Antony Lewis

Nuisance-marginalized likelihood, based on covarianced and binned CL, with settings read from .dataset file.