def multi_halohist(snap): """Plot selected simulations against each other in sigma_DLA""" small = myname.get_name(5, True, box=10) big = myname.get_name(5, True, box=25) ahalo = dp.PrettyBox(small, snap, nslice=10, label=labels[5]) bighalo = dp.PrettyBox(big, snap, nslice=10, label=labels[5]) bighalo.plot_sigma_DLA() ahalo.plot_sigma_DLA(color="blue", color2="blue") plt.ylim(1, 1e5) plt.xlim(5e7, 1e12) save_figure(path.join(outdir, "halos/cosmo5_10_sigmaDLA_z" + str(snap))) plt.clf() ahalo.plot_halo_hist(color=colors[0], ls=lss[0], plot_error=True) bighalo.plot_halo_hist(color=colors[5], ls=lss[5], plot_error=True) plt.ylim(0, 1) plt.xlim(1e8, 3e12) save_figure(path.join(outdir, "halos/cosmo_10_halohist_z" + str(snap))) plt.clf() for pair in ((1, 2), (0, 5), (0, 7)): small = myname.get_name(pair[0]) big = myname.get_name(pair[1]) ahalo = dp.PrettyBox(small, snap, nslice=10, label=labels[5]) bighalo = dp.PrettyBox(big, snap, nslice=10, label=labels[5]) bighalo.plot_sigma_DLA() ahalo.plot_sigma_DLA(color="blue", color2="blue") plt.ylim(1, 1e5) plt.xlim(5e7, 1e12) save_figure( path.join( outdir, "halos/cosmo" + str(pair[0]) + str(pair[1]) + "_sigmaDLA_z" + str(snap))) plt.clf()
def plot_agn_rel_cddf(snap): """Load and make a plot of the difference between both simulations with and without AGN""" basen = myname.get_name(0) base = dp.PrettyBox(basen, snap, nslice=10) cddf_base = base.column_density_function() basen = myname.get_name(4) other = dp.PrettyBox(basen, snap, nslice=10) cddf = other.column_density_function() plt.semilogx(cddf_base[0], cddf[1] / cddf_base[1], color=colors[0], ls=lss[0]) basen = myname.get_name(1) base = dp.PrettyBox(basen, snap, nslice=10) cddf_base = base.column_density_function() basen = myname.get_name(2) other = dp.PrettyBox(basen, snap, nslice=10) cddf = other.column_density_function() plt.semilogx(cddf_base[0], cddf[1] / cddf_base[1], color=colors[1], ls=lss[1]) plt.ylim(0.8, 1.5) plt.xlim(1e17, 1e22) save_figure(path.join(outdir, "cosmo_rel_agn_cddf_z" + str(snap))) plt.clf()
def plot_dndx_breakdown(sim): """Make the rho_HI plot with labels etc""" halo = myname.get_name(sim, True, 25) snaps = {4: 1, 3.5: 2, 3: 3, 2.5: 4, 2: 5} fractions = [] zzz = [] omegadla = [] for zzzz in (4, 3.5, 3, 2.5, 2): ahalo = dp.PrettyBox(halo, snaps[zzzz], nslice=10) (massbins, fracs) = ahalo.get_omega_hi_mass_breakdown(False) fractions.append(fracs) zzz.append(zzzz) omegadla.append(ahalo.line_density()) fractions = np.array(fractions) for i in xrange(np.size(fractions[0, :]) - 2): plt.plot(zzz, fractions[:, i + 1], color=colors[i], ls=lss[i], label=dp.pr_num(np.log10(massbins[i])) + " - " + dp.pr_num(np.log10(massbins[i + 1]))) plt.plot(zzz, fractions[:, -1], color=colors[6], ls=lss[6], label="Field") plt.plot(zzz, omegadla, color=colors[sim], ls=lss[sim], label="Total") plt.xlabel("z") plt.ylabel(r"$dN/dX$") dla_data.dndx_not() dla_data.dndx_pro() plt.xlim(2, 4) plt.ylim(0, 0.15) plt.legend(loc=1, ncol=2) tight_layout_wrapper() save_figure(path.join(outdir, "cosmo_dndx_break" + str(sim))) plt.clf()
def plot_halo_stellar_mass(): """Plot a histogram of nearby halos""" for sim in (1, 7, 9): #xrange(8): halo = myname.get_name(sim, True) hms = [] sms = [] sfrs = [] zz = [] for snap in (1, 3, 5): ahalo = dp.PrettyBox(halo, snap, nslice=10, label=labels[sim]) (hm, sm, sfr) = ahalo.get_avg_stellar_mass() hms.append(hm) sms.append(sm) sfrs.append(sfr) zz.append(redshifts[snap]) plt.figure(1) plt.semilogy(zz, hms, color=colors[sim], ls="-", label=labels[sim]) plt.semilogy(zz, sms, color=colors[sim], ls="--", label=labels[sim]) plt.figure(2) plt.semilogy(zz, sfrs, color=colors[sim], ls="--", label=labels[sim]) plt.figure(1) plt.legend(loc=1) save_figure(path.join(outdir, "halos/avg_smhm_z" + str(snap))) plt.figure(2) plt.legend(loc=1) save_figure(path.join(outdir, "halos/avg_sfr_z" + str(snap))) plt.clf()
def plot_metal_halo(sim, snap, ff=True, lls=False): """Load a simulation and plot its cddf""" halo = myname.get_name(sim, ff) ahalo = dp.PrettyBox(halo, snap, nslice=10, label=labels[sim]) if lls: ahalo.plot_lls_metallicity(color=colors[sim], ls=lss[sim]) else: ahalo.plot_dla_metallicity(color=colors[sim], ls=lss[sim]) del ahalo
def plot_covering_frac(sim, snap, ff=True): """Load a simulation and plot its cddf""" halo = myname.get_name(sim, ff) ahalo = dp.PrettyBox(halo, snap, nslice=10) ahalo.plot_sigma_DLA() del ahalo save_figure( path.join(outdir, "cosmo" + str(sim) + "_covering_z" + str(snap))) plt.clf()
def plot_UVB_effect(): """Load a simulation and plot its cddf""" for i in (0, 5, 7): halo = myname.get_name(i, True) ahalo = dp.PrettyBox(halo, 3, nslice=10) ahalo.plot_column_density(color=colors[i], ls=lss[i], moment=True) dla_data.column_density_data(moment=True) save_figure(path.join(outdir, "cosmo_UVB_3")) plt.clf()
def plot_grid_res(): """The effect of a finer grid""" halo = myname.get_name(7, True) savefile = "boxhi_grid_cutoff_H2_32678.hdf5" ahalo = dp.PrettyBox(halo, 5, nslice=30, savefile=savefile) ahalo.plot_column_density(color="blue", ls="--", moment=True) # savefile = path.join(halo,"snapdir_003/boxhi_grid_16384.hdf5") ahalo2 = dp.PrettyBox(halo, 5, nslice=10) ahalo2.plot_column_density(color="red", moment=True, ls="-.") dla_data.column_density_data(moment=True) save_figure(path.join(outdir, "cosmo7_grid_5")) plt.clf() cdf1 = ahalo.column_density_function() cdf2 = ahalo2.column_density_function() plt.semilogx(cdf1[0], cdf1[1] / cdf2[1], color="red", ls="-") save_figure(path.join(outdir, "cosmo7_grid_5_rel")) plt.clf()
def plot_rel_res(sim): """Load and make a plot of the difference between two simulations""" basel = myname.get_name(sim) bases = myname.get_name(sim, box=10) plt.figure(1) for snap in (1, 3, 5): base = dp.PrettyBox(basel, snap, nslice=10) cddf_base = base.column_density_function() ahalo2 = dp.PrettyBox(bases, snap, nslice=10) cddf = ahalo2.column_density_function() plt.semilogx(cddf_base[0], np.log10(cddf[1] / cddf_base[1]), color=colors[snap], ls=lss[snap]) if snap == 3: plt.figure(3) base.plot_column_density(color=colors[sim], ls=lss[sim], moment=True) ahalo2.plot_column_density(color="grey", ls=lss[sim], moment=True) dla_data.column_density_data(moment=True) save_figure(path.join(outdir, "cosmo_res_cddf_z3_abs")) plt.clf() base.plot_halo_hist(Mmin=1e7, color=colors[sim]) ahalo2.plot_halo_hist(Mmin=1e7, color="grey") plt.ylim(0, 0.1) save_figure(path.join(outdir, "cosmo_res_halohist")) plt.clf() plt.figure(1) savefile = "boxhi_grid_noH2.hdf5" base = dp.PrettyBox(basel, 3, nslice=10, savefile=savefile) cddf_base = base.column_density_function() savefile = "boxhi_grid_noH2.hdf5" ahalo2 = dp.PrettyBox(bases, 3, nslice=10, savefile=savefile) cddf = ahalo2.column_density_function() plt.semilogx(cddf_base[0], np.log10(cddf[1] / cddf_base[1]), color=colors[0], ls=lss[0]) plt.ylim(-0.5, 0.5) save_figure(path.join(outdir, "cosmo_res_cddf_z" + str(sim))) plt.clf()
def plot_H2_effect(sim, snap): """Load a simulation and plot its cddf""" halo = myname.get_name(sim, True) savefile = "boxhi_grid_noH2.hdf5" ahalo = dp.PrettyBox(halo, snap, nslice=10, savefile=savefile, label=r"No $H_2$") ahalo.plot_column_density(color="blue", ls="--", moment=True) savefile = "boxhi_grid_H2.hdf5" ahalo2 = dp.PrettyBox(halo, snap, nslice=10, savefile=savefile, label=r"$H_2$") ahalo2.plot_column_density(color="red", moment=True) # savefile = path.join(halo,"snapdir_"+str(snap).rjust(3,'0'),"boxhi_grid_H2-old.hdf5") # ahalo2 = dp.PrettyBox(halo, snap, nslice=10, savefile=savefile) # ahalo2.plot_column_density(color="green",moment=True) dla_data.column_density_data(moment=True) # dla_data.noterdaeme_12_data(path.join(path.dirname(__file__),"../dla_data"), moment=True) plt.legend(loc=3) plt.xlim(1e20, 2e22) plt.ylim(1e-5, 0.1) # plt.title("CDDF for "+labels[sim]+" at z="+str(redshifts[snap])) save_figure(path.join(outdir, "cosmo" + str(sim) + "_H2_" + str(snap))) plt.clf() cddf_base = ahalo.column_density_function() cddf = ahalo2.column_density_function() plt.semilogx(cddf_base[0], np.log10(cddf[1] / cddf_base[1]), color=colors[sim], ls=lss[sim]) plt.ylim(-0.5, 0.5) tight_layout_wrapper() ax = plt.gca() ylab = ax.set_ylabel(r"$N_\mathrm{HI} f(N)$") save_figure(path.join(outdir, "cosmo_rel" + str(sim) + "_H2_" + str(snap))) plt.clf()
def plot_metal_ion_corr(sim, snap, species="Si", ion=2, dla=True, othersave="boxhi_grid_H2_no_atten.hdf5"): """Plot metallicity from GFM_Metallicity vs from a single species for computing ionisation corrections""" halo = myname.get_name(sim) ahalo = dp.PrettyBox(halo, snap, nslice=10, label=labels[sim]) ahalo.plot_dla_metallicity(color="red", ls="--") ahalo.plot_species_fraction(species, ion, dla, color="blue", ls="-") ahalo_no_atten = dp.PrettyBox(halo, snap, nslice=10, label=labels[sim], savefile=othersave) ahalo_no_atten.plot_species_fraction(species, ion, dla, color="green", ls="-.") vel_data.plot_alpha_metal_data((3.5, 2.5)) save_figure(path.join(outdir, "cosmo" + str(sim) + "_ion_corr" + str(snap))) plt.clf() ahalo.plot_ion_corr(species, ion, dla, upper=1, lower=-1) ahalo_no_atten.plot_ion_corr(species, ion, dla, color="green", ls="--", upper=1, lower=-1) save_figure( path.join(outdir, "cosmo" + str(sim) + "_rel_ion_corr" + str(snap))) plt.clf() del ahalo
def plot_halohist(snap, dla=True): """Plot a histogram of nearby halos""" for sim in (0, 4, 2, 1, 3, 7, 9): #xrange(8): halo = myname.get_name(sim, True) ahalo = dp.PrettyBox(halo, snap, nslice=10, label=labels[sim]) plt.figure(1) # if sim != 2 and sim != 4: ahalo.plot_halo_hist(dla=dla, color=colors[sim], ls=lss[sim]) if sim == 5: plt.figure(35) ahalo.plot_halo_hist(dla=dla, color=colors[sim], ls=lss[sim], plot_error=True) plt.figure(34) ahalo.plot_sigma_DLA() plt.figure() if dla: print "sim:", sim, "snap: ", snap ahalo.plot_sigma_DLA() plt.title(labels[sim] + " at z=" + str(redshifts[snap])) else: print "sim:", sim, "snap: ", snap ahalo.plot_sigma_LLS() plt.ylim(1, 1e5) plt.xlim(5e7, 1e13) if dla: save_figure( path.join(outdir, "halos/cosmo" + str(sim) + "_sigmaDLA_z" + str(snap))) else: save_figure( path.join(outdir, "halos/cosmo" + str(sim) + "_sigmaLLS_z" + str(snap))) plt.clf() plt.figure(1) if snap == 5: plt.legend(loc=1, ncol=2) else: plt.legend(loc=1) if dla: plt.title("Redshift " + str(redshifts[snap])) plt.xlim(1e8, 1e13) plt.ylim(0, 1.3) save_figure(path.join(outdir, "halos/cosmo_halohist_z" + str(snap))) else: save_figure(path.join(outdir, "halos/cosmo_halohist_lls_z" + str(snap))) plt.clf()
def plot_rel_cddf(snap): """Load and make a plot of the difference between two simulations""" basen = myname.get_name(7) base = dp.PrettyBox(basen, snap, nslice=10) cddf_base = base.column_density_function() for xx in (0, 4, 2, 1, 3, 9): halo2 = myname.get_name(xx) ahalo2 = dp.PrettyBox(halo2, snap, nslice=10) cddf = ahalo2.column_density_function() plt.semilogx(cddf_base[0], cddf[1] / cddf_base[1], color=colors[xx], ls=lss[xx], label=labels[xx]) plt.legend(loc=3, ncol=2) plt.xlabel(r"$N_\mathrm{HI}$ (cm$^{-2}$)") plt.ylabel(r"$f(N)/f_\mathrm{" + labels[7] + "}(N)$") plt.title("CDDF relative to " + labels[7] + " at z=" + str(redshifts[snap])) plt.ylim(-0.2, 1.8) plt.xlim(1e17, 1e22) tight_layout_wrapper() save_figure(path.join(outdir, "cosmo_rel_cddf_z" + str(snap))) plt.clf()
def plot_cutoff(): """Plot effect with a cutoff self-shielding""" halo = myname.get_name(0, True) savefile = "boxhi_grid_cutoff_H2.hdf5" ahalo = dp.PrettyBox(halo, 3, nslice=10, savefile=savefile) cutoff0 = ahalo.column_density_function() ahalo = dp.PrettyBox(halo, 3, nslice=10) normal0 = ahalo.column_density_function() halo = myname.get_name(1, True) savefile = "boxhi_grid_cutoff_H2.hdf5" ahalo = dp.PrettyBox(halo, 3, nslice=10, savefile=savefile) cutoff1 = ahalo.column_density_function() ahalo = dp.PrettyBox(halo, 3, nslice=10) normal1 = ahalo.column_density_function() plt.semilogx(cutoff0[0], np.log10(cutoff0[1] / cutoff1[1]), color="red", ls="-") plt.semilogx(normal0[0], np.log10(normal0[1] / normal1[1]), color="blue", ls="--") save_figure(path.join(outdir, "cosmo_rel_cutoff")) plt.clf()
def plot_breakdown(simlist): """Make a plot of the column density function, broken down by halo mass.""" for sss in simlist: halo = myname.get_name(sss, True) for nn in (1, 3, 5): ahalo = dp.PrettyBox(halo, nn, nslice=10) ahalo.plot_colden_mass_breakdown() plt.xlim(20.3, 22.3) plt.ylim(0, 1.4) plt.legend(loc=2, ncol=2) save_figure( path.join( outdir, "halos/break/cosmo" + str(sss) + "_" + str(nn) + "_break")) plt.clf() del ahalo
def get_rhohi_dndx(sim, ff=True, box=25): """Plot rho_HI and dndx across redshift""" halo = myname.get_name(sim, ff, box) snaps = {4: 1, 3.5: 2, 3: 3, 2.5: 4, 2: 5} dndx = [] rhohi = [] zzz = [] for zzzz in (4, 3.5, 3, 2.5, 2): try: ahalo = dp.PrettyBox(halo, snaps[zzzz], nslice=10) dndx.append(ahalo.line_density()) rhohi.append(ahalo.omega_DLA()) zzz.append(zzzz) del ahalo except IOError: continue return (zzz, dndx, rhohi)
def plot_mass_metal(sims, snap, ff=True): """Load a simulation and plot its cddf""" halo = myname.get_name(sim, ff) ahalo = dp.PrettyBox(halo, snap, nslice=10, label=labels[sim]) ahalo.plot_dla_mass_metallicity(color=colors[sim])
def plot_cddf_a_halo(sim, snap, ff=True, moment=False): """Load a simulation and plot its cddf""" halo = myname.get_name(sim, ff) ahalo = dp.PrettyBox(halo, snap, nslice=10, label=labels[sim]) ahalo.plot_column_density(color=colors[sim], ls=lss[sim], moment=moment) del ahalo