Esempio n. 1
0
    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')
Esempio n. 2
0
    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")