def single_point_results_in_single_value_in_cell_with_time_on_boundary_with_cube_with_time(con, kernel): sample_cube = make_square_5x3_2d_cube_with_time() data_point = make_dummy_ungridded_data_single_point(0.5, 0.5, 1.2, time=datetime.datetime(1984, 8, 28, 0, 0)) col = GeneralGriddedCollocator(fill_value=-999.9) out_cube = col.collocate(points=sample_cube, data=data_point, constraint=con, kernel=kernel)[0] expected_result = numpy.array([[[-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9]], [[-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9]], [[-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, 1.2, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9]], [[-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9]], [[-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9], [-999.9, -999.9, -999.9, -999.9, -999.9, -999.9, -999.9]]]) assert_arrays_equal(out_cube.data.filled(), expected_result)
def test_basic_col_gridded_to_ungridded_in_2d_with_time(self): cube = make_from_cube(mock.make_square_5x3_2d_cube_with_time()) sample_points = [HyperPoint(lat=1.0, lon=1.0, t=dt.datetime(1984, 8, 28, 8, 34)), HyperPoint(lat=4.0, lon=4.0, t=dt.datetime(1984, 8, 31, 1, 23)), HyperPoint(lat=-4.0, lon=-4.0, t=dt.datetime(1984, 9, 2, 15, 54))] sample_points = UngriddedData.from_points_array(sample_points) col = GriddedUngriddedCollocator(extrapolate=True) new_data = col.collocate(sample_points, cube, None, 'nn')[0] eq_(new_data.data[0], 51.0) eq_(new_data.data[1], 82.0) eq_(new_data.data[2], 28.0)
def test_basic_col_gridded_to_ungridded_in_2d_with_time(self): cube = make_from_cube(mock.make_square_5x3_2d_cube_with_time()) sample_points = [ HyperPoint(lat=1.0, lon=1.0, t=dt.datetime(1984, 8, 28, 8, 34)), HyperPoint(lat=4.0, lon=4.0, t=dt.datetime(1984, 8, 31, 1, 23)), HyperPoint(lat=-4.0, lon=-4.0, t=dt.datetime(1984, 9, 2, 15, 54)) ] sample_points = UngriddedData.from_points_array(sample_points) col = GriddedUngriddedCollocator(extrapolate=True) new_data = col.collocate(sample_points, cube, None, 'nn')[0] eq_(new_data.data[0], 51.0) eq_(new_data.data[1], 82.0) eq_(new_data.data[2], 28.0)
def test_basic_col_gridded_to_ungridded_in_2d_with_time(self): from cis.collocation.col_implementations import GeneralUngriddedCollocator, nn_gridded import datetime as dt cube = gridded_data.make_from_cube(mock.make_square_5x3_2d_cube_with_time()) sample_points = HyperPointList() sample_points.append(HyperPoint(lat=1.0, lon=1.0, t=dt.datetime(1984, 8, 28, 8, 34))) sample_points.append(HyperPoint(lat=4.0, lon=4.0, t=dt.datetime(1984, 8, 31, 1, 23))) sample_points.append(HyperPoint(lat=-4.0, lon=-4.0, t=dt.datetime(1984, 9, 2, 15, 54))) sample_points = UngriddedData.from_points_array(sample_points) col = GeneralUngriddedCollocator() new_data = col.collocate(sample_points, cube, None, nn_gridded())[0] eq_(new_data.data[0], 51.0) eq_(new_data.data[1], 82.0) eq_(new_data.data[2], 28.0)
def single_point_gives_single_val_in_cell_w_no_time_with_cube_w_time_and_missing_samples_THEN_error(con, kernel): sample_cube = make_square_5x3_2d_cube_with_time() data_point = make_dummy_ungridded_data_single_point(0.5, 0.5, 1.2) col = GeneralGriddedCollocator(fill_value=-999.9, missing_data_for_missing_sample=True) assert_that(calling(col.collocate).with_args(points=sample_cube, data=data_point, constraint=con, kernel=kernel), raises(UserPrintableException, pattern=".*sample variable.*"))