def test_execute(self): field = self.get_field(with_value=True, month_count=2) field = field.get_field_slice({'realization': 0, 'level': 0}) parms = {'percentile': 90, 'window_width': 5} dp = DailyPercentile(field=field, parms=parms) vc = dp.execute() self.assertAlmostEqual(vc['daily_perc'].get_value().mean(), 0.76756388346354165)
def test_calculate(self): field = self.get_field(with_value=True, month_count=2) field = field[0, :, 0, :, :] # field = self.test_data.get_rd('cancm4_tas').get() tgd = field.temporal.get_grouping(['month', 'day']) parms = {'percentile': 90, 'window_width': 5} dp = DailyPercentile(field=field, tgd=tgd, parms=parms) vc = dp.execute() self.assertAlmostEqual(vc['daily_perc'].value.mean(), 0.76756388346354165)
def test_get_daily_percentile_from_request_dataset(self): rd = self.test_data.get_rd('cancm4_tas') kwds = {'percentile': 90, 'window_width': 5} calc = [{'func': 'daily_perc', 'name': 'dp', 'kwds': kwds}] ops = ocgis.OcgOperations(dataset=rd, geom='state_boundaries', select_ugid=[23], calc=calc, output_format='nc', time_region={'year': [2002, 2003]}) ret = ops.execute() new_rd = ocgis.RequestDataset(ret) for alias in [None, 'dp']: dp = DailyPercentile.get_daily_percentile_from_request_dataset(new_rd, alias=alias) self.assertEqual(len(dp.keys()), 365) self.assertAlmostEqual(dp[(4, 15)].mean(), 280.7369384765625)
def test_get_daily_percentile_from_request_dataset(self): rd = self.test_data.get_rd('cancm4_tas') kwds = {'percentile': 90, 'window_width': 5} calc = [{'func': 'daily_perc', 'name': 'dp', 'kwds': kwds}] ops = ocgis.OcgOperations(dataset=rd, geom='state_boundaries', select_ugid=[23], calc=calc, output_format='nc', time_region={'year': [2002, 2003]}) ret = ops.execute() new_rd = ocgis.RequestDataset(ret) for alias in [None, 'dp']: dp = DailyPercentile.get_daily_percentile_from_request_dataset( new_rd, alias=alias) self.assertEqual(len(list(dp.keys())), 365) self.assertAlmostEqual(dp[(4, 15)].mean(), 281.68076869419644)