def test_daynight_interpolation_from_given_list(self): """Test daynight interpolating to a point defined in a list between the two input cube validity times. Check the data increments as expected and the time coordinates are also set correctly.""" plugin = TemporalInterpolation(times=[self.time_extra], interpolation_method='daynight') result, = plugin.process(self.cube_time_0, self.cube_time_1) expected_data = np.zeros((self.npoints, self.npoints)) expected_data[:2, 7:] = 4. expected_data[2, 8:] = 4. expected_data[3, 9] = 4. expected_time = [1509516000] expected_fp = 3 * 3600 self.assertArrayAlmostEqual(expected_data, result.data) self.assertArrayAlmostEqual(result.coord('time').points, expected_time, decimal=5) self.assertAlmostEqual( result.coord('forecast_period').points[0], expected_fp) self.assertEqual(result.data.dtype, np.float32) self.assertEqual(str(result.coord('time').points.dtype), 'int64') self.assertEqual(str(result.coord('forecast_period').points.dtype), 'int32')
def test_solar_interpolation_from_given_list(self): """Test solar interpolating to a point defined in a list between the two input cube validity times. Check the data increments as expected and the time coordinates are also set correctly.""" plugin = TemporalInterpolation( times=[self.time_extra], interpolation_method="solar" ) (result,) = plugin.process(self.cube_time_0, self.cube_time_1) expected_time = [1509516000] expected_fp = 3 * 3600 self.assertArrayAlmostEqual( result.coord("time").points, expected_time, decimal=5 ) self.assertAlmostEqual(result.coord("forecast_period").points[0], expected_fp) self.assertEqual(result.data.dtype, np.float32) self.assertEqual(str(result.coord("time").points.dtype), "int64") self.assertEqual(str(result.coord("forecast_period").points.dtype), "int32")