Skip to content

Commit

Permalink
MNT: fix datetime tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kmuehlbauer committed Feb 27, 2024
1 parent cea9706 commit f343e09
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 3 deletions.
27 changes: 27 additions & 0 deletions tests/io/test_io.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,25 @@ def test_open_odim_dataset(odim_file):
assert ds.sweep_number == 11


def test_open_odim_store(odim_file):
store = xradar.io.backends.odim.OdimStore.open(odim_file, group="sweep_0")
assert store.substore[0].root.a1gate == 86
assert store.substore[0].root.site_coords == (
151.20899963378906,
-33.700801849365234,
195.0,
)
assert store.substore[0].root._get_site_coords() == (
151.20899963378906,
-33.700801849365234,
195.0,
)
assert store.substore[0].root.sweep_fixed_angle == 0.5
assert store.substore[0].root._get_time() == np.datetime64(
"2018-12-20T06:06:28", "s"
)


def test_open_gamic_datatree(gamic_file):
dtree = open_gamic_datatree(gamic_file)

Expand Down Expand Up @@ -335,6 +354,14 @@ def test_open_gamic_dataset(gamic_file):
assert ds.sweep_number == 9


def test_open_gamic_store(gamic_file):
store = xradar.io.backends.gamic.GamicStore.open(gamic_file, group="sweep_0")
assert store.root.site_coords == (6.4569489, 50.9287272, 310.0)
assert store.root._get_site_coords() == (6.4569489, 50.9287272, 310.0)
assert store.root.sweep_fixed_angle == 28.0
assert store.root._get_time() == np.datetime64("2018-06-01T05:40:47.041000", "us")


def test_open_gamic_dataset_reindex(gamic_file):
# open first sweep group
reindex_angle = dict(start_angle=0, stop_angle=360, angle_res=1.0, direction=1)
Expand Down
13 changes: 12 additions & 1 deletion tests/io/test_odim.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,13 @@ def test_get_range(rscale):
assert bin_range == rscale


@pytest.mark.parametrize("point", [("start", 946684800.0), ("end", 946684830.0)])
@pytest.mark.parametrize(
"point",
[
("start", np.datetime64("2000-01-01T00:00:00", "s")),
("end", np.datetime64("2000-01-01T00:00:30", "s")),
],
)
def test_get_time(point):
what = dict(
startdate="20000101", starttime="000000", enddate="20000101", endtime="000030"
Expand All @@ -139,6 +145,11 @@ def test_get_time(point):
assert time == point[1]


def test_get_a1gate():
where = dict(a1gate=20)
assert odim._get_a1gate(where) == 20


def test_OdimH5NetCDFMetadata(odim_file):
store = odim.OdimStore.open(odim_file, group="sweep_0")
with pytest.warns(DeprecationWarning):
Expand Down
2 changes: 1 addition & 1 deletion xradar/io/backends/gamic.py
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ def _get_range(self):
def _get_time(self):
start = self.how["timestamp"]
start = dateutil.parser.parse(start)
start = start.replace(tzinfo=dt.timezone.utc).timestamp()
start = np.array(start.replace(tzinfo=dt.timezone.utc)).astype("<M8[us]")
return start

@property
Expand Down
2 changes: 1 addition & 1 deletion xradar/io/backends/odim.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ def _get_time(what, point="start"):
startdate = _maybe_decode(what[f"{point}date"])
starttime = _maybe_decode(what[f"{point}time"])
start = dt.datetime.strptime(startdate + starttime, "%Y%m%d%H%M%S")
start = start.replace(tzinfo=dt.timezone.utc).timestamp()
start = np.array(start.replace(tzinfo=dt.timezone.utc)).astype("<M8[s]")
return start


Expand Down

0 comments on commit f343e09

Please sign in to comment.