def load_total(self): for i, snum in enumerate(np.arange(self.snap_lims[0],self.snap_lims[1]+1)): sp = Snapshot(self.sdir, snum, cosmological=self.cosmological, periodic_bound_fix=self.pb_fix) self.time[i] = sp.time if self.cosmological: self.redshift[i] = sp.redshift if self.setHalo: gal = sp.loadhalo(**self.kwargs) if self.setDisk: gal = sp.loaddisk(**self.kwargs) gas = gal.loadpart(0) self.z[i] = np.nansum(gas.z[:,0]*gas.m)/np.nansum(gas.m) self.dz[i] = np.nansum(gas.dz[:,0]*gas.m)/np.nansum(gas.z[:,0]*gas.m) self.spec[i] = np.nansum(gas.spec*gas.m[:,np.newaxis], axis=0)/np.nansum(gas.dz[:,0]*gas.m) self.source[i] = np.nansum(gas.dzs*gas.dz[:,0]*gas.m[:,np.newaxis], axis=0)/np.nansum(gas.dz[:,0]*gas.m) return
def load_average(self): for i, snum in enumerate(np.arange(self.snap_lims[0],self.snap_lims[1]+1)): sp = Snapshot(self.sdir, snum, cosmological=self.cosmological, periodic_bound_fix=self.pb_fix) self.time[i] = sp.time if self.cosmological: self.redshift[i] = sp.redshift if self.setHalo: gal = sp.loadhalo(**self.kwargs) if self.setDisk: gal = sp.loaddisk(**self.kwargs) gas = gal.loadpart(0) self.z[i] = weighted_percentile(gas.z[:,0], percentiles=[50], weights=gas.m, ingore_invalid=True) self.dz[i] = weighted_percentile(gas.dz[:,0]/gas.z[:,0], percentiles=[50], weights=gas.m, ingore_invalid=True) for j in range(sp.Flag_DustSpecies): self.spec[i,j] = weighted_percentile(gas.spec[:,j]/gas.dz[:,0], percentiles=[50], weights=gas.m, ingore_invalid=True) for j in range(4): self.source[i,j] = weighted_percentile(gas.dzs[:,j], percentiles=[50], weights=gas.m, ingore_invalid=True) return