Skip to content

Commit f5f1f6f

Browse files
authored
FIX: test for BZhX1AY&SY (where X is any number between 0..9) (#266)
* FIX: test for BZhX1AY&SY (where X is any number between 0..9) when retrieving bz2 record indices in nexradlevel2 reader * Add history.md entry
1 parent f38de38 commit f5f1f6f

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

docs/history.md

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
* ADD: Example Notebook for assigning geocoords. ({issue}`243`) and ({pull}`251`) by [@syedhamidali](https://github.com/syedhamidali)
1111
* FIX: DataTree reader now works with sweeps containing different variables ({pull}`252`) by [@egouden](https://github.com/egouden).
1212
* FIX: Correct retrieval of intermediate records in nexrad level2 reader ({issue}`259`) ({pull}`261`) by [@kmuehlbauer](https://github.com/kmuehlbauer).
13+
* FIX: Test for magic number BZhX1AY&SY (where X is any number between 0..9) when retrieving BZ2 record indices in nexrad level2 reader ({issue}`264`) ({pull}`266`) by [@kmuehlbauer](https://github.com/kmuehlbauer).
1314

1415
## 0.8.0 (2024-11-04)
1516

xradar/io/backends/nexrad_level2.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -198,9 +198,10 @@ def bz2_record_indices(self):
198198
"""Get file offsets of bz2 records."""
199199
if self._bz2_indices is None:
200200
# magic number inside BZ2
201-
seq = np.array([49, 65, 89, 38, 83, 89], dtype=np.uint8)
202-
rd = util.rolling_dim(self._fh, 6)
203-
self._bz2_indices = np.nonzero((rd == seq).all(1))[0] - 8
201+
# BZhX1AY&SY (where X is any number between 0..9)
202+
seq = np.array([66, 90, 104, 0, 49, 65, 89, 38, 83, 89], dtype=np.uint8)
203+
rd = util.rolling_dim(self._fh, len(seq))
204+
self._bz2_indices = np.nonzero((rd == seq).sum(1) >= 9)[0] - 4
204205
return self._bz2_indices
205206

206207
@property

0 commit comments

Comments
 (0)