def test_nonspatial_data(): tmpdir = make_tempdir() curdir = os.getcwd() os.chdir(tmpdir) ds = data_dir_load(enzotiny) region = ds.box([0.25] * 3, [0.75] * 3) sphere = ds.sphere(ds.domain_center, (10, "Mpc")) my_data = {} my_data["region_density"] = region[("gas", "density")] my_data["sphere_density"] = sphere[("gas", "density")] fn = "test_data.h5" save_as_dataset(ds, fn, my_data) full_fn = os.path.join(tmpdir, fn) array_ds = load(full_fn) compare_unit_attributes(ds, array_ds) assert isinstance(array_ds, YTNonspatialDataset) yield YTDataFieldTest(full_fn, "region_density", geometric=False) yield YTDataFieldTest(full_fn, "sphere_density", geometric=False) my_data = {"density": YTArray(np.linspace(1.0, 20.0, 10), "g/cm**3")} fake_ds = {"current_time": YTQuantity(10, "Myr")} fn = "random_data.h5" save_as_dataset(fake_ds, fn, my_data) full_fn = os.path.join(tmpdir, fn) new_ds = load(full_fn) assert isinstance(new_ds, YTNonspatialDataset) yield YTDataFieldTest(full_fn, ("data", "density"), geometric=False) os.chdir(curdir) if tmpdir != ".": shutil.rmtree(tmpdir)
def fake_halo_catalog(data): filename = "catalog.0.h5" ftypes = {field: "." for field in data} extra_attrs = {"data_type": "halo_catalog", "num_halos": data["particle_mass"].size} ds = { "cosmological_simulation": 1, "omega_lambda": 0.7, "omega_matter": 0.3, "hubble_constant": 0.7, "current_redshift": 0, "current_time": YTQuantity(1, "yr"), "domain_left_edge": YTArray(np.zeros(3), "cm"), "domain_right_edge": YTArray(np.ones(3), "cm"), } save_as_dataset(ds, filename, data, field_types=ftypes, extra_attrs=extra_attrs) return filename
def test_default_to_cartesian(): data = {"density": np.random.random(128)} ds_attrs = {"current_time": YTQuantity(10, "Myr")} with TemporaryDirectory() as tmpdir: tmpf = os.path.join(tmpdir, "savefile.h5") fn = save_as_dataset(ds_attrs, tmpf, data) ds2 = load(fn) assert ds2.geometry == "cartesian"
def fake_halo_catalog(data): filename = "catalog.0.h5" ftypes = dict((field, '.') for field in data) extra_attrs = { "data_type": "halo_catalog", "num_halos": data['particle_mass'].size } ds = { 'cosmological_simulation': 1, 'omega_lambda': 0.7, 'omega_matter': 0.3, 'hubble_constant': 0.7, 'current_redshift': 0, 'current_time': YTQuantity(1, 'yr'), 'domain_left_edge': YTArray(np.zeros(3), 'cm'), 'domain_right_edge': YTArray(np.ones(3), 'cm') } save_as_dataset(ds, filename, data, field_types=ftypes, extra_attrs=extra_attrs) return filename