From 2176a6efba751a99f36d789bc04af54e794451e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20M=C3=BChlbauer?= Date: Wed, 30 Aug 2023 17:54:41 +0200 Subject: [PATCH] FIX: use datastore._group instead of variable["sweep_number"] (#123) * FIX: use datastore._group instead of variable["sweep_number"] (might be empty/corrupt) for iris reader * DOC: add history.md entry * STY: E721 - Do not compare types, use `isinstance()` --- docs/history.md | 4 ++++ tests/georeference/test_projection.py | 4 ++-- tests/georeference/test_transforms.py | 2 +- xradar/io/backends/iris.py | 8 ++++++-- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docs/history.md b/docs/history.md index 5ecda535..4535739b 100644 --- a/docs/history.md +++ b/docs/history.md @@ -1,5 +1,9 @@ # History +## development version + +* FIX: use datastore._group instead of variable["sweep_number"] ({issue}`121`) by [@aladinor](https://github.com/aladinor) , {pull}`123`) by [@kmuehlbauer](https://github.com/kmuehlbauer) + ## 0.3.0 (2023-07-11) * ENH: Add new examples using radar data on AWS s3 bucket ({pull}`102`) by [@aladinor](https://github.com/aladinor) * FIX: Correct DB_DBTE8/DB_DBZE8 and DB_DBTE16/DB_DBZE16 decoding for iris-backend ({pull}`110`) by [@kmuehlbauer](https://github.com/kmuehlbauer) diff --git a/tests/georeference/test_projection.py b/tests/georeference/test_projection.py index 953f7816..9acd9f7a 100644 --- a/tests/georeference/test_projection.py +++ b/tests/georeference/test_projection.py @@ -47,7 +47,7 @@ def test_get_crs(): "false_northing": 0.0, } for key, value in crs.items(): - if type(value) == float: + if isinstance(value, float): assert proj_crs_cf[key] == pytest.approx(value) else: assert proj_crs_cf[key] == value @@ -78,7 +78,7 @@ def test_write_crs(): "false_northing": 0.0, } for key, value in crs.items(): - if type(value) == float: + if isinstance(value, float): assert ds.spatial_ref.attrs[key] == pytest.approx(value) else: assert ds.spatial_ref.attrs[key] == value diff --git a/tests/georeference/test_transforms.py b/tests/georeference/test_transforms.py index 186b0e66..9bba73cc 100644 --- a/tests/georeference/test_transforms.py +++ b/tests/georeference/test_transforms.py @@ -78,7 +78,7 @@ def test_get_x_y_z(): "false_northing": 0.0, } for key, value in crs.items(): - if type(value) == float: + if isinstance(value, float): assert ds.spatial_ref.attrs[key] == pytest.approx(value) else: assert ds.spatial_ref.attrs[key] == value diff --git a/xradar/io/backends/iris.py b/xradar/io/backends/iris.py index ada355d1..65837413 100644 --- a/xradar/io/backends/iris.py +++ b/xradar/io/backends/iris.py @@ -3744,7 +3744,12 @@ class IrisArrayWrapper(BackendArray): def __init__(self, datastore, name, var): self.datastore = datastore - self.group = var["sweep_number"] + self.group = datastore._group + if self.group != var["sweep_number"]: + warnings.warn( + f"sweep_{self.group - 1} empty or corrupted.", + RuntimeWarning, + ) self.name = name # get rays and bins nrays = var["number_rays_file_written"] @@ -3889,7 +3894,6 @@ def open_store_coordinates(self, var): range_attrs["meters_to_center_of_first_gate"] = task["range_first_bin"] rtime = Variable((dim,), rtime, rtime_attrs, encoding) - azimuth = Variable((dim,), azimuth, {}, encoding) ing_head = self.ds["ingest_data_hdrs"] data = ing_head[list(ing_head.keys())[0]]