コード例 #1
0
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)
コード例 #2
0
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
コード例 #3
0
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"
コード例 #4
0
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