def smoothed_lightcone_dbt(id="", ht=""): infile = open(setup_dirs.resultsdir() + "dbt_lightcone" + ht + ".bin", "rb") outfile = setup_dirs.resultsdir() + "dbt_lightcone_smooth" + ht + ".bin" zfile = open(setup_dirs.resultsdir() + "dbt_lightcone_redshifts.bin", "rb") dT_box = np.load(infile) log = open("stats.dat", "w") zs = np.load(zfile) dT_box3 = np.zeros((len(dT_box[:, 1, 1]) / 2, len(dT_box[1, :, 1]) / 2, len(dT_box[1, 1, :]))) dT_box2 = np.zeros((len(dT_box[:, 1, 1]) / 2, len(dT_box[1, :, 1]) / 2, len(dT_box[1, 1, :]))) for z in range(len(dT_box[1, 1, :]) - 1, -1, -1): wl = 0.21 * (1 + zs[z]) c = 299792.458 omm = 0.27 oml = 0.73 omr = 0.0 omk = 1.0 - omm - oml - omr H0 = 70.0 def integrand(x, omm, oml, omr, omk): return 1.0 / np.sqrt(omr * ((1 + x) ** 4) + omm * ((1 + x) ** 3) + oml + omk * ((1 + x) ** 2)) def dc(z, omm, oml, omr, omk): return quad(integrand, 0, z, args=(omm, oml, omr, omk))[0] # /(1.0+z) vec_dc = np.vectorize(dc) bw_r = wl / (2.0e3) # radians bw = bw_r * 3437.74677 # arcminutesi log.write("Wavelength of 21-cm from redshift " + str(zs[z]) + " is " + str(wl) + "m\n") log.write("At redshift: " + str(zs[z]) + " smoothing with a " + str(bw) + " arc minute beam.\n") rc = bw_r * c / H0 * vec_dc(zs[z], omm, oml, omr, omk) # comoving Mpc Hz = H0 * np.sqrt(omr * (1 + zs[z]) ** 4 + omm * (1 + zs[z]) ** 3 + oml + omk * (1 + zs[z]) ** 2) log.write("rc = " + str(rc) + "\n") # dnu=nu0*Hz*rc/(c*(1+zs[z])**2) dz = rc * Hz / c log.write("$\Delta$ z = " + str(dz) + "\n") ncs = rc * 250.0 * 0.7 / 244.0 log.write(str(ncs) + " cells in the z direction\n") log.write("\n") # rc_h=rc/0.7 # comoving Mpc/h # print "This corresponds to "+str(rc_h)+"Mpc/h on the sky" dT_box2[:, :, z] = c2t.beam_convolve(dT_box[:, :, z], zs[z], 244.0, beam_w=bw) if z > ncs and z + ncs < zs[len(zs) - 1]: for x in range(len(dT_box2)): for y in range(len(dT_box2)): dT_box3[x, y, z] = np.mean(dT_box2[x, y, z - ncs / 2.0 : z + ncs / 2.0]) else: print "..." dT_box3[:, :, z] = dT_box2[:, :, z] IO.writebin(dT_box3[:, :, z], setup_dirs.resultsdir() + "smoothed_map_dbt_" + ht + str("%.3f" % zs[z]) + ".bin") IO.writebin(dT_box3, outfile) print "Written map to " + outfile
def min_temp(): file = open(setup_dirs.resultsdir()+'min_temp.dat', 'w') for i in range(len(redshifts)): filename = setup_dirs.path()+'Temper3D_'+str('%.3f' % redshifts[i]) + '.bin' data = c2t.TemperFile(filename) file.write(str(np.amin(data.temper)) + '\n') file.close() print "Written mean Temperature to "+setup_dirs.resultsdir()+'min_temp.dat'
def mean_xfrac(id): file = open(setup_dirs.resultsdir()+'mean_xfrac'+id+'.dat', 'w') for i in range(len(redshifts)): xfrac_filename = setup_dirs.path()+'xfrac3d'+id+'_'+str('%.3f' % redshifts[i]) + '.bin' xfile = c2t.XfracFile(xfrac_filename) file.write(str(np.mean(xfile.xi)) + '\n') file.close() print "Written mean xfrac to "+setup_dirs.resultsdir()+'mean_xfrac'+id+'.dat'
def smooth_kurtosis(id=''): file = open(setup_dirs.resultsdir()+'smooth_kurtosis'+id+'.dat','w') for i in range(len(redshifts)): print "Doing redshift: " + str(redshifts[i]) data=np.load(setup_dirs.resultsdir()+"smoothed_map_dbt_"+id+str('%.3f' % redshifts[i])+".bin") data=data.flatten() kurtosis=scipy.stats.kurtosis(data) # kurtosis=c2t.statistics.kurtosis(data) file.write(str(kurtosis)+'\n') print "Written kurtosis to " + setup_dirs.resultsdir()+"smooth_kurtosis"+id+".dat"
def dbt_lightcone(ht=""): filenames = ["" for x in range(len(redshifts))] for i in range(0, len(redshifts)): filenames[i] = setup_dirs.resultsdir() + "dbt" + ht + "/map_dbt_" + ht + str("%.3f" % redshifts[i]) + ".bin" output = setup_dirs.resultsdir() + "dbt_lightcone" + ht + ".bin" output2 = setup_dirs.resultsdir() + "dbt_lightcone_redshifts.bin" lightcone, z = c2t.make_lightcone(filenames, redshifts[len(redshifts) - 1], redshifts[0], interpolation="linear") lightcone2 = np.asarray(lightcone) z2 = np.asarray(z) IO.writebin(lightcone2, output) IO.writebin(z2, output2) print "written lightcone to " + output
def lightcone_stats(s='',ht=''): infile = setup_dirs.resultsdir()+'dbt_lightcone_smooth'+ht+'.bin' zfile = open(setup_dirs.resultsdir()+'dbt_lightcone_redshifts.bin','rb') meanfile = open(setup_dirs.resultsdir()+s+'_'+'mean'+'_'+ht+'lightcone.dat','w') skewnessfile = open(setup_dirs.resultsdir()+s+'_'+'skewness'+'_'+ht+'lightcone.dat','w') kurtosisfile = open(setup_dirs.resultsdir()+s+'_'+'kurtosis'+'_'+ht+'lightcone.dat','w') rmsfile = open(setup_dirs.resultsdir()+s+'_'+'rms'+'_'+ht+'lightcone.dat','w') redshiftfile = open(setup_dirs.resultsdir()+s+'_'+'zs'+'_'+ht+'.dat','w') lc = np.load(infile) zs = np.load(zfile) ratio=4. #smoothing ratio Lbox=244./0.7 #boxsize in cMpc SLbox=Lbox/ratio #size of smoothing box Nbox=250 #number of cells SNbox=int(Nbox/ratio)+1 #new number of cells print Lbox, SLbox, Nbox, SNbox for i in range(len(zs)-SNbox/2-2,SNbox/2,-1): mapfile=setup_dirs.resultsdir()+s+'_map_'+ht+str('%.3f'%zs[i])+'.bin' print "Doing redshift: " + str(zs[i]) data,dims = c2t.get_lightcone_subvolume(lc,zs,zs[i],depth_mpc=SLbox,subtract_mean=False) IO.writebin(data,mapfile) redshiftfile.write(str(zs[i])+'\n') meanfile.write(str(np.mean(data))+'\n') rmsfile.write(str(np.sqrt(np.var(data)))+'\n') skewnessfile.write(str(c2t.statistics.skewness(data.flatten()))+'\n') kurtosisfile.write(str(c2t.statistics.kurtosis(data.flatten()))+'\n') print "Written statistics"
def rms(s='',ht=''): file = open(setup_dirs.resultsdir()+s+'_'+'rms'+'_'+ht+'coeval.dat','w') rds=redshifts for i in range(len(rds)): print "Doing redshift: " + str(rds[i]) if s=='': print "opening "+setup_dirs.resultsdir()+"map_dbt_"+ht+str('%.3f' % rds[i])+".bin" data=np.load(setup_dirs.resultsdir()+"map_dbt_"+ht+str('%.3f' % rds[i])+".bin") else: if ht!='': print "opening "+setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % rds[i])+".bin" data=np.load(setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % rds[i])+".bin") else: print "opening "+setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % rds[i])+".bin" data=np.load(setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % rds[i])+".bin") mean=np.mean(data) print "mean dbt: " + str(mean) length=len(data.flatten()) rmsdata=0.0 print "summing..." rmsdata=np.sum((data-mean)**2) rmsdata=np.sqrt(rmsdata/length) print rmsdata, np.sqrt(np.var(data)) #rmsdata=(rmsdata/length**3) file.write(str(rmsdata)+'\n') print(str(rmsdata)+'\n') print "Written rms to " + setup_dirs.resultsdir()+s+" rms"+ht+"coveal.dat"
def rms(): rmsdata=np.zeros(len(redshifts)) for i in range(len(redshifts)): print "opening ../generate_data/"+setup_dirs.resultsdir()+"map_dbt_"+str('%.3f' % redshifts[i])+".bin" data=np.load("../generate_data/"+setup_dirs.resultsdir()+"map_dbt_"+str('%.3f' % redshifts[i])+".bin") mean=np.mean(data) length=len(data) sum=0.0 print "summing..." for x in range(length): for y in range(length): for z in range(length): rmsdata[i]=rmsdata[i]+(data[x,y,z]-mean)**2 rmsdata[i]=np.sqrt(rmsdata[i]/length**3) plot_mean(rmsdata,"rms_500b","rms (mK)")
def map_dbt_lightcone(): for i in range(0, len(redshifts)): # print 'filename: setup_dirs.resultsdir()+'map_dbt_lightcone_'+str('%.3f' % redshifts[i])+'.dat' filename = setup_dirs.resultsdir() + "map_dbt_lightcone_" + str("%.3f" % redshifts[i]) + ".dat" temp_filename = setup_dirs.path() + "Temper3D_" + str("%.3f" % redshifts[i]) + ".bin" xfrac_filename = setup_dirs.path() + "xfrac3d_" + str("%.3f" % redshifts[i]) + ".bin" if i % 2 == 0: density_filename = ( "/research/prace/244Mpc_RT/244Mpc_f2_8.2pS_250/coarser_densities/" + str("%.3f" % redshifts[i]) + "n_all.dat" ) else: density_filename = ( "/research/prace/244Mpc_RT/244Mpc_f2_8.2pS_250/coarser_densities/" + str("%.3f" % redshifts[i - 1]) + "n_all.dat" ) tfile = c2t.TemperFile(temp_filename) xfile = c2t.XfracFile(xfrac_filename).xi if ss == " ": dfile = c2t.DensityFile(density_filename).cgs_density else: dfile = np.ones(ss ** 3).reshape(ss, ss, ss) * 1.981e-10 * (1 + redshifts[i]) ** 3 dT_box = c2t.calc_dt_full_lightcone(xfile, tfile, dfile, redshifts[i]) IO.writemap(dT_box, filename) print "Written map to " + filename
def map_temp(): for i in range(start, len(redshifts)): filename = setup_dirs.resultsdir() + "map_temper_" + str("%.3f" % redshifts[i]) + ".dat" temp_filename = setup_dirs.path() + "Temper3D_" + str("%.3f" % redshifts[i]) + ".bin" tfile = c2t.TemperFile(temp_filename) IO.writemap(tfile.temper, filename) print "Writen map to " + filename
def readoned(name): file = open('../generate_data/'+setup_dirs.resultsdir()+name+'.dat','r') cnt=0 for line in file: cnt = cnt+1 data=np.zeros(cnt) file.close() file = open('../generate_data/'+setup_dirs.resultsdir()+name+'.dat','r') c=-1 for line in file: if (c!=-1): data[c] = float(line) c=c+1 file.close() print 'read data from ../generate_data/'+setup_dirs.resultsdir()+name+'.dat' return data
def smoothed_lightcone_dbt2(id="", ht=""): print "hello" infile = open(setup_dirs.resultsdir() + "dbt_lightcone" + ht + ".bin", "rb") outfile = setup_dirs.resultsdir() + "dbt_lightcone_smooth" + ht + ".bin" zfile = open(setup_dirs.resultsdir() + "dbt_lightcone_redshifts.bin", "rb") dT_box = np.load(infile) log = open("stats.dat", "w") zs = np.load(zfile) dT_box3 = np.zeros((len(dT_box[:, 1, 1]) / 2, len(dT_box[1, :, 1]) / 2, len(dT_box[1, 1, :]))) dT_box2 = np.zeros((len(dT_box[:, 1, 1]) / 2, len(dT_box[1, :, 1]) / 2, len(dT_box[1, 1, :]))) for z in range(len(dT_box[1, 1, :])): wl = 0.21 * (1 + zs[z]) c = 299792.458 omm = 0.27 oml = 0.73 omr = 0.0 omk = 1.0 - omm - oml - omr H0 = 70.0 print 1 def integrand(x, omm, oml, omr, omk): return 1.0 / np.sqrt(omr * ((1 + x) ** 4) + omm * ((1 + x) ** 3) + oml + omk * ((1 + x) ** 2)) def dc(z, omm, oml, omr, omk): return quad(integrand, 0, z, args=(omm, oml, omr, omk))[0] # /(1.0+z) vec_dc = np.vectorize(dc) print 2 bw_r = wl / (2.0e3) # radians bw = bw_r * 3437.74677 # arcminutesi stats.write("Wavelength of 21-cm from redshift " + str(zs[z]) + " is " + str(wl) + "m") stats.write("At redshift: " + str(zs[z]) + " smoothing with a " + str(bw_r) + " radian beam") stats.write("At redshift: " + str(zs[z]) + " smoothing with a " + str(bw) + " arc minute beam") stats.write("\n") print 3 dT_box2[:, :, z] = c2t.beam_convolve(dT_box[:, :, z], zs[z], 244.0, beam_w=bw) print 4 dT_box3 = lightcone_smooth.frequency_direction_same(dT_box2, zs[0], 244.0, 2) print 5 IO.writebin(dT_box3[:, :, z], setup_dirs.resultsdir() + "smoothed_map_dbt_" + ht + str("%.3f" % zs[z]) + ".bin") IO.writebin(dT_box3, outfile) print "Written map to " + outfile
def readmap(name,resultdir=setup_dirs.resultsdir()): map = np.zeros(mesh**3).reshape(mesh,mesh,mesh) #if file = open('../generate_data/'+resultdir+'map_'+name+'.dat', 'r') c=0 for line in file: x = int((c)/(mesh**2)) y = int(c/mesh)%(mesh) # y = int(c%(mesh/2.0)) z = c%mesh map[x,y,z] = float(line) c=c+1 #if (True): # print x+1,y+1,z+1 #print map print 'Read map from ../generate_data/'+setup_dirs.resultsdir()+'map_'+name+'.dat' return map
def mean_dbt(id='',ht=''): rds=redshifts if id=='smooth_': rds=lc_zs file=open(setup_dirs.resultsdir()+id+'mean_dbt'+ht+'.dat', 'w') for i in range(len(rds)): if id=='': filename = setup_dirs.resultsdir()+'map_dbt_'+ht+str('%.3f' % rds[i]) + '.bin' else: if ht!='': filename = setup_dirs.resultsdir()+'smoothed_map_dbt'+ht+str('%.3f' % rds[i]) + '.bin' else: filename = setup_dirs.resultsdir()+'smoothed_map_dbt'+ht+'_'+str('%.3f' % rds[i]) + '.bin' data = np.load(filename) file.write(str(np.mean(data)) + '\n') print np.mean(data) file.close() print "Written mean Temperature to "+setup_dirs.resultsdir()+id+'mean_dbt'+ht+'.dat'
def map_xfrac(id): # for i in range(len(redshifts)-6,len(redshifts)-4): print len(redshifts) for i in range(start, len(redshifts)): filename = setup_dirs.resultsdir() + "map_xfrac" + id + "_" + str("%.3f" % redshifts[i]) + ".dat" xfrac_filename = setup_dirs.path() + "xfrac3d" + id + "_" + str("%.3f" % redshifts[i]) + ".bin" xfile = c2t.XfracFile(xfrac_filename) IO.writemap(xfile.xi, filename) print "Written map to " + filename
def map(name): map = np.zeros(mesh**3).reshape(mesh,mesh,mesh) file = open('../generate_data/'+setup_dirs.resultsdir()+'/map_'+name+'.dat', 'r') c=0 for line in file: x = int((c)/(mesh**2)) y = int(c%(mesh)/2.0) z = c%3 map[x,y,z] = float(line) c=c+1 return map
def mean_dbt_hightemp(): file = open(setup_dirs.resultsdir()+'mean_dbt_hightemp.dat','w') for i in range(len(redshifts)): filename = setup_dirs.resultsdir()+'map_dbt_hightemp'+str('%.3f' % redshifts[i])+'.dat' temp_filename = setup_dirs.path()+'Temper3D_'+str('%.3f' % redshifts[i]) + '.bin' xfrac_filename = setup_dirs.path() +'xfrac3d_'+str('%.3f' % redshifts[i]) + '.bin' if i%2==0: density_filename='/research/prace/244Mpc_RT/244Mpc_f2_8.2pS_250/coarser_densities/' + str('%.3f' % redshifts[i]) + 'n_all.dat' else: density_filename='/research/prace/244Mpc_RT/244Mpc_f2_8.2pS_250/coarser_densities/' + str('%.3f' % redshifts[i-1]) + 'n_all.dat' tfile = c2t.TemperFile(temp_filename) xfile = c2t.XfracFile(xfrac_filename).xi if ss!=' ': dfile = np.ones(ss**3).reshape(ss,ss,ss)*1.981e-10*(1+redshifts[i])**3 else: dfile = c2t.DensityFile(density_filename).cgs_density dT_box = c2t.calc_dt(xfile, dfile, redshifts[i]) #returned in micro kelvin! update plots file.write(str(np.mean(dT_box))+'\n') print "Written mean dbt to " + setup_dirs.resultsdir()+'mean_dbt_hightemp.dat'
def plotdbt(): mini = -457 maxi=83 print mini,maxi for i in range(start,len(redshifts)): print "Doing redshift " + str(redshifts[i])+"..." dbt = np.load("../generate_data/"+setup_dirs.resultsdir()+"map_dbt_"+str('%.3f' % redshifts[i])+".bin") #IO.readmap("dbt_"+str('%.3f' % redshifts[i])) print np.min(dbt) plot(dbt[len(dbt[:,0,0])/2,:,:],i,"$\delta T_b$","dbt",mini,maxi,'seismic') print "Complete"
def mean_temp_igm(): file = open(setup_dirs.resultsdir()+'mean_temp_igm.dat', 'w') file2= open(setup_dirs.resultsdir()+'fraction_ionised.dat','w') for i in range(len(redshifts)): filename = setup_dirs.path()+'Temper3D_'+str('%.3f' % redshifts[i]) + '.bin' data = c2t.TemperFile(filename) xfrac_filename = setup_dirs.path()+'xfrac3d_'+str('%.3f' % redshifts[i]) + '.bin' xfile = c2t.XfracFile(xfrac_filename) igm_data=[] ionisedpoints=0 for i in range(len(data.temper[1,:,1])): for j in range(len(data.temper[1,:,1])): for k in range(len(data.temper[1,:,1])): if xfile.xi[i,j,k] < 1e3: igm_data.append(data.temper[i,j,k]) else: ionisedpoints=ionisedpoints+1 file.write(str(np.mean(igm_data)) + '\n') file.write(str(ionisedpoints/250**3)) file.close() print "Written mean Temperature to "+setup_dirs.resultsdir()+'mean_temp_igm.dat'
def plot_smoothed_dbt(): mini = -457 maxi=83 # print mini,maxi for i in range(start,len(redshifts)): print "Doing redshift " + str(redshifts[i])+"..." dbt = np.load("../generate_data/"+setup_dirs.resultsdir()+"map_dbt_"+str('%.3f' % redshifts[i])+".bin") dbt = c2t.beam_convolve(dbt[len(dbt[:,0,0])/2,:,:],redshifts[i],244.,beam_w=3.) #IO.readmap("dbt_"+str('%.3f' % redshifts[i])) # print np.min(dbt) plot(dbt,i,"$\delta T_b$","smoothed_dbt",mini,maxi,'seismic') print "Complete"
def coeval_stats(s='smooth',ht=''): skewnessfile = open(setup_dirs.resultsdir()+s+'_'+'skewness'+'_'+ht+'coeval.dat','w') kurtosisfile = open(setup_dirs.resultsdir()+s+'_'+'kurtosis'+'_'+ht+'coeval.dat','w') rmsfile = open(setup_dirs.resultsdir()+s+'_'+'rms'+'_'+ht+'coeval.dat','w') for i in range(len(redshifts)): infile = setup_dirs.resultsdir()+'smooth_coevalmap_dbt_'+ht+str('%.3f'%redshifts[i]+'.bin') data = np.load(infile) print "Doing redshift: " + str(redshifts[i]) rmsfile.write(str(np.sqrt(np.var(data)))+'\n') skewnessfile.write(str(c2t.statistics.skewness(data.flatten()))+'\n') kurtosisfile.write(str(c2t.statistics.kurtosis(data.flatten()))+'\n') print 'written to ' + setup_dirs.resultsdir()+s+'_'+'rms'+'_'+ht+'coeval.dat' print 'written to ' + setup_dirs.resultsdir()+s+'_'+'skewness'+'_'+ht+'coeval.dat' print 'written to ' + setup_dirs.resultsdir()+s+'_'+'kurtosis'+'_'+ht+'coeval.dat'
def kurtosis(s='',ht=''): file = open(setup_dirs.resultsdir()+s+'_kurtosis_'+ht+'_coeval.dat','w') rds=redshifts for i in range(len(rds)): print "Doing redshift: " + str(rds[i]) if s=='': print "opening "+setup_dirs.resultsdir()+"map_dbt_"+ht+str('%.3f' % rds[i])+".bin" data=np.load(setup_dirs.resultsdir()+"map_dbt_"+ht+str('%.3f' % rds[i])+".bin") else: if ht!='': print "opening "+setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % rds[i])+".bin" data=np.load(setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % rds[i])+".bin") else: print "opening "+setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % rds[i])+".bin" data=np.load(setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % rds[i])+".bin") data=data.flatten() # kurtosis=scipy.stats.kurtosis(data) kurtosis=c2t.statistics.kurtosis(data) file.write(str(kurtosis)+'\n') print "Written kurtosis to " + setup_dirs.resultsdir()+s+"kurtosis"+ht+"coeval.dat"
def skewness(s='',ht=''): file = open(setup_dirs.resultsdir()+s+'_skewness_'+ht+'coeval.dat','w') for i in range(len(redshifts)): print "Doing redshift: " + str(redshifts[i]) if s=='': print "opening "+setup_dirs.resultsdir()+"map_dbt_"+ht+str('%.3f' % redshifts[i])+".bin" data=np.load(setup_dirs.resultsdir()+"map_dbt_"+ht+str('%.3f' % redshifts[i])+".bin") else: if ht!='': print "opening "+setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % redshifts[i])+".bin" data=np.load(setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % redshifts[i])+".bin") else: print "opening "+setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % redshifts[i])+".bin" data=np.load(setup_dirs.resultsdir()+"smooth_coevalmap_dbt_"+ht+str('%.3f' % redshifts[i])+".bin") data=data.flatten() # print scipy.stats.skew(data), c2t.statistics.skewness(data) #skewness=scipy.stats.skew(data) skewness=c2t.statistics.skewness(data) file.write(str(skewness)+'\n') print "Written skewness to " + setup_dirs.resultsdir()+s+"skewness"+ht+"coeval.dat"
def map_dbt(): for i in range(start, len(redshifts)): filename = setup_dirs.resultsdir() + "map_dbt_" + str("%.3f" % redshifts[i]) + ".bin" temp_filename = setup_dirs.path() + "Temper3D_" + str("%.3f" % redshifts[i]) + ".bin" xfrac_filename = setup_dirs.path() + "xfrac3d_" + str("%.3f" % redshifts[i]) + ".bin" if i % 2 == 0: density_filename = ( "/research/prace/244Mpc_RT/244Mpc_f2_8.2pS_250/coarser_densities/" + str("%.3f" % redshifts[i]) + "n_all.dat" ) else: density_filename = ( "/research/prace/244Mpc_RT/244Mpc_f2_8.2pS_250/coarser_densities/" + str("%.3f" % redshifts[i - 1]) + "n_all.dat" ) tfile = c2t.TemperFile(temp_filename) xfile = c2t.XfracFile(xfrac_filename).xi if ss != " ": abu_he = 0.074 G_grav = 6.674e-11 pc = 3.086e16 Mpc = 1e6 * pc H0 = 0.7 * 100.0 * 1.0e5 / Mpc rho_crit_0 = 3.0 * H0 * H0 / (8.0 * np.pi * G_grav) Omega_B = 0.044 mu = (1.0 - abu_he) + 4.0 * abu_he m_p = 1.672661e-24 dfile = np.ones(ss ** 3).reshape(ss, ss, ss) dfile = dfile * rho_crit_0 * Omega_B / (mu * m_p) * (1.0 + redshifts[i]) ** 3 dfile = dfile * 1.23581719037e-35 else: dfile = c2t.DensityFile(density_filename).cgs_density dT_box = c2t.calc_dt_full(xfile, tfile, dfile, redshifts[i]) # IO.writemap(dT_box,filename) IO.writebin(dT_box, filename) print "Written map to " + filename
def lightcone(): filenames = ["" for x in range(len(redshifts))] # filenames[0] = len(redshifts) mini = -457 maxi=83 for i in range(len(filenames)): #filenames[i] = setup_dirs.path() + 'lightcone_temp/Temper3D_'+str('%.3f' % redshifts[i]) + '.bin' filenames[i] = '../generate_data/'+setup_dirs.resultsdir()+'dbt/map_dbt_'+str('%.3f' % redshifts[i]) + '.bin' noreds=10 redshifts_many = np.zeros(len(redshifts)*noreds) for i in range(len(redshifts)-1): for j in range(noreds): redshifts_many[i+j]=redshifts[i]-(redshifts[i+1]-redshifts[i])*j/noreds print redshifts_many im,z=c2t.make_lightcone(filenames,redshifts[len(redshifts)-1],redshifts[0],interpolation='step_cell') im=np.asarray(im) print(im[125,:,::-1]) print(im[1,1,1]) plot_lightcone(im[125,:,::-1],i,"$\delta$ T [mK]","lightcone_dbt",mini,maxi,z,cmap='Blues_r')
def xfrac_power_spectrum(id): for i in range(len(redshifts)): print "Doing redshift: " + str(redshifts[i]) data=c2t.XfracFile(setup_dirs.path()+"xfrac3d"+id+'_'+str('%.3f' % redshifts[i])+".bin").xi powerspec=ps.power_spectrum_1d(data,100) IO.write2data(powerspec[0],powerspec[1],setup_dirs.resultsdir()+'/powerSpectra_xfrac_'+id+'_'+str('%.3f' % redshifts[i])+'.dat',setup_dirs.resultsdir()+'/powerSpectraFrequencies_dbt_100b_'+str('%.3f' % redshifts[i])+'.dat')
def readbin(filename): f = open('../generate_data/'+setup_dirs.resultsdir()+filename,'rb') return np.load(f)
def power_spectrum(id=''): for i in range(len(redshifts)): print "Doing redshift: " + str(redshifts[i]) data=np.load(setup_dirs.resultsdir()+"map_dbt_"+id+str('%.3f' % redshifts[i])+".bin") powerspec=ps.power_spectrum_1d(data,100) IO.write2data(powerspec[0],powerspec[1],setup_dirs.resultsdir()+'/powerSpectra_100b_'+id+str('%.3f' % redshifts[i])+'.dat',setup_dirs.resultsdir()+'/powerSpectraFrequencies_dbt_100b_'+str('%.3f' % redshifts[i])+'.dat')
import scipy.integrate as sci import matplotlib as mpl import matplotlib.pyplot as plt from matplotlib.colors import LogNorm from matplotlib.ticker import MultipleLocator mpl.rc('xtick', labelsize=25) mpl.rc('ytick', labelsize=25) mpl.rc('font',family='serif') fontsize=26 numberfontsize=25 tickwidth=1.5 start=0 #print plotsdir() redshifts = setup_dirs.read_redshifts() path_data = setup_dirs.resultsdir() path_plots = setup_dirs.plotsdir() def mean(name,pathd = path_data,redshifts1=redshifts): mean = np.zeros(len(redshifts1)) print 'Reading mean from ../generate_data/'+pathd+'mean_'+name+'.dat' file = open('../generate_data/'+pathd+'mean_'+name+'.dat', 'r') i=0 for line in file: mean[i] = float(line) i=i+1 return mean def plot_mean(data,title,ylabel,pathp = path_plots, redshifts1=redshifts, redshifts2=redshifts,legend1='',legend2='',legend3='',legend4=''): #plt.figure() fig=plt.figure(figsize=(10.25, 10.25), dpi= 300)
def temp_power_spectrum(): for i in range(len(redshifts)): print "Doing redshift: " + str(redshifts[i]) data=c2t.TemperFile(setup_dirs.path()+"Temper3D_"+str('%.3f' % redshifts[i])+".bin").temper powerspec=ps.power_spectrum_1d(data,100) IO.write2data(powerspec[0],powerspec[1],setup_dirs.resultsdir()+'/powerSpectra_temp_'+str('%.3f' % redshifts[i])+'.dat',setup_dirs.resultsdir()+'/powerSpectraFrequencies_dbt_100b_'+str('%.3f' % redshifts[i])+'.dat')