示例#1
0
def test_exclude_nan():
    test_array = np.nan * np.ones((10, 10, 10))
    test_array[1, 1, :] = 1
    data = dict(density=test_array)
    ds = load_uniform_grid(data, test_array.shape, length_unit="cm", nprocs=1)
    ad = ds.all_data()
    no_nan_ds = ad.exclude_nan("density")
    assert_equal(no_nan_ds["density"], np.array(np.ones(10)))
示例#2
0
def test_dimensionless_field_units():
    Z = np.random.uniform(size=(32,32,32))
    d = np.random.uniform(size=(32,32,32))

    data = {"density": d, "metallicity": Z}

    ds = load_uniform_grid(data, (32,32,32))

    dd = ds.all_data()

    assert_equal(Z.max(), dd["metallicity"].max())
示例#3
0
def test_equal():
    test_array = np.ones((10, 10, 10))
    test_array[1, 1, :] = 2.0
    test_array[2, 1, :] = 3.0
    data = dict(density=test_array)
    ds = load_uniform_grid(data, test_array.shape, length_unit="cm", nprocs=1)
    ad = ds.all_data()
    no_ones = ad.exclude_equal("density", 1.0)
    assert np.all(no_ones["density"] != 1.0)
    only_ones = ad.include_equal("density", 1.0)
    assert np.all(only_ones["density"] == 1.0)
示例#4
0
def test_inside_outside():
    test_array = np.ones((10, 10, 10))
    test_array[1, 1, :] = 2.0
    test_array[2, 1, :] = 3.0
    data = dict(density=test_array)
    ds = load_uniform_grid(data, test_array.shape, length_unit="cm", nprocs=1)
    ad = ds.all_data()

    only_ones_and_twos = ad.include_inside("density", 0.9, 2.1)
    assert np.all(only_ones_and_twos["density"] != 3.0)
    assert len(only_ones_and_twos["density"]) == 990

    only_ones_and_twos = ad.exclude_outside("density", 0.9, 2.1)
    assert len(only_ones_and_twos["density"]) == 990
    assert np.all(only_ones_and_twos["density"] != 3.0)

    only_threes = ad.include_outside("density", 0.9, 2.1)
    assert np.all(only_threes["density"] == 3)
    assert len(only_threes["density"]) == 10

    only_threes = ad.include_outside("density", 0.9, 2.1)
    assert np.all(only_threes["density"] == 3)
    assert len(only_threes["density"]) == 10

    # Repeat, but convert units to g/m**3
    only_ones_and_twos = ad.include_inside("density", 0.9e6, 2.1e6, "g/m**3")
    assert np.all(only_ones_and_twos["density"] != 3.0)
    assert len(only_ones_and_twos["density"]) == 990

    only_ones_and_twos = ad.exclude_outside("density", 0.9e6, 2.1e6, "g/m**3")
    assert len(only_ones_and_twos["density"]) == 990
    assert np.all(only_ones_and_twos["density"] != 3.0)

    only_threes = ad.include_outside("density", 0.9e6, 2.1e6, "g/m**3")
    assert np.all(only_threes["density"] == 3)
    assert len(only_threes["density"]) == 10

    only_threes = ad.include_outside("density", 0.9e6, 2.1e6, "g/m**3")
    assert np.all(only_threes["density"] == 3)
    assert len(only_threes["density"]) == 10
示例#5
0
 def load_field_grid_mismatch():
     d = np.random.uniform(size=(32, 32, 32))
     t = np.random.uniform(size=(32, 32, 32))
     data = {"density": d, "temperature": t}
     load_uniform_grid(data, (32,64,32))