def test_halo_catalog_boundary_particles(self): rs = np.random.RandomState(3670474) n_halos = 100 fields = ["particle_mass" ] + [f"particle_position_{ax}" for ax in "xyz"] units = ["g"] + ["cm"] * 3 data = { field: YTArray(rs.random_sample(n_halos), unit) for field, unit in zip(fields, units) } data["particle_position_x"][0] = 1.0 data["particle_position_x"][1] = 0.0 data["particle_position_y"][2] = 1.0 data["particle_position_y"][3] = 0.0 data["particle_position_z"][4] = 1.0 data["particle_position_z"][5] = 0.0 fn = fake_halo_catalog(data) ds = yt_load(fn) assert type(ds) is YTHaloCatalogDataset for field in fields: f1 = data[field].in_base() f1.sort() f2 = ds.r[("all", field)].in_base() f2.sort() assert_array_equal(f1, f2)
def get_datasets(fns): pbar = get_pbar('Loading datasets', len(fns)) dss = [] for i, fn in enumerate(fns): ds = yt_load(fn, minimal_fields=True) dss.append(ds) pbar.update(i + 1) pbar.finish() return dss
def test_halo_catalog(self): rs = np.random.RandomState(3670474) n_halos = 100 fields = [ f"particle_{name}" for name in ["mass"] + [f"position_{ax}" for ax in "xyz"] ] units = ["g"] + ["cm"] * 3 data = dict((field, YTArray(rs.random_sample(n_halos), unit)) for field, unit in zip(fields, units)) fn = fake_halo_catalog(data) ds = yt_load(fn) assert type(ds) is YTHaloCatalogDataset for field in fields: f1 = data[field].in_base() f1.sort() f2 = ds.r[field].in_base() f2.sort() assert_array_equal(f1, f2)