def test_main(self):
start_time = datetime(2017, 7, 14, 0, 0)
end_time = start_time + timedelta(days=1) - timedelta(milliseconds=1)
self.config.dims["time"].update({
"index_by": "time",
"min": start_time, # for convenience, will convert according to index_by units if this is datetime
"max": end_time,
"expected_cadence": {"time": 1},
})
agg_list = generate_aggregation_list(self.config, self.files)
self.assertEqual(len(agg_list), 1)
evaluate_aggregation_list(self.config, agg_list, self.file)
with nc.Dataset(self.file) as nc_out:
time = nc_out.variables["time"][:]
out_start, out_end = nc.num2date(time[[0, -1]], nc_out.variables["time"].units)
self.assertGreaterEqual(out_start, start_time)
self.assertLessEqual(out_end, end_time)
self.assertAlmostEqual(np.mean(np.diff(time)), 1, delta=0.001)
self.assertAlmostEqual(np.max(np.diff(time)), 1, delta=0.001)
self.assertAlmostEqual(np.min(np.diff(time)), 1, delta=0.001)
self.assertAlmostEqual(int((end_time - start_time).total_seconds()), time.size, delta=1)
评论列表
文章目录