The CLASS code extended to the tSZ power spectrum computation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bbn
cpp
doc
external_Pk
hyrec
include
main
notebooks
output
python
source
sz_auxiliary_files
test
tools
.gitignore
CPU
CPU.py
Makefile
README.rst
README_CLASS.md
REFCLASS.pre
REFCLASS_tClpCl.pre
benchmark.ini
chi2pl0.01.pre
chi2pl0.1.pre
chi2pl1.pre
chi2pl10.pre
chi2plT0.01.pre
chi2plT0.01lensed.pre
chi2plT0.1.pre
chi2plT0.1lensed.pre
cl_2permille.pre
cl_3permille.pre
cl_permille.pre
cl_ref.pre
clt_permille.pre
concise.ini
lcdm.ini
myevolution.dat
myselection.dat
pk_ref.pre
plot_CLASS_output.m
psd_FD_single.dat
trg.ini

README.rst

CLASS_SZ

Cosmic Linear Anisotropy Solving System

With Thermal Sunyaev Zeldovich Power Spectrum Computation

The SZ module is based on Eiichiro Komatsu’s fortran code SZFAST.

(See http://wwwmpa.mpa-garching.mpg.de/~komatsu/CRL/clusters/szpowerspectrumks/)

The SZ module is included in the file source/szpowerspectrum.c and its dependencies.

The code CLASS_SZ is an extension of the CLASS code.

For download and information on class, see http://class-code.net and https://github.com/lesgourg/class_public

(README file adapted from the README_CLASS.rst file.)

Downloading the code

Go to https://github.com/borisbolliet/class_sz_public

Using the code

You can use class_sz freely, provided that in your publications you cite at least the papers:

Dark Energy from the Thermal Sunyaev Zeldovich Power Spectrum (Bolliet, Comis, Komatsu, Macias-Perez, 2017).

CLASS II: Approximation schemes (Blas, Lesgourgues, Tram, 2011).

The Sunyaev-Zel'dovich angular power spectrum as a probe of cosmological parameters (Komatsu and Seljak, 2002).

Compiling CLASS_SZ and getting started

Move to the code repository

$ cd class_sz_public

Clean up and Compile

$ make clean

$ make

(You may need to do a ‘$ sudo make’.)

The code class_sz runs in parallel, so you need a gcc compiler that is not clang.

The previous commands compile both the executable and the python wrapper. If you do not want the classy python module do ‘$ make class’.

For the python module, you need the prerequisites such as numpy, scipy and Cython installed on your computer.

First, run the code without SZ power spectrum computation

$ ./class explanatory-class.ini

Then, run the code with SZ power spectrum computation

$ ./class explanatory-sz.ini

The explanatory files are reference input files, containing and explaning the use of all possible input parameters.

Python Wrapper and Jupyter Notebooks

To use CLASS from python, or ipython notebooks, or from the montepython parameter extraction code, you need to compile not only the code, but also its python wrapper. (This can be done by typing just 'make' instead of 'make class’.)

The notebook SZ-notebook.ipynb computes the tSZ power spectrum, the binned and unbinned trispectrum.

The notebook SZ-PressureProfile.ipynb tabulates the 2d Fourier transform of the GNFW pressure profiles Arnaud et al 2010 and Planck 2013.

The notebook SZ-CM-Zhao09.ipynb tabulates the Zhao et al 2009 concentration-mass relation at several redshifts (obtained with the mandc code).

(To open the notebooks you need jupyter.)

Type, e.g.:

$ jupyter notebook sz_auxiliary_files/SZ-notebook.ipynb

Support

To get support on the SZ module, please open a new issue on:

https://github.com/borisbolliet/class_sz_public