Skip to content

Commit bd774ba

Browse files
authored
FIX: use rstart in meter for ODIM_H5/V2_4 (#197)
* FIX: use correct rstart in meter for ODIM_H5/V2_4 * add history.md entry
1 parent 33d9132 commit bd774ba

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

docs/history.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# History
22

3+
## 0.6.3 (2024-08-13)
4+
5+
FIX: use rstart in meter for ODIM_H5/V2_4 ({issue}`196`) by [@kmuehlbauer](https://github.com/kmuehlbauer), ({pull}`197`) by [@kmuehlbauer](https://github.com/kmuehlbauer).
6+
37
## 0.6.2 (2024-08-12)
48

59
* FIX: Passing 'engine' kwarg in "open_cfradial1_datatree" method to enable fsspec.open when using url ({issue}`194`) by [@aladinor](https://github.com/aladinor), ({pull}`195`) by [@aladinor](https://github.com/aladinor)

xradar/io/backends/odim.py

+14-3
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,12 @@ def _get_time_what(what, where, nrays=None):
176176
return time_data
177177

178178

179-
def _get_range(where):
179+
def _get_range(where, odim_version=None):
180+
scale = 1000.0
181+
if odim_version == "ODIM_H5/V2_4":
182+
scale = 1.0
180183
ngates = where["nbins"]
181-
range_start = where["rstart"] * 1000.0
184+
range_start = where["rstart"] * scale
182185
bin_range = where["rscale"]
183186
cent_first = range_start + bin_range / 2.0
184187
range_data = np.arange(
@@ -303,6 +306,10 @@ def where(self):
303306
self._where = self.grp["where"].attrs
304307
return self._where
305308

309+
def _get_odim_version(self):
310+
version = self._root.attrs["Conventions"]
311+
return version
312+
306313
def _get_site_coords(self):
307314
lon = self._root["where"].attrs["lon"]
308315
lat = self._root["where"].attrs["lat"]
@@ -411,7 +418,7 @@ def _get_ray_times(self, nrays=None):
411418
return time_data
412419

413420
def _get_range(self):
414-
return _get_range(self.where)
421+
return _get_range(self.where, odim_version=self._odim_version)
415422

416423
def _get_time(self, point="start"):
417424
return _get_time(self.what, point=point)
@@ -461,6 +468,10 @@ def _sweep_number(self):
461468
"""Return sweep number."""
462469
return int(self._group.split("/")[0][7:]) - 1
463470

471+
@property
472+
def _odim_version(self):
473+
return self._get_odim_version()
474+
464475

465476
class H5NetCDFArrayWrapper(BackendArray):
466477
"""H5NetCDFArrayWrapper

0 commit comments

Comments
 (0)