The Fortran codes

The authors modified CAMB so that it can calculate the power spectrum of models that have an evolving equation of state parameter of the form w(a)=w0+w1(1-a), where a is the scale factor and w0,w1 are two constants. The code can also calculate the power spectrum for a grid of models and a set of pairs of (w0,w1) values that are input from a file and more importantly the likelihood of that model by using the WMAP 3 likelihood code. For details on the original code please see  the original CAMB ReadMe file.

 

The modifications were made on three files:

 

· equations.f90 : it now contains the modified perturbation evolution equations and is now named equations1.f90

· inidriver.f90  : it also contains the linking to the likelihood code and the grid of models or the file for the input set of pairs of (w0,w1) values, now named inidriver_grid.f90  and inidriver_grid_file.f90  respectively.

· params.ini :  it also contains additional entries that turn on/off various options (see below)

 

equations.f90

The major modifications here are the addition of extra functions for the equation of state w_de(a,w0,w1), the first derivative with respect to the scale factor dw_de(a,w0,w1), the density of the dark energy fluid gr_w_de(a,w0,w1) and  the modification of the dtauda function to include the now evolving dark energy fluid. Also the fderivs and derivs subroutines, that contain the set of differential equations to be solved, are modified to include the effect of an evolving equation of state as described in CAMB notes equations (24) and (25).

 

inidriver.f90

The file is now modified so that the spectra for a grid of models, in the (w0,w1) space are calculated. The number of steps and the step size can be selected from the parameter file (see below). Also the code now uses the WMAP subroutines to calculate the likelihood (see bottom of the inidriver_grid.f90 file).

 

params.ini

This file contains variables that turn on/off various options like:

i. dolikelihood (T/F) : whether or not you want likelihood calculation

ii. use_TT (T/F) : whether or not you want to include the TT part of the spectrum (similarly for the others)

iii. stepnumx/stepnumy : controls the number of steps of the grid in the (w0,w1) space (for one model only set to 1)

iv. stepx/stepy : controls the stepsize

v. wperturb (T/F) : whether or not you want to include dark energy perturbations

vi. w0/w1 : the values for your model, eg (w0,w1)=(-1,0) would correspond to LCDM

 

Compilation

Before compiling the program, edit the “WMAP_3yr_options.f90” file and specifically change the variable “WMAP_data_dir”  to point where you keep the WMAP 3 data, eg something like:

“character(len=1024) :: WMAP_data_dir = 'C:/wmap_likelihood_3yr/data/”

 

You will also need to edit the makefile so that the paths of CFITSIO and Healpix are correct for your system. Next, uncomment (delete the # character) of the EQUATION and DRIVER variables to suit your needs remembering that:

 

· equations.f90 : is the original perturbation evolution equations file

· equations1.f90 : is the modified perturbation evolution equations file

· inidriver.f90: is the original program driver

· inidriver_grid.f90: is the modified program driver that calculates likelihoods for grids of models

· inidriver_grid_file.f90: is the modified program driver that calculates likelihoods for grids of models for pairs of                                                 (w0,w1) values (see example file w0w1_input.txt)

 

To compile, run Cygwin and cd to the folder where CAMB is, when write “make”. To run the program itself write “./camb ./params.ini” where params.ini is the parameter file of your choice.