コード例 #1
0
ファイル: map.py プロジェクト: hr203/c2raytools
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
コード例 #2
0
ファイル: plot_2D_temp.py プロジェクト: hr203/c2raytools
def scatter_contour():
    for i in range(start,len(redshifts)):
        print "Doing redshift " + str(redshifts[i])+"..."
        xfrac_filename = setup_dirs.path()+'xfrac3d_'+str('%.3f' % redshifts[i]) + '.bin'
        xfrac = c2t.XfracFile(xfrac_filename).xi.flatten()
        print "Read ionized fraction"
        temp_filename = setup_dirs.path() + 'Temper3D_'+str('%.3f' % redshifts[i]) + '.bin'
        temperature = c2t.TemperFile(temp_filename).temper.flatten()
        print "Read Temperature"
        print "Generating plots..."
        plot_scatter_contour(xfrac,temperature,"contour_scatter_xfrac_temperature","Temperature (K)","Ionised Fraction",i)
コード例 #3
0
ファイル: plot_1D.py プロジェクト: hr203/c2raytools
def xfrac_histogram():
    '''plot hisograms'''
    for i in range(1,len(redshifts)):#max(1,start),len(redshifts)):
        print redshifts[i]
        xfrac_filename = setup_dirs.path()+'xfrac3d_'+str('%.3f' % redshifts[i]) + '.bin'
        xfrac_HI = c2t.XfracFile(xfrac_filename).xi
        xfracHe1_filename = setup_dirs.path()+'xfrac3dHe1_'+str('%.3f' % redshifts[i]) + '.bin'
        xfrac_He1 = c2t.XfracFile(xfracHe1_filename).xi
        xfracHe2_filename = setup_dirs.path()+'xfrac3dHe2_'+str('%.3f' % redshifts[i]) + '.bin'
        xfrac_He2 = c2t.XfracFile(xfracHe2_filename).xi

        plot_3_log_histograms(xfrac_HI[len(xfrac_HI[:,0,0])/2,:,:],xfrac_He1[len(xfrac_HI[:,0,0])/2,:,:],xfrac_He2[len(xfrac_HI[:,0,0])/2,:,:],"Ionised Fraction, Redshift:" +str('%.3f' % redshifts[i]),"loghist_xfrac_"+str(i+10)+'_'+str('%.3f' % redshifts[i]),"Ionised Fraction")
コード例 #4
0
ファイル: map.py プロジェクト: hr203/c2raytools
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
コード例 #5
0
ファイル: plot_2D.py プロジェクト: hr203/c2raytools
def lightcone_xfrac(rsd=''):
    filenames = ["" for x in range(len(redshifts))]
    if rsd!='':
        vel_files=["" for x in range(len(redshifts)/2)]#]'/research/prace/sph_smooth_cubepm_130329_10_4000_244Mpc_ext2_test/global/so/nc250'+'%.3fv_all.dat'%z for z in redshifts]
        dens_files=["" for x in range(len(redshifts)/2)]#]'/research/prace/sph_smooth_cubepm_130329_10_4000_244Mpc_ext2_test/global/so/nc250'+'%.3fv_all.dat'%z for z in 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] = filename = setup_dirs.path()+'xfrac3d_'+str('%.3f' % redshifts[i]) + '.bin'
        if i%2==0 and rsd!='':
            vel_files[i/2]='/research/prace/sph_smooth_cubepm_130329_10_4000_244Mpc_ext2_test/global/so/nc250/'+str('%.3f' % redshifts[i])+'v_all.dat'
            dens_files[i/2]='/research/prace/sph_smooth_cubepm_130329_10_4000_244Mpc_ext2_test/global/so/nc250/%.3fn_all.dat'%redshifts[i]
    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 filenames
    im,z=c2t.make_lightcone(filenames)#,interpolation='step_cell')
    if rsd!='':
        vel_lightcone, z = c2t.make_velocity_lightcone(vel_files, dens_files)#,redshifts[0], redshifts[len(redshifts)-1])
        rsd_xfrac = c2t.get_distorted_dt(im, vel_lightcone, z, \
                              num_particles=30, los_axis=2, velocity_axis=0, \
                              periodic=False)
        im=np.asarray(rsd_xfrac)
        plot_lightcone(im[125,:,::-1],i,"Ionised Fraction","lightcone_rsd_xfrac",mini,maxi,z,cmap='Blues_r')
    else:
        im=np.asarray(im)
        plot_lightcone(im[125,:,::-1],i,"Ionised Fraction","lightconexfrac",mini,maxi,z,cmap='Blues_r')
コード例 #6
0
ファイル: plot_1D.py プロジェクト: hr203/c2raytools
def temp_histrogram():
    for i in range(start,len(redshifts)):
        temp_filename = setup_dirs.path() + 'Temper3D_'+str('%.3f' % redshifts[i]) + '.bin'
        data = c2t.TemperFile(temp_filename).temper
        data = data.flatten()
        print len(data), 250**3
        plot_log_histogram(data,"loghist_temper_shortrange_"+str(i+10)+'_'+str('%.3f' % redshifts[i]),"Temperature(K)","Redshift:" +str('%.3f' % redshifts[i]),"loghist_temper_shortrange_"+str(i+10)+'_'+str('%.3f' % redshifts[i]),"Temperature(K)")
コード例 #7
0
ファイル: mean.py プロジェクト: hr203/c2raytools
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'
コード例 #8
0
ファイル: plot_2D_temp.py プロジェクト: hr203/c2raytools
def plotxfrac(id):
    for i in range(start,len(redshifts)):
        print "Doing redshift " + str(redshifts[i])+"..."
        xfrac_filename = setup_dirs.path()+'xfrac3d'+id+'_'+str('%.3f' % redshifts[i]) + '.bin'
        xfrac = c2t.XfracFile(xfrac_filename).xi
        maxi = 1.0
        mini = 0.000199999994948
        plot(xfrac[mesh/2,:,:],i,id + "Ionised Fraction","xfrac"+id,mini,maxi,cmap='Blues_r',type='log')
コード例 #9
0
ファイル: mean.py プロジェクト: hr203/c2raytools
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'
コード例 #10
0
ファイル: map.py プロジェクト: hr203/c2raytools
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
コード例 #11
0
ファイル: plot_2D_temp.py プロジェクト: hr203/c2raytools
def plottemp():
    for i in range(start,len(redshifts)):
        print "Doing redshift " + str(redshifts[i])+"..."
        temp_filename = setup_dirs.path() + 'Temper3D_'+str('%.3f' % redshifts[i]) + '.bin'
        temperature = c2t.TemperFile(temp_filename).temper
        mini=0.0
        maxi = 14300.0
#        if (i == (len(redshifts)-25)):
 #           maxi = findmax(temperature)/2.0
        plot(temperature[mesh/2,:,:],i,"Temperature (K)","temp",mini,maxi)
コード例 #12
0
ファイル: map.py プロジェクト: hr203/c2raytools
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
コード例 #13
0
ファイル: mean.py プロジェクト: hr203/c2raytools
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'
コード例 #14
0
ファイル: mean.py プロジェクト: hr203/c2raytools
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'
コード例 #15
0
ファイル: plot_2D.py プロジェクト: hr203/c2raytools
def blurtemp():
    for z in range(start,len(redshifts)):
        print "Doing redshift " + str(redshifts[z])+"..."
        temp_filename = setup_dirs.path() + 'Temper3D_'+str('%.3f' % redshifts[z]) + '.bin'
        T = c2t.TemperFile(temp_filename).temper
        
        
        Tb=np.zeros(10**3).reshape(10,10,10)
        nobins=20
        for i in range(len(T[:,1,1])):
            for j in range(len(T[:,1,1])):
                for k in range(len(T[:,1,1])):
                    Tb[i/20,j/20,k/20]=Tb[i/20,j/20,k/20]+T[i,j,k]
        Tb=Tb/20**3
        IO.writebin(Tb,"tests/blurred/temp_"+str(redshifts[z])+".bin")        
        print "written to tests/blurred/temp_"+str(redshifts[z])+".bin"
コード例 #16
0
ファイル: plot_2D_temp.py プロジェクト: hr203/c2raytools
def equation_of_state():
    print redshifts
    for i in range(start,len(redshifts)):
        print "Doing redshift " + str(redshifts[i])+"..."
        if nosteps == 2 or i<nosteps:
            density_filename='/research/prace/244Mpc_RT/244Mpc_f2_8.2pS_250/coarser_densities/' + str('%.3f' % redshifts[i-i%nosteps]) + 'n_all.dat'
            print "density filename: "+ str('%.3f' % redshifts[i-(i)%nosteps]) + 'n_all.dat'
        else:
            density_filename='/research/prace/244Mpc_RT/244Mpc_f2_8.2pS_250/coarser_densities/' + str('%.3f' % redshifts[i-i%nosteps-1]) + 'n_all.dat'
            print "density filename: "+ str('%.3f' % redshifts[i-(i)%nosteps-1]) + 'n_all.dat'
        density = c2t.DensityFile(density_filename).cgs_density.flatten()
        print "Read density file"
        temp_filename = setup_dirs.path() + 'Temper3D_'+str('%.3f' % redshifts[i]) + '.bin'
        temperature = c2t.TemperFile(temp_filename).temper.flatten()
        print "Read temperature"
        print "Generating plots..."
        plot_scatter_contour(density,temperature,"equation_of_state","Temperature (K)","Density ($\mathrm{\Omega}$)",i)
コード例 #17
0
ファイル: compare2.py プロジェクト: hr203/c2raytools
def compare_hisograms_temperature():
    for i in range(12,len(redshifts)):
        temp_filename = setup_dirs.path() + 'Temper3D_'+str('%.3f' % redshifts[i]) + '.bin'
        data = c2t.TemperFile(temp_filename).temper
        data = data.flatten() #need to import other dataset and put in right format
コード例 #18
0
ファイル: mean.py プロジェクト: hr203/c2raytools
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')
コード例 #19
0
ファイル: mean.py プロジェクト: hr203/c2raytools
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')