snapshot = sys.argv[1] snap_dir = '/orange/narayanan/desika.narayanan/gizmo_runs/simba/m25n512/output/' cfile = glob.glob(snap_dir+'/Groups/caesar_0'+"{:03d}".format(int(snapshot))+'_*.hdf5') ids = np.load('/orange/narayanan/s.lower/simba/snap'+str(snapshot)+'_galaxy.npz', allow_pickle=True) gal = ids['galid'] #gal_file = np.load('/orange/narayanan/s.lower/simba/_galaxy.npz')['galids'] print('loading yt snap') ds = yt.load(snap_dir+'snapshot_'+snapshot+'.hdf5') print('quick loading caesar') obj = caesar.quick_load(cfile[0]) obj.yt_dataset = ds dd = obj.yt_dataset.all_data() print('loading particle data') scalefactor = dd[("PartType4", "StellarFormationTime")] star_masses = dd[("PartType4", "Masses")] star_metal = dd[("PartType4", 'metallicity')] print('now loading fsps') fsps_ssp = fsps.StellarPopulation(sfh=0, zcontinuous=1, imf_type=2, zred=0.0, add_dust_emission=False) solar_Z = 0.0196 # Compute the age of all the star particles from the provided scale factor at creation
r'Cool CGM $(T < T_{\rm photo})$', 'Wind', 'Dust', 'ISM', 'Stars' ] colours = ['m', 'b', 'c', 'g', 'tab:orange', 'tab:pink', 'r'] colours = get_cb_colours(palette_name)[::-1] stats = ['median', 'percentile_25_75', 'std', 'cosmic_median', 'cosmic_std'] frac_stats_file = fracdata_dir + model + '_' + wind + '_' + snap + '_avail_metal_frac_stats.h5' if os.path.isfile(frac_stats_file): frac_stats = read_phase_stats(frac_stats_file, plot_phases, stats) else: caesarfile = '/home/rad/data/' + model + '/' + wind + '/Groups/' + model + '_' + snap + '.hdf5' sim = caesar.quick_load(caesarfile) quench = -1.8 + 0.3 * sim.simulation.redshift central = np.array([i.central for i in sim.galaxies]) gal_sm = np.array( [i.masses['stellar'].in_units('Msun') for i in sim.galaxies])[central] gal_sfr = np.array([i.sfr.in_units('Msun/Gyr') for i in sim.galaxies])[central] gal_ssfr = np.log10(gal_sfr / gal_sm) gal_pos = np.array([i.pos.in_units('kpc/h') for i in sim.galaxies])[central] fractions = read_phases(fracdata_dir + 'available_metal_fraction.h5', all_phases) frac_stats = {}
import caesar import numpy as np import pprint import argparse parser = argparse.ArgumentParser() parser.add_argument('caesar_file') args = parser.parse_args() obj = caesar.old_load(args.caesar_file) qobj = caesar.quick_load(args.caesar_file) assert len(obj.galaxies) == len(qobj.galaxies) for galaxy, qgalaxy in zip(obj.galaxies, qobj.galaxies): for k, v in galaxy.__dict__.items(): if k[0] != '_' and k not in ['obj', 'halo', 'satellites', 'clouds']: if isinstance(getattr(galaxy, k), np.ndarray): if np.any(getattr(galaxy, k) != getattr(qgalaxy, k)): print(k) pprint.pprint(getattr(galaxy, k)) pprint.pprint(getattr(qgalaxy, k)) print() else: if getattr(galaxy, k) != getattr(qgalaxy, k): print(k) print(getattr(galaxy, k)) print(getattr(qgalaxy, k)) print() assert len(obj.halos) == len(qobj.halos) for halo, qhalo in zip(obj.halos, qobj.halos):
# coding: utf-8 import yt import caesar import numpy as np import fsps import sys, os from prospector_output_utilities import * #old_caesar = pd.read_pickle('/Users/sidneylower/Documents/snap305_dirichlet/caesar_galaxy_properties_evo2000.pkl') caesar_snap = '/orange/narayanan/desika.narayanan/gizmo_runs/simba/m25n512/output/Groups/caesar_0305_z0.000.hdf5' snapshot = '/orange/narayanan/desika.narayanan/gizmo_runs/simba/m25n512/output/snapshot_305.hdf5' gal = int(sys.argv[1]) obj = caesar.quick_load(caesar_snap) solar_Z = 0.0196 ds = yt.load(snapshot) obj.yt_dataset = ds dd = obj.yt_dataset.all_data() scalefactor = dd[("PartType4", "StellarFormationTime")] star_masses = dd[("PartType4", "Masses")] star_Z = dd[("PartType4", "metallicity")] formation_z = (1.0 / scalefactor) - 1.0 yt_cosmo = yt.utilities.cosmology.Cosmology(hubble_constant=0.68) stellar_formation_age = yt_cosmo.t_from_z(formation_z).in_units("Gyr") simtime = yt_cosmo.t_from_z(ds.current_redshift).in_units("Gyr") stellar_ages = (simtime - stellar_formation_age).in_units("Gyr")
import numpy as np import glob snap = int(sys.argv[1]) ids = np.load('/orange/narayanan/s.lower/simba/snap'+str(snap)+'_galaxy.npz', allow_pickle=True) gal = ids['galid'] snap_dir = '/orange/narayanan/s.lower/simba/desika_filtered_snaps/snap'+str(snap)+'/' outfile = '/orange/narayanan/s.lower/simba/desika_filtered_snaps/simba_snap'+str(snap)+'_pos.npz' print('loading yt ds') ds = yt.load('/orange/narayanan/desika.narayanan/gizmo_runs/simba/m25n512/output/snapshot_'+"{:03d}".format(snap)+'.hdf5') ad = ds.all_data() print('caesar quick loading') c_files = glob.glob('/orange/narayanan/desika.narayanan/gizmo_runs/simba/m25n512/output/Groups/caesar_0'+"{:03d}".format(snap)+'_z*.hdf5') obj = caesar.quick_load(c_files[0]) gas_masses = ad[('PartType0', 'Masses')].value #star_masses = ad[('PartType4', 'Masses')].value star_masses = ad[('PartType4', 'Masses')].value gas_coords = ad[('PartType0', 'Coordinates')].value#[:,0] star_coords = ad[('PartType4', 'Coordinates')].value#[:,0] pos = {} ngalaxies = {} for i in range(len(gal)): print('on galaxy ',i,' of ',len(gal)) try: