def test_stat_holland(self): """Test _stat_holland function. Compare to MATLAB reference.""" d_centr = np.array([[293.6067129546862, 298.2652319413182]]) r_max = np.array([75.547902916671745]) hol_b = np.array([1.265551666104679]) penv = np.array([1010.0]) pcen = np.array([1005.268166666671]) lat = np.array([12.299999279463769]) mask = np.ones_like(d_centr, dtype=bool) _v_arr = _stat_holland(d_centr, r_max, hol_b, penv, pcen, lat, mask)[0] self.assertAlmostEqual(_v_arr[0], 5.384115724400597) self.assertAlmostEqual(_v_arr[1], 5.281356766052531) d_centr = np.array([[]]) mask = np.ones_like(d_centr, dtype=bool) _v_arr = _stat_holland(d_centr, r_max, hol_b, penv, pcen, lat, mask)[0] self.assertTrue(np.array_equal(_v_arr, np.array([]))) d_centr = np.array([ [299.4501244109841, 291.0737897183741, 292.5441003235722] ]) r_max = np.array([40.665454622610511]) hol_b = np.array([1.486076257880692]) penv = np.array([1010.0]) pcen = np.array([970.8727666672957]) lat = np.array([14.089110370469488]) mask = np.ones_like(d_centr, dtype=bool) _v_arr = _stat_holland(d_centr, r_max, hol_b, penv, pcen, lat, mask)[0] self.assertAlmostEqual(_v_arr[0], 11.279764005440288) self.assertAlmostEqual(_v_arr[1], 11.682978583939310) self.assertAlmostEqual(_v_arr[2], 11.610940769149384)
def test_stat_holland(self): """ Test _stat_holland function. Compare to MATLAB reference.""" r_arr = np.array([293.6067129546862, 298.2652319413182]) r_max = 75.547902916671745 hol_b = 1.265551666104679 penv = 1010 pcen = 1005.268166666671 ycoord = 12.299999279463769 _v_arr = tc._stat_holland(r_arr, r_max, hol_b, penv, pcen, ycoord) self.assertAlmostEqual(_v_arr[0], 5.384115724400597) self.assertAlmostEqual(_v_arr[1], 5.281356766052531) r_arr = np.array([]) _v_arr = tc._stat_holland(r_arr, r_max, hol_b, penv, pcen, ycoord) self.assertTrue(np.array_equal(_v_arr, np.array([]))) r_arr = np.array( [299.4501244109841, 291.0737897183741, 292.5441003235722]) r_max = 40.665454622610511 hol_b = 1.486076257880692 penv = 1010 pcen = 970.8727666672957 ycoord = 14.089110370469488 _v_arr = tc._stat_holland(r_arr, r_max, hol_b, penv, pcen, ycoord) self.assertAlmostEqual(_v_arr[0], 11.279764005440288) self.assertAlmostEqual(_v_arr[1], 11.682978583939310) self.assertAlmostEqual(_v_arr[2], 11.610940769149384)