CROSS_CMBFAST
Code based on CMBFAST4.5.1 by Seljak & Zaldarriaga

Welcome to CROSS_CMBFAST

This code is an extension of CMBFAST4.5.1 to compute the ISW-correlation power spectrum and the 2-point angular ISW-correlation function for a given galaxy window function. It includes dark energy models specified by a constant equation of state (w) or a linear parameterization in the scale factor (w0,wa) and a constant sound speed (c2de). For reference see astro-ph/0504115, while for a detailed description of the ISW-correlation equations implemented see astro-ph/0506396. The ISW computation is limited to flat geometry. Differently from the original CMBFAST4.5 version dark energy perturbations are implemented for a general dark energy fluid specified by w(z) and c2de in synchronous gauge (see for instance Eq.7-9 in Bean and Dore astro-ph/0307100). For time varying dark energy models it is suggested not to cross the w=-1 line, as Dr. Wenkman says: "never cross the streams", bad things can happen.

Galaxy Selection Function

The code allows to specify the galaxy window function. Two possibilities are implemented: 1) a standard window function ( A z^m exp[-(z/z0)^beta] ) normalized to unity with input parameters median redshift zmed (=1.41 z0) and the slopes m and beta. A bit of care is necessary for the normalization (see remarks); 2) Luminous Red Galaxies window function from SDSS.

Output

The output consists of two files, the angular ISW-correlation function in microK (theta,C_Tg(theta)) and the power spectra in multipole space, the second column is the ISW-correlation power spectrum l(l+1)/2pi C_l(Tg) and the last column is the matter-matter angular power spectrum l(l+1)/2pi C_l(gg), in order to get the galaxy-galaxy power spectrum you need to multiply by your preferred constant bias value or you need to implement the model bias in the ISW-correlation computation (see remarks). Other columns are standard CMB spectra as in CMBFAST. Output data are normalized as WMAP3 at k=0.002 Mpc^-1 (A_s is an input parameter).

Remarks

The code can be easily modified for studying ISW-correlation in more complicate models (modified gravity, time varying neutrino mass, coupled quintessence, etc..). In order to implement a scale and time dependent bias you need to modify the ISW-correlation computation in cmbcrossflat.F. If you want to use a non-standard selection function you can modify it in subcross.F. and change the normalization accordingly, you can use a numerical integration which I left for such a case. On the other hand if you want to use a very broad standard selection function be careful with the value of beta you plug in, if beta ~ 0 remember that the Gamma function blows up, while you are just using a power low selection function whose integral depends on the maximmum redshift of the survey.

In case of bugs, problems, questions or tips for modifying the code just drop me an email and I will get back to you asap.

Dowload here


CROSS_CMBfast1.2.tar.gz

Updates

  • October 2007, Version 1.2: file subcross.F of the old version has been now removed and substituted with the correct one (thanks to Kazuhide Ichikawa for noticing the problem).
  • August 2007, Version 1.2: minor bug affecting pressure perturbation for time evolving DE models removed (thanks to Alessandro Melchiorri for spotting the problem).
  • November 2006, Version 1.1: for the Galaxy Selection function the normalization is semi-analytical having implemented the Gamma function, this solve problems with the numerical integration which arise for broad profiles (thanks to Anais Rassat for pointing the problem) as long as beta is not too close to zero. Time integration after recombination has now been increased to remove artificial wiggles induced by the Bessel functions when reionization is switched off (thanks to Pablo Fosalba for pointing the problem). Minor bugs removed.
  • >September 2006, Version 1.0: not available anymore.


  • How to run CROSS_CMBfast:

    gunzip CROSS_CMBFAST.tar.gz
    tar xvf CROSS_CMBFAST.tar
    mkdir output
    then modify Makefile for your compiler and optimization flags
    (default is ifort -O3)

    make
    before starting create the Bessel function file and call it jl.dat
    jlgen (./jlgen if you use bash)
    cmb
    output files are stored in the directory output
    in the package I left two test input files
    wconst.ini and wvar.ini, try
    cmb < wvar.ini
    and HAVE FUN

 

back