def test_m2s_returns_middle_month_value(self): season_ds = month_to_season(self.ds1, 'JFM') season_value_array = season_ds['my_var'].data # Should equal the average of [1.0, 2.0, 3.0] self.assertEqual(season_value_array[0, 0, 0], 2.0) season_ds = month_to_season(self.ds1, 'JJA') season_value_array = season_ds['my_var'].data # Should equal the average of [6.0, 7.0, 8.0] self.assertEqual(season_value_array[0, 0, 0], 7.0)
def test_custom_time_coordinate(self): season_ds = month_to_season(self.custom_time_dataset, 'JFM', time_coord_name='my_time') season_value_array = season_ds['my_var'].data # Should equal the average of [1.0, 2.0, 3.0] self.assertEqual(season_value_array[0, 0, 0], 2.0)
def test_bad_season_returns_exception(self): with self.assertRaises(KeyError): season_ds = month_to_season(self.ds1, 'XXX')
def test_each_season_returns_one_point_per_year(self): nyears_of_data = self.ds3.sizes['time'] / 12 for season in self.all_seasons: season_ds = month_to_season(self.ds3, season) season_value_array = season_ds['my_var'].data self.assertEqual(season_value_array.size, nyears_of_data)
def test_final_season_returns_2month_average(self): season_ds = month_to_season(self.ds1, 'NDJ') season_value_array = season_ds['my_var'].data self.assertEqual(season_value_array[0, 0, 0], 11.5)
def test_partial_years_returns_exception(self): with self.assertRaises(ValueError): season_ds = month_to_season(self.partial_year_dataset, 'JFM')