Cosmic Linear Anisotropy Solving System
With Thermal Sunyaev Zeldovich Power Spectrum Computation
The SZ module is based on Eiichiro Komatsu’s fortran code SZFAST.
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.
(README file adapted from the README_CLASS.rst file.)
Downloading the code
Using the code
You can use class_sz freely, provided that in your publications you cite at least the papers:
Compiling CLASS_SZ and getting started
Move to the code repository
$ cd class_sz_public
Clean up and Compile
$ make clean
(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.)
$ jupyter notebook sz_auxiliary_files/SZ-notebook.ipynb
To get support on the SZ module, please open a new issue on: