Description: This patch adds interpolation routines to CosmoMC (May 2010 release) for computing the likelihood, r10, and sigma_8 values. Installing the patch: - run 'patch --dry-run -p1 -i interp.patch' [Check to make sure things are OK before applying the patch.] - run 'patch -p1 -i interp.patch' - run 'make' in source subdirectory Before running CosmoMC, be sure to add to the params.ini file: - cut = sets cut for the difference from min likelihood to determine whether the interpolated likelihood is used. - factor = factor to multiply the number of terms in the polynomial. Once the chain has collected this number of points for the interpolation it will begin. - interp_order = sets the minimum order for the interpolation - do_interp = flag for whether to use the interpolation routines. - fraction_cut = sets fractional cut fur using the interpolation (compare different order interpolated values.) Note: The order of the r10 interpolation is set at 2. Description of changed or added files: lsq.f90 (new) -contains least-squares routines. Source code from Alan Miller's software page: http://users.bigpond.net.au/amiller/. interpolation.f90 (new) -contains interpolation routines. MCMC.f90 -adds variables -computes the number of parameters (e.g. # of terms in the polynomial) for the interpolation -write some information to the logfile -stores likelihoods computed with CAMB -initializes exponent array used for calculating interpolated values. -calls AddMPIParams(CurParams%P,CurLike) !INTERPOLATION CALL IS IN PARAMDEF.F90 to do the interpolation (when CosmoMC normally checks for convergence) paramdef.F90 -calls interpolation routine forMPI versions when CosmoMC checks convergence statistics. -shares the local number of accepted points across the chains. Once the total number of accepted points exceeds thresh_val, then the interpolation function is calculated using previously calculated likelihoods. driver.F90 - variable 'numtoget' is added to settings.f90 so it can be accessed by MCMCsample routine - logical variable mpk_ind is set use_mpk value. Determines whether sigma_8 is included in the interpolation. -reads in thresh_val, interp_order, cut, and do_interp from .ini file -settings.f90 -Adding global variables (specifically): -databases for points used to calculate the likelihood -Coefficient arrays -Exponent arrays -Number of terms in the polynomials. params_CMB.f90 -Changed writing routine for r10 to include interpolated r10 value. 11/28/10