camb/ ****modules.f90**** After line: end function AngularDiameterDistance Include lines: function AngularDiameterDistanceLCDM(z) real(dl) AngularDiameterDistanceLCDM,om,atol,rombint,Int real(dl), intent(in) :: z real(dl), parameter :: c = 2.99792458e5_dl external rombint ! flat LCDM with H_0=70 O_m=0.3 O_l=0.7; reference cosmology in the fgas fitting formula atol = tol/1000/exp(AccuracyBoost-1) Int=rombint(dtaudaLCDM,0._dl,z,atol) AngularDiameterDistanceLCDM = (c/70)*(1._dl/(1+z))*Int end function AngularDiameterDistanceLCDM function dtaudaLCDM(z) implicit none real(dl), intent(in) :: z real(dl) dtaudaLCDM ! flat LCDM with H_0=70 O_m=0.3 O_l=0.7; reference cosmology in the fgas fitting formula dtaudaLCDM=1._dl/sqrt((0.3_dl*((1+z)**3))+0.7_dl) end function dtaudaLCDM source/ ****calclike.f90**** After line: use snovae Include line: use clusters Comment out line: real :: Omk_min = -0.3, Omk_max = 0.3 Include line: real :: Omk_min = -1.5, Omk_max = 1.5 ! larger prior (supernovae, clusters) After lines: if (Use_SN .and. GetLogLikePost /= logZero ) then if (Info%Theory%SN_loglike /= 0) then GetLogLikePost = GetLogLikePost + Info%Theory%SN_loglike else GetLogLikePost = GetLogLikePost + SN_LnLike(CMB) end if !Assume computed only every time hard parameters change end if Include lines: if (Use_XrayClusters .and. GetLogLikePost /= logZero ) then if (Info%Theory%CL_loglike /= 0) then GetLogLikePost = GetLogLikePost + Info%Theory%CL_loglike else GetLogLikePost = GetLogLikePost + CL_LnLike(CMB) end if !Assume computed only every time hard parameters change end if After line: if (Use_SN) GetLogLikePost = GetLogLikePost + SN_LnLike(CMB) Include line: if (Use_XrayClusters) GetLogLikePost = GetLogLikePost + CL_LnLike(CMB) ****cmbtypes.f90**** After line: real SN_loglike, reserved(3) Include line: real CL_loglike After line: write(i) T%SN_loglike, T%reserved Include line: write(i) T%CL_loglike After line: read(i) T%SN_loglike, T%reserved Include line: read(i) T%CL_loglike ****CMB_Cls_simple.f90**** After line: use snovae Include line: use clusters After line: logical :: Use_SN =.false. !Compute Supernovae likelihoods only when background changes Include line: logical :: Use_XrayClusters =.false. !Compute Xray Clusters likelihoods only when background changes After lines: if (Use_SN) then Info%Theory%SN_Loglike = SN_LnLike(CMB) else Info%Theory%SN_Loglike = 0 end if Include lines: if (Use_XrayClusters) then Info%Theory%CL_Loglike = CL_LnLike(CMB) else Info%Theory%CL_Loglike = 0 end if ****driver.F90**** After line: mpk_filename(100), SZTemplate(100), numstr, fname Include line: character(LEN=1200) fgas_filename After line: Use_mpk = Ini_Read_Logical('use_mpk',.false.) ! matter power spectrum, incl 2dF Include lines: Use_Theta_Param = Ini_Read_Logical('use_theta_param',.true.) !flag to switch theta<->H0 Use_XrayClusters = Ini_Read_Logical('use_XrayClusters',.false.) After line: use_LSS = Use_LSS .or. Use_mpk .or. Use_Clusters .or. Use_WeakLen .or. Use_Lya Include lines: !if CMB data is used, this flag will be set to T if (Use_CMB) then Use_Theta_Param = Use_CMB endif After lines: do i= 1, nummpksets mpk_filename(i) = Ini_Read_String(numcat('mpk_dataset',i)) end do Include line: fgas_filename = Ini_Read_String('fgas_dataset') After lines: if (Feedback>1) write(*,*) 'read mpk datasets' end if Include lines: if (Use_XrayClusters) then call CL_init(fgas_filename) endif ****params_CMB.f90**** After line: CMB%w = Params(7) Include lines: E_c = Params(8) gamma_non_th = Params(9) calibrf = Params(10) bias_0 = Params(11) ! bias factor alpha_b = Params(12) ! linear bias factor evolution stellar_0 = Params(13) ! stellar fraction alpha_s = Params(14) ! linear stellar fraction evolution After line: use cmbtypes Include line: use clusters After line: Params(7) =CMB%w Include lines: Params(8) =E_c Params(9) =gamma_non_th Params(10) =calibrf Params(11) =bias_0 ! bias factor Params(12) =alpha_b ! linear bias factor evolution Params(13) =stellar_0 ! stellar fraction Params(14) =alpha_s ! linear stellar fraction evolution ****params.f90**** -This is a new file included in the tar.gz packages -Allows to switch between theta and H_0 (see option use_theta_param in params_fgas.ini) -To use it, compile the supplied source/Makefile with the option PARAMETERIZATION = params.o ****settings_fgas.f90**** Change line: integer, parameter :: num_hard =7 for line: integer, parameter :: num_hard =14 After line: logical :: Use_LSS = .true. Include line: logical :: Use_Theta_Param = .true. ****Makefile**** After line: PARAMETERIZATION = params_CMB.o Include lines: #Can use params if you want to choose between theta or H0 in params.ini #PARAMETERIZATION = params.o Change line: cmbdata.o WeakLen.o mpk.o supernovae.o SDSSLy-a-v3.o\ for line: cmbdata.o WeakLen.o mpk.o supernovae.o clusters_xray_fgas.o SDSSLy-a-v3.o\ After line: supernovae.o: cmbtypes.o Include line: clusters_xray_fgas.o: cmbtypes.o