Exemple #1
0
 def test_basic_float_cube_lead_times_is_none(self):
     """Test _find_radii returns a float with the correct value."""
     neighbourhood_method = "circular"
     ens_factor = 0.8
     num_ens = 2.0
     radius = 6300
     plugin = NBHood(neighbourhood_method, radius, ens_factor=ens_factor)
     result = plugin._find_radii(num_ens)
     expected_result = 3563.8181771801998
     self.assertIsInstance(result, float)
     self.assertAlmostEquals(result, expected_result)
Exemple #2
0
 def test_interpolation(self):
     """Test that interpolation is working as expected in _find_radii."""
     fp_points = np.array([2, 3, 4])
     neighbourhood_method = "circular"
     ens_factor = 0.8
     num_ens = 4.0
     fp_points = np.array([2, 3, 4])
     radii = [10000, 30000]
     lead_times = [2, 4]
     plugin = NBHood(neighbourhood_method,
                     radii,
                     lead_times=lead_times,
                     ens_factor=ens_factor)
     result = plugin._find_radii(num_ens, cube_lead_times=fp_points)
     expected_result = np.array([4000., 8000., 12000.])
     self.assertArrayAlmostEqual(result, expected_result)
Exemple #3
0
 def test_basic_array_cube_lead_times_an_array(self):
     """Test _find_radii returns an array with the correct values."""
     neighbourhood_method = "circular"
     ens_factor = 0.9
     num_ens = 2.0
     fp_points = np.array([2, 3, 4])
     radii = [10000, 20000, 30000]
     lead_times = [2, 3, 4]
     plugin = NBHood(neighbourhood_method,
                     radii,
                     lead_times=lead_times,
                     ens_factor=ens_factor)
     result = plugin._find_radii(num_ens, cube_lead_times=fp_points)
     expected_result = np.array([6363.961031, 12727.922061, 19091.883092])
     self.assertIsInstance(result, np.ndarray)
     self.assertArrayAlmostEqual(result, expected_result)