def test_explicit_extent(self): # Interpolation to a grid with explicit extents. expected_x_grid = np.array([[-5., 0., 5., 10.], [-5., 0., 5., 10.]]) expected_y_grid = np.array([[7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10]]) expected_s_grid = np.array([[2.5, 3.5, 2.5, np.nan], [3., 4., 3., 2.]]) extent = (-5, 10, 7.5, 10) x_grid, y_grid, s_grid = vec_trans._interpolate_to_grid( 4, 2, self.x, self.y, self.s, target_extent=extent) assert_array_equal(x_grid, expected_x_grid) assert_array_equal(y_grid, expected_y_grid) assert_array_almost_equal(s_grid, expected_s_grid)
def test_data_extent(self): # Interpolation to a grid with extents of the input data. expected_x_grid = np.array([[-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.]]) expected_y_grid = np.array([[5., 5., 5., 5., 5.], [7.5, 7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10., 10]]) expected_s_grid = np.array([[np.nan, 2., 3., 2., np.nan], [np.nan, 2.5, 3.5, 2.5, np.nan], [2., 3., 4., 3., 2.]]) x_grid, y_grid, s_grid = vec_trans._interpolate_to_grid( 5, 3, self.x, self.y, self.s) assert_array_equal(x_grid, expected_x_grid) assert_array_equal(y_grid, expected_y_grid) assert_array_almost_equal(s_grid, expected_s_grid)
def test_multiple_fields(self): # Interpolation of multiple fields in one go. expected_x_grid = np.array([[-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.]]) expected_y_grid = np.array([[5., 5., 5., 5., 5.], [7.5, 7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10., 10]]) expected_s_grid = np.array([[np.nan, 2., 3., 2., np.nan], [np.nan, 2.5, 3.5, 2.5, np.nan], [2., 3., 4., 3., 2.]]) x_grid, y_grid, s_grid1, s_grid2, s_grid3 = \ vec_trans._interpolate_to_grid(5, 3, self.x, self.y, self.s, self.s, self.s) assert_array_equal(x_grid, expected_x_grid) assert_array_equal(y_grid, expected_y_grid) assert_array_almost_equal(s_grid1, expected_s_grid) assert_array_almost_equal(s_grid2, expected_s_grid) assert_array_almost_equal(s_grid3, expected_s_grid)