def occupation_predictions(filename, Mr, nburnins, nchains , obs = "wp", model = "dec"): npts = 2e3 mass = np.logspace(10, 14, npts) if model == "dec": mod = dec_model(Mr) if model == "hod": mod = hod_model(Mr) sample = h5py.File(filename , "r")["mcmc"][nburnins:nchains] sample = sample.reshape(sample.shape[0]*sample.shape[1] , sample.shape[2]) if model == "dec": ncen_old = [] ncen_young = [] #ncen_all = [] nsat_old = [] nsat_young = [] #nsat_all = [] for i in xrange(len(sample)): print i mod.param_dict['logM0'] = sample[i][0] mod.param_dict['sigma_logM'] = sample[i][1] mod.param_dict['logMmin'] = sample[i][2] mod.param_dict['alpha'] = sample[i][3] mod.param_dict['logM1'] = sample[i][4] mod.param_dict['mean_occupation_centrals_assembias_param1'] = sample[i][5] mod.param_dict['mean_occupation_satellites_assembias_param1'] = sample[i][6] ncen_old.append(mod.mean_occupation_centrals(prim_haloprop = mass, sec_haloprop_percentile=0)) ncen_young.append(mod.mean_occupation_centrals(prim_haloprop = mass, sec_haloprop_percentile=1)) #ncen_all.append(mod.mean_occupation_centrals(prim_haloprop = mass)) nsat_old.append(mod.mean_occupation_satellites(prim_haloprop = mass, sec_haloprop_percentile=0)) nsat_young.append(mod.mean_occupation_satellites(prim_haloprop = mass, sec_haloprop_percentile=1)) #nsat_all.append(mod.mean_occupation_satellites(prim_haloprop = mass)) #np.savetxt("results/ncen_all_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(ncen_all)) np.savetxt("results/ncen_old_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(ncen_old)) np.savetxt("results/ncen_young_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(ncen_young)) #np.savetxt("results/nsat_all_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(nsat_all)) np.savetxt("results/nsat_old_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(nsat_old)) np.savetxt("results/nsat_young_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(nsat_young)) if model == "hod": nsat = [] ncen = [] for i in xrange(len(sample)): print i mod.param_dict['logM0'] = sample[i][0] mod.param_dict['sigma_logM'] = sample[i][1] mod.param_dict['logMmin'] = sample[i][2] mod.param_dict['alpha'] = sample[i][3] mod.param_dict['logM1'] = sample[i][4] ncen.append(mod.mean_occupation_centrals(prim_haloprop = mass)) nsat.append(mod.mean_occupation_satellites(prim_haloprop = mass)) np.savetxt("ncen_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(ncen)) np.savetxt("nsat_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(nsat)) return None
def total_occupation_predictions(filename, Mr, nburnins, nchains , obs = "wp", model = "dec"): npts = 2e3 mass = np.logspace(10, 14, npts) if model == "dec": mod = hod_model(Mr) if model == "hod": mod = hod_model(Mr) sample = h5py.File(filename , "r")["mcmc"][nburnins:nchains] sample = sample.reshape(sample.shape[0]*sample.shape[1] , sample.shape[2]) if model == "dec": ntot_dec = [] #nsat_dec = [] #ncen_dec = [] for i in xrange(len(sample)): print i mod.param_dict['logM0'] = sample[i][0] mod.param_dict['sigma_logM'] = sample[i][1] mod.param_dict['logMmin'] = sample[i][2] mod.param_dict['alpha'] = sample[i][3] mod.param_dict['logM1'] = sample[i][4] ntot_dec.append(mod.mean_occupation_centrals(prim_haloprop = mass) + mod.mean_occupation_satellites(prim_haloprop = mass)) #ncen_dec.append(mod.mean_occupation_centrals(prim_haloprop = mass)) #nsat_dec.append(mod.mean_occupation_satellites(prim_haloprop = mass)) np.savetxt("results/ntot_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(ntot_dec)) #np.savetxt("results/ncen_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(ncen_dec)) #np.savetxt("results/nsat_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(nsat_dec)) if model == "hod": ntot_hod = [] #nsat_hod = [] #ncen_hod = [] for i in xrange(len(sample)): print i mod.param_dict['logM0'] = sample[i][0] mod.param_dict['sigma_logM'] = sample[i][1] mod.param_dict['logMmin'] = sample[i][2] mod.param_dict['alpha'] = sample[i][3] mod.param_dict['logM1'] = sample[i][4] ntot_hod.append(mod.mean_occupation_centrals(prim_haloprop = mass) + mod.mean_occupation_satellites(prim_haloprop = mass)) #ncen_hod.append(mod.mean_occupation_centrals(prim_haloprop = mass)) #nsat_hod.append(mod.mean_occupation_satellites(prim_haloprop = mass)) np.savetxt("results/ntot_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(ntot_hod)) #np.savetxt("results/ncen_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(ncen_hod)) #np.savetxt("results/nsat_"+obs+"_"+model+"_"+str(Mr)+".dat" , np.array(nsat_hod)) return None