Fast computation of SZ Signals


Many thanks for your interest in SZpack. The current version is SZpack v1.1.1, which  can be found here. SZpack allows fast and precise computation of the SZ signal for hot, moving clusters of galaxies. Both explicit numerical integration as well as approximate representation of the SZ signals can be obtained. Variations of the electron temperature and bulk velocity along the line-of-sight can be included. Depending on the routine, calculations are carried out in the cluster frame or CMB rest frame. The SZ signal in the observer frame is then obtained by Lorentz-transformation.

At the moment the following approximations are used:

  1. computations are performed in the single-scattering approximation

  2. polarization effects are neglected

  3. the electron distribution function is assumed to be thermal

For details we refer to

  1. Chluba, Nagai, Sazonov, Nelson, MNRAS, 2012, arXiv:1205.5778,

  2. Chluba, Switzer, Nagai, Nelson, MNRAS, 2012, arXiv:1211.3206

and the README file of the tar-ball. When using SZpack, please consider citing these references.

SZpack now also includes python bindings and additional SZ python tools (maintained by Eric Switzer) can be found here.

For comments, questions, or bug reports please email


Lastest Updates

--------------------------------------------------------------------------------------------------------------------------------------------- Update (17.09.2013 | SZpack v1.1.1)

  1. small updates of functions

  2. two new runmodes to show importance of relativistic corrections (see './run_SZpack.cpp')

  3. fixed bug because of betac^2 P_2(muc) == beta_para^2 - beta_perp^2/2

  4. fixed bug for combo routine an beta_para<0 (thanks to John ZuHone & Tony Mroczkowski)

--------------------------------------------------------------------------------------------------------------------------------------------- Update (22.12.2012 | SZpack v1.1)

  1. run_SZpack: new runmodes 'CNSNopt', 'COMBO', 'ACC', 'MEAN', 'NULL', 'DERIVS', 'TWOT'

  2. added temperature-velocity moment method for smooth profiles according to CSNN, 2012

  3. introduced combo function that allows computing the SZ signal over a wide range of Te

  4. added function that minimizes the number of temperature terms for given accuracy goal

  5. added Python bindings for main SZpack functions

  6. computation of the SZ null and temperature derivative functions included

  7. changed definition of S^kin; temperature-independent terms are fully canceled in basis

  8. added basis functions expressed in the CMB rest frame

--------------------------------------------------------------------------------------------------------------------------------------------- First release (04.06.2012 | SZpack v1.0)

  1. initial version of SZpack with four main functions

  2. executable is created to run these modes with different settings

  3. different examples are given in 'run_SZpack.cpp'