def test_it(self): ds = _get_test_dataset() ml_ds1 = BaseMultiLevelDataset(ds) def input_ml_dataset_getter(ds_id): if ds_id == "ml_ds1": return ml_ds1 self.fail(f"unexpected ds_id={ds_id!r}") ml_ds2 = ComputedMultiLevelDataset(os.path.join(os.path.dirname(__file__), "..", "webapi", "res", "test", "script.py"), "compute_dataset", ["ml_ds1"], input_ml_dataset_getter, input_parameters=dict(period='1W'), ds_id="ml_ds2") self.assertEqual(3, ml_ds2.num_levels) self.assertEqual(TileGrid(3, 2, 1, 180, 180, (-180, -90, 180, 90), inv_y=False), ml_ds2.tile_grid) ds0 = ml_ds2.get_dataset(0) self.assertEqual({'time': 3, 'lat': 720, 'lon': 1440, 'bnds': 2}, ds0.dims) ds1 = ml_ds2.get_dataset(1) self.assertEqual({'time': 3, 'lat': 360, 'lon': 720}, ds1.dims) ds2 = ml_ds2.get_dataset(2) self.assertEqual({'time': 3, 'lat': 180, 'lon': 360}, ds2.dims) self.assertEqual([ds0, ds1, ds2], ml_ds2.datasets) ml_ds1.close() ml_ds2.close()
def test_it(self): ds = _get_test_dataset() ml_ds = BaseMultiLevelDataset(ds) self.assertIsInstance(ml_ds.ds_id, str) self.assertEqual(3, ml_ds.num_levels) self.assertEqual( TileGrid(3, 2, 1, 180, 180, (-180, -90, 180, 90), inv_y=False), ml_ds.tile_grid) ds0 = ml_ds.get_dataset(0) self.assertIs(ds, ds0) ds1 = ml_ds.get_dataset(1) self.assertIsNot(ds, ds1) self.assertEqual({'time': 14, 'lat': 360, 'lon': 720}, ds1.dims) ds2 = ml_ds.get_dataset(2) self.assertIsNot(ds, ds2) self.assertEqual({'time': 14, 'lat': 180, 'lon': 360}, ds2.dims) self.assertEqual([ds0, ds1, ds2], ml_ds.datasets) ml_ds.close()
def test_it(self): ds = _get_test_dataset() ml_ds = BaseMultiLevelDataset(ds) self.assertIsInstance(ml_ds.ds_id, str) self.assertEqual(3, ml_ds.num_levels) self.assertIsInstance(ml_ds.tile_grid, ImageTileGrid) self.assertEqual((180, 180), ml_ds.tile_grid.tile_size) self.assertEqual(3, ml_ds.tile_grid.num_levels) ds0 = ml_ds.get_dataset(0) self.assertIsNot(ds, ds0) self.assertEqual({ 'time': 14, 'lat': 720, 'lon': 1440, 'bnds': 2 }, ds0.dims) ds1 = ml_ds.get_dataset(1) self.assertIsNot(ds, ds1) self.assertEqual({'time': 14, 'lat': 360, 'lon': 720}, ds1.dims) ds2 = ml_ds.get_dataset(2) self.assertIsNot(ds, ds2) self.assertEqual({'time': 14, 'lat': 180, 'lon': 360}, ds2.dims) self.assertEqual([ds0, ds1, ds2], ml_ds.datasets) ml_ds.close()