コード例 #1
0
def loadFiles(pat, max_files=400, cl_ix=1, calParam=None, rescale=1):
    d, name = os.path.split(pat + '_?_*')
    pars = []
    cls = []
    ls = None
    for f in os.listdir(d):
        if fnmatch.fnmatch(f, name + '.theory_cl'):
            fname = f.replace('.theory_cl', '')
            params = types.BestFit(os.path.join(d, fname + '.pars'))
            pars.append(params)
            cl = np.loadtxt(os.path.join(d, fname + '.theory_cl'))
            if calParam:
                cal = params.parWithName(calParam).best_fit
            else:
                cal = 1
            cls.append(cl[:, cl_ix] / cal ** 2 * rescale)
            if ls is None: ls = cl[:, 0]
            if len(pars) == max_files: break
    if not len(pars): raise Exception('No files found: ' + pat)
    return ls, pars, cls
コード例 #2
0
ファイル: batchjob.py プロジェクト: msyriac/CosmoMC
 def chainBestfit(self, paramNameFile=None):
     bf_file = self.chainRoot + '.minimum'
     if nonEmptyFile(bf_file):
         return types.BestFit(bf_file, paramNameFile)
     return None
コード例 #3
0
    'scalar_nrun(1)': 'nrun',
    'initial_ratio(1)': 'r',
    're_optical_depth': 'tau',
    're_delta_redshift': 'deltazrei',
    'massless_neutrinos': 'nnu'
}

ini = IniFile()

ini.params['re_use_optical_depth'] = True
ini.params['temp_cmb'] = 2.7255
ini.params['CMB_outputscale'] = 2.7255e6**2.
ini.defaults.append('params.ini')

bf = types.BestFit(root + '.minimum',
                   setParamNameFile=root + '.paramnames',
                   want_fixed=True)

for camb, cosmomc in list(pars.items()):
    par = bf.parWithName(cosmomc)
    if par is not None: ini.params[camb] = par.best_fit

ini.params['scalar_amp(1)'] = float(ini.params['scalar_amp(1)']) / 1e9

nmassive = 1
neffstandard = 3.046 / 3
ini.params['massless_neutrinos'] = float(
    ini.params['massless_neutrinos']) - neffstandard * nmassive
ini.params['massive_neutrinos'] = int(round(neffstandard * nmassive))
ini.params['nu_mass_degeneracies'] = neffstandard * nmassive
ini.params['share_delta_neff'] = False