Example #1
0
def test_value_size():
    model = BmiGridmet()
    model.initialize()
    grid_id = model.get_var_grid("daily_maximum_temperature")
    size = model.get_grid_size(grid_id)
    vals1 = np.empty(size)
    z = model.get_value("daily_maximum_temperature", vals1)
    assert model.get_grid_size(0) == z.size
Example #2
0
def test_initialize_defaults():
    model = BmiGridmet()
    model.initialize()
    grid_id = model.get_var_grid("daily_maximum_temperature")
    size = model.get_grid_size(grid_id)
    vals = np.empty(size)
    model.get_value("daily_maximum_temperature", vals)
    min = np.nanmin(vals)
    max = np.nanmax(vals)

    npt.assert_almost_equal(min, 266.399, decimal=2)
    npt.assert_almost_equal(max, 305.0, decimal=1)
Example #3
0
def test_get_value_copy():
    model = BmiGridmet()
    model.initialize()
    grid_id = model.get_var_grid("daily_maximum_temperature")
    size = model.get_grid_size(grid_id)
    vals1 = np.empty(size)
    vals2 = np.empty(size)
    z0 = model.get_value("daily_maximum_temperature", vals1)
    z1 = model.get_value("daily_maximum_temperature", vals2)

    assert z0 is not z1
    npt.assert_array_almost_equal(z0, z1)
Example #4
0
def test_grid_id():
    model = BmiGridmet()
    model.initialize()
    assert model.get_var_grid("daily_maximum_temperature") == grid_id
Example #5
0

def print_times(x):
    print(x.get_start_time())
    print(x.get_time_step())
    print(x.get_time_units())
    print(x.get_current_time())
    print(x.get_end_time())


x = BmiGridmet()
# x.initialize('gridmet_bmi.yaml')
x.initialize()
print(x.get_input_var_names())
print(x.get_output_var_names())
grid_id = x.get_var_grid('daily_maximum_temperature')
size = x.get_grid_size(grid_id)
shape = np.empty(2, dtype=np.int)
origin = np.empty(2, dtype=np.float)
delta = np.empty(2, dtype=np.float)
x.get_grid_origin(grid_id, origin)
x.get_grid_spacing(grid_id, spacing=delta)
tmp = x.get_grid_shape(grid_id, shape)
print(type(shape), shape[0], shape[1], shape)
tmp2 = np.array([585, 1386])
npt.assert_almost_equal(shape, np.array([585, 1386]))
vals = np.zeros(size)
x.get_value('daily_maximum_temperature', vals)
print(np.nanmin(vals))
print(np.nanmax(vals))
print_times(x)