ISiTGR (v1.1.1) Readme

This version of ISiTGR is for the January 2012 version of CosmoMC


ISiTGR is an integrated set of modified modules for the software package CosmoMC for use in testing whether observational data is consistent with general relativity on cosmological scales. This latest version of the code has been updated to allow for the consideration of non-flat universes. It incorporates modifications to the codes: CAMB, CosmoMC, the ISW-galaxy cross correlation likelihood code of Ho et al, and our own weak lensing likelihood code for the refined COSMOS 3D weak lensing tomography of Schrabback et al to test general relativity.

To use ISiTGR you must first download and install CosmoMC (12/2012 version). You can find download instructions, system requirements, and setup instructions for CosmoMC in the CosmoMC ReadMe. Then, simply copy the contents of the unzipped ISiTGR folder to the CosmoMC folder, edit the Makefile for your compilers, compile (extra compiling step here), and you are ready to go.

Basic usage of ISiTGR is the same as CosmoMC. See below for extra options in the params.ini file and added organizational features in ISiTGR.

Differences between ISiTGR and CosmoMC

Other than the changes to the code to incorporate the parameters used to test general relativy as described in our papers: arXiv:1109.4583 and arXiv:1205.2422, the following additional changes have been made

  • params.ini

    In both ISiTGR and ISiTGR_BIN the following additions have been made to the params.ini file.
    • The line: root_dir = has been added. This line is to specify what directory you want to store your chains in. The default value is "chains/" as that is the usual directory to where chains are stored. Because of this change you no longer need to put "chains/" in the file_root line where you specify what you want to name a particular job.
      This change was made to make it easier to run multiple chains with the ISW-galaxy cross correlation code.
    • The .paramnames file name was changed to params_TGR.paramnames
    • To run the ISW-galaxy cross correlation likelihood code the line use_ISW = has been added. Set this to T if you want to use this likelihood.
    • To vary the Weak lensing nuissance parameter fz which accounts for a 10% uncertainty in the redshift distribution of galaxies in the the sixth redshift bin of the refined COSMOS data. We added the parameter line:

      param[WLFZ] = 1 1 1 0 0 ## 1. 0.9 1.1 0.1 0.1 ##

      When using the weak lensing likelihood set put the 1. 0.9 1.1 0.1 0.1 ## before the 1 1 1 0 0 ## to vary this parameter.

    Additional parameters and options for testing general relativity: ISiTGR

    • The option: Use_R_Function = lets you decide which parameters for testing GR you want to evolve using the funcitonal form shown in our paper. Setting this option to T evolves the parameters Q and R, while setting this option to F evolves Q and D.
    • For varying the parameters used to test GR we add the following parameter lines, please refer to our paper for a detailed explanation of each of these parameters.

      param[Q0] = 1 0 10 0.05 0.05 ## 1 1 1 0 0

      param[Qinf] 1 1 1 0 0 ## 1 0 10 0.05 0.05

      param[D0] = 1 0 10 0.05 0.05 ## 1 1 1 0 0

      param[Dinf] = 1 1 1 0 0 ## 1 0 10 0.05 0.05

      param[kc] = 0.01 0.01 0.01 0 0

      param[s] = 0 0 3 -1 1 ## 0 0 0 0 0 ##

    • The option: Scale_Dependent = lets you decide whether the evolution of the parmaters is scale dependent. Setting this option to T enforces scale dependence, and the parameters ending in inf above should be varied or changed to whatever value you want the parameters to take on small scales.

    Additional parameters and options for testing general relativity: ISiTGR_BIN

    • For varying the parameters used to test GR we add the following parameter lines, please refer to our paper for a detailed explanation of each of these parameters.

      param[Q1] = 1 0 10 0.05 0.05

      param[Q2] = 1 0 10 0.05 0.05

      param[Q3] = 1 0 10 0.05 0.05

      param[Q4] = 1 0 10 0.05 0.05

      param[D1] = 1 0 10 0.05 0.05

      param[D2] = 1 0 10 0.05 0.05

      param[D3] = 1 0 10 0.05 0.05

      param[D4] = 1 0 10 0.05 0.05

      param[kc] = 0.01 0.01 0.01 0 0

    • The option: z_grid_spacing = defines the size of your bins in redshift bins.
    • The option: Do_Exponential_Binning = lets you choose how you want to transition between scale bins. Setting this option to T sets transitions between scale bins to behave as an exponential function with a decay constant kc (This is the hybrid method described in our paper). Setting this option to F sets transitions between scale bins to behave as a hyberbolic tangent functions (near step functions) with the bins divided at k = kc.
  • cmbtypes.f90

    Other than adding the parameters used to test GR to the CMBParams type. We have also made the following changes:
    • We have added additional power spectrum setting for three additional power spectrum arrays, lens_power_spec, iswgal_power_spec, and iswgal_power_spec_splinez. These allow us to pass these spetra directly from CAMB. The array power_spec_k is used to store k-values for the above power spectrum arrays.
    • We have also added the array z_and_r as was originally done in the weak lensing likelihood code by Lesgourgues et al, upon which we based our weak lensing likelihood code. Other modifications described to implement that code such as those to files CMB_Cls_simple.f90 were also made in both versions of ISiTGR
    • The funciton ISWgal_PowerSpecAt_Z is added to interpolate values of for that power spectrum. It is based on the function MatterPowerAt_Z. It is called by the subroutine lrg_compute2dCl_Limber in lrg_2dCl.f90.
  • mpk.f90 and lrggettheory.f90

    We have modified the function mpk_SetTransferRedshifts in mpk.f90 to correctly order the matter power redshifts passed to CAMB. Also, the array z_lrg_index has been added to lrggettheory.f90. This array is used to pass the positions of the LRG redshifts in the redshifts array to CMB_Cls_simple for use when filling the LRG matter power spectrum arrays.
  • camb

    We added the function Transfer_GetPowerSpec in modules.f90. This outputs a power spectrum with arbitrary transfer funcitons and is used to caculate the lensing and ISW-galaxy power spectra for use in the ISW and weak lensing likelihood functions. Addtional transfer variables were defined as well. They are used to define which transfer functions to use. We added the neccessary transfer functions to equations.f90.
  • ISW-galaxy cross correlation likelihood code

    To implement the ISW-galaxy cross correlations likelihood code of Ho et al, the following files have been added to source/: lrg_2dCl.f90 and iswdata.f90 . The files jl.f90 and lrg_pk.f90 have been removed in this latest version of the code. They are no longer needed with the implementaion of the iswgal_power_spec array and the ISWgal_PowerSpecAt_Z function.
    The folder bdndz_code which contains c-codes called by the routine Iswlnlike in iswdata.f90 has been added to the root directory. Before running either version of ISiTGR for the first time, these c-codes must be compiled. This can be done by changing the line TCC = to the appropriate compiler call, and running make within the bdndz_code directory. When Iswlnlike calls the c-program dndz.x it passes input files and output file names to the program. These files are saved in the IO directory within the bdndz_code directory.
  • Weak Lensing Likelihood code

    In addition to modifying WeakLen.f90, for the data of Schrabback et al, we have also modified it for compatibility with curved universes. We also added the file AngularCorrSchr.f90 to the source directory. Both of these files are based upon the files contained in the original COSMOS weak lensing likelihood code of Lesgourges et al.
  • Other Stuff

    We have also added the following files and folders for organizational convenience. Use of them is purely optional.
    • recompiles both CosmoMC and CAMB. One of these scripts is located in the root directory, and one is located in scripts/.
    • recompiles only of CosmoMC. This file is located in the root directory.
    • Running the script in scripts through Grid Engine (after changing addresses within the script appropriately) will start 8 chain MPI runs of your params.ini file. It will output feedback from these jobs into the folder out_files/, located in the root directory. Any errors Grid Engine errors from these jobs will be stored in scripts/errors/
    • The folder distout/ in the root directory is where the outputs of getdist are placed.

Referencing ISiTGR

We would ask that when using ISiTGR or a modified version of it, you cite: our paper, this website; the original CAMB paper; the original CosmoMC paper; and the papers on original ISW-galaxy cross correlation likelihood by Ho et al and Hirata et al. If the refined HST COSMOS 3D weak lensing tomography likelihood in our code is used, the papers by Schrabback et al., Scoville et al., and Ilbert et al should be cited. When using the WiggleZ BAO likelihood module please cite the paper of Blake et al.  Additionally please cite the use of any other datasets already included in the original version of CosmoMC.

Version History

1.1.1 (Released 05/29/13, this version): Includes bug fixes (Special thanks to Ana Caramete and Lucia Popa).

1.1: Updated code to allow for non-flat universes when varying the MG parameters.

1.02.2 (Released 05/29/13): Includes bug fixes.

1.02: Updated to January 2012 version of CosmoMC.

1.01.2 (Released 05/29/13): Includes bug fixes.

1.01: Updated to October 2011 version of CosmoMC. BAO module now comes included in CosmoMC (Thanks to Antony Lewis).

1.0.1 (Released 05/29/13): Includes bug fixes.

1.0: Initial release, for August 2011 version of CosmoMC.


If you have any questions or comments about this readme, or you want further details on the changes made to CosmoMC or CAMB in ISiTGR, please feel free to email Jason Dossett at