Example #1
0
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
Example #2
0
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'
Example #3
0
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'
Example #4
0
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"
Example #5
0
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
Example #6
0
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"
Example #7
0
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"
Example #8
0
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)")
Example #9
0
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
Example #10
0
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
Example #11
0
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
Example #12
0
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
Example #13
0
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
Example #14
0
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'
Example #15
0
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
Example #16
0
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
Example #17
0
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'
Example #18
0
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"    
Example #19
0
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'
Example #20
0
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"
Example #21
0
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'
Example #22
0
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"
Example #23
0
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"
Example #24
0
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
Example #25
0
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')
Example #26
0
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')
Example #27
0
def readbin(filename):
    f = open('../generate_data/'+setup_dirs.resultsdir()+filename,'rb')
    return np.load(f)
Example #28
0
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')
Example #29
0
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)
Example #30
0
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')