List of cosmological computation software


The cosmic microwave background (CMB) is the thermal radiation assumed to be left over from the "Big Bang" of cosmology. The CMB is a snapshot of the oldest light in our universe, imprinted on the sky when the universe was just 380,000 years old. It shows tiny temperature fluctuations that correspond to regions of slightly different densities, representing the seeds of all future structure: the stars and galaxies of today. Therefore, analysis of the small anisotropies in the CMB helps us to understand the origin and the fate of our universe. In past few decades, there has been a lot of improvement in the observations and several experiments, performed to understand the basic structure of the universe. For analyzing data of different cosmological experiments and for understanding the theoretical nature of the universe many advanced methods and computing software are developed in and used by cosmologists for years. These software are widely used by the cosmologists across the globe.

The computational software, used in cosmology can be classified into the following major classes.

  • Map generation and processing software: These software are used for preparing the CMB sky maps from the crude observational data. The software HEALPIX[1][2][3] is used for map generation and processing.
  • Cosmological Boltzmann codes: These codes are used for calculating the theoretical power spectrum given the cosmological parameters. These codes are capable of calculating the power spectrum from the standard LCDM model or its derivatives. Some of the most used CMB Boltzmann codes are CMBFAST,[4][5][6] CAMB,[7] CMBEASY,[8][9] CLASS,[10][11][12] CMBAns etc.
  • Cosmological parameter estimator: The parameter estimation codes are used for calculating the best-fit parameters from the observation data. The ready to use codes available for this purpose are CosmoMC,[13][14] AnalyzeThis,[15] SCoPE[16] etc.

Map generation and processing software


HEALPix (sometimes written as Healpix), an acronym for Hierarchical Equal Area isoLatitude Pixelisation of a 2-sphere, can refer to either an algorithm for pixelization of the 2-sphere, an associated software package, or an associated class of map projections. Healpix is widely used for cosmological random map generation. The original motivation for devising HEALPix was one of necessity. NASA's WMAP and the European Space Agency’s mission Planck produce multi-frequency data sets sufficient for the construction of full-sky maps of the microwave sky at an angular resolution of a few arc minutes. The principal requirements in the development of HEALPix were to create a mathematical structure that supports a suitable discretization of functions on a sphere at sufficiently high resolution, and to facilitate fast and accurate statistical and astrophysical analysis of massive full-sky data sets. The HEALPix maps are used in almost all the data processing research in cosmology.

Cosmological Boltzmann codes


CMBFAST is a computer code, developed by Uroš Seljak and Matias Zaldarriaga (based on a Boltzmann code written by Edmund Bertschinger, Chung-Pei Ma and Paul Bode) for computing the power spectrum of the cosmic microwave background anisotropy. It is the first efficient program to do so, reducing the time taken to compute the anisotropy from several days to a few minutes by using a novel semi-analytic line-of-sight approach.


Code for Anisotropies in the Microwave Background by Antony Lewis and Anthony Challinor. The code was originally based on CMBFAST. Later several developments are made to make it a faster and more accurate and compatible with the present research. The code is written in an object oriented manner to make it more user friendly.


CMBEASY is a software package written by Michael Doran, Georg Robbers and Christian M. Müller. The code is based on the CMBFAST package. CMBEASY is fully object oriented C++. This considerably simplifies manipulations and extensions of the CMBFAST code. In addition, a powerful Spline class can be used to easily store and visualize data. Many features of the CMBEASY package are also accessible via a graphical user interface. This may be helpful for gaining intuition, as well as for instruction purposes.


CLASS is a new Boltzmann code developed in this line. The purpose of CLASS is to simulate the evolution of linear perturbations in the universe and to compute CMB and large scale structure observables. Its name also comes from the fact that it is written in object-oriented style mimicking the notion of class. Classes are a programming feature available, e.g., in C++ and Python, but these languages are known to be less vectorizable/parallelizable than plain C (or Fortran), and hence potentially slower. CLASS is written in plain C for high performance, while organizing the code in a few modules that reproduce the architecture and philosophy of C++ classes, for optimal readability and modularity.

Parameter estimation packages

A snapshot of AnalyzeThis (CMBEASY) GUI package. The plot shows the marginalize probability distribution from a MCMC chain.


AnalizeThis is a parameter estimation package used by cosmologists. It comes with the CMBEASY package. The code is written in C++ and uses the global metropolis algorithm for estimation of cosmological parameters. The code was developed by Michael Doran, for parameter estimation using WMAP-5 likelihood. However, the code was not updated after 2008 for the new CMB experiments. Hence this package is currently not in use by the CMB research community. The package comes up with a nice GUI.


CosmoMC is a Fortran 2003 Markov chain Monte Carlo (MCMC) engine for exploring cosmological parameter space. The code does brute force (but accurate) theoretical matter power spectrum and Cl calculations using CAMB. CosmoMC uses a simple local Metropolis algorithm along with an optimized fast-slow sampling method. This fast-slow sampling method provides faster convergence for the cases with many nuisance parameters like Planck. CosmoMC package also provides subroutines for post processing and plotting of the data.

CosmoMC was written by Antony Lewis in 2002 and later several versions are developed to keep the code up-to date with different cosmological experiments. It is presently the most used cosmological parameter estimation code.


SCoPE/Slick Cosmological Parameter Estimator is a newly developed cosmological MCMC package written by Santanu Das in C language. Apart from standard global metropolis algorithm the code uses three unique technique named as 'delayed rejection' that increases the acceptance rate of a chain, 'pre-fetching' that helps an individual chain to run on parallel CPUs and 'inter-chain covariance update' that prevents clustering of the chains allowing faster and better mixing of the chains. The code is capable of faster computation of cosmological parameters from WMAP and Planck data.

Other packages

  • MADCAP — Microwave Anisotropy Data Computational Analysis Package developed by Borrill et al.
  • SIToolBox — SI Toolbox is a package for estimating the isotropy violation in the CMB sky. It is developed by Das et al. and it consists of several Fortran subroutines and stand-alone facilities, that can be used to estimate the BipoSH coefficients from non statistically isotropic (nSI) skymaps.[17]
  • RECFAST — Software was developed by Seager, Sasselov, and Scott and used to calculate the recombination history of the universe. The package is used by cosmological boltzmann codes (CMBFast, CAMB etc.)
  • TOAST — Time Ordered Astrophysics Scalable Tools, developed and designed by Theodore Kisner, Reijo Keskitalo, Jullian Borrill et. al. It "generalizing the problem of CMB map-making to the reduction of any pointed time-domain data, and ensuring that the analysis of exponentially growing datasets scales to the largest HPC systems available".[18]

Likelihood software packages

Different cosmology experiments, in particular the CMB experiments like WMAP and Planck measures the temperature fluctuations in the CMB sky and then measure the CMB power spectrum from the observed skymap. But for parameter estimation the χ² is required. Therefore, all these CMB experiments comes up with its own likelihood software.

  • WMAP Likelihood Package
  • Planck Likelihood Software

See also


  1. ^ Gorski, Krzysztof M.; Benjamin D. Wandelt; Frode K. Hansen; Eric Hivon; Anthony J. Banday (23 May 1999). "The HEALPix Primer". arXiv:astro-ph/9905275.
  2. ^ "HEALPIX". software. NASA.
  3. ^ Gorski, K. M.; E. Hivon; A. J. Banday; B. D. Wandelt; F. K. Hansen; M. Reinecke; M. Bartelman (2005). "HEALPix -- a Framework for High Resolution Discretization, and Fast Analysis of Data Distributed on the Sphere". Astrophysical Journal. 622 (2): 759–771. arXiv:astro-ph/0409513. Bibcode:2005ApJ...622..759G. doi:10.1086/427976. S2CID 18743679.
  4. ^ Seljak, Uros; Zaldarriaga, Matias (1996). "A Line of Sight Approach to Cosmic Microwave Background Anisotropies". Astrophysical Journal. 469: 437–444. arXiv:astro-ph/9603033. Bibcode:1996ApJ...469..437S. doi:10.1086/177793. S2CID 3015599.
  5. ^ Zaldarriaga, Matias; Uros Seljak; Edmund Bertschinger (1998). "Integral Solution for the Microwave Background Anisotropies in Non-flat Universes". Astrophysical Journal. 494 (2): 491–502. arXiv:astro-ph/9704265. Bibcode:1998ApJ...494..491Z. doi:10.1086/305223. S2CID 15966880.
  6. ^ Seljak, U., & Zaldarriaga, M. "CMBFAST".
  7. ^ Lewis, Antony; Challinor, Anthony (2011). "CAMB: Code for Anisotropies in the Microwave Background". Astrophysics Source Code Library: ascl:1102.026. Bibcode:2011ascl.soft02026L.
  8. ^ Doran, Michael. "CMBEASY". Archived from the original on 2014-01-18. Retrieved 2014-02-22.
  9. ^ Doran, Michael (27 Apr 2006). "CMBEASY:: an Object Oriented Code for the Cosmic Microwave Background". Journal of Cosmology and Astroparticle Physics (Submitted manuscript). 0510 (10): 011. arXiv:astro-ph/0302138. Bibcode:2005JCAP...10..011D. doi:10.1088/1475-7516/2005/10/011. S2CID 5451633.
  10. ^ Blas, D.; J. Lesgourgues; T. Tram (2011). "CLASS II: Approximation schemes". Journal of Cosmology and Astroparticle Physics. 1107 (7): 034. arXiv:1104.2933. Bibcode:2011JCAP...07..034B. doi:10.1088/1475-7516/2011/07/034. S2CID 53490516.
  11. ^ Lesgourgues, J (2011). "CLASS I: Overview". arXiv:1104.2932 [astro-ph.IM].
  12. ^ Lesgourgues, J. "CLASS".
  13. ^ Lewis, Antony; Sarah Bridle (2002). "Cosmological parameters from CMB and other data: a Monte-Carlo approach". Physical Review D. 66 (10): 103511. arXiv:astro-ph/0205436. Bibcode:2002PhRvD..66j3511L. doi:10.1103/PhysRevD.66.103511. S2CID 55316758.
  14. ^ Lewis, Antony (2013). "Efficient sampling of fast and slow cosmological parameters". Physical Review D. 87 (10): 103529. arXiv:1304.4473. Bibcode:2013PhRvD..87j3529L. doi:10.1103/PhysRevD.87.103529. S2CID 119259816.
  15. ^ Doran, Michael; Christian M. Mueller (2004). "Analyze This! A Cosmological Constraint Package for CMBEASY". Journal of Cosmology and Astroparticle Physics. 0409 (3): 003. arXiv:astro-ph/0311311. Bibcode:2004JCAP...09..003D. doi:10.1088/1475-7516/2004/09/003. S2CID 119333027.
  16. ^ Das, Santanu; Tarun Souradeep (2014). "SCoPE: An efficient method of Cosmological Parameter Estimation". Journal of Cosmology and Astroparticle Physics. 1407 (18): 018. arXiv:1403.1271. Bibcode:2014JCAP...07..018D. doi:10.1088/1475-7516/2014/07/018. S2CID 119233297.
  17. ^ Das, Santanu (November 2019). "SIToolBox: A package for Bayesian estimation of the isotropy violation in the CMB sky". MNRAS. 489 (4): 5889–5899.
  18. ^ "C3 Research — CMB".