diff --git a/cheta/tests/test_fetch.py b/cheta/tests/test_fetch.py index 24052b85..4112dba0 100644 --- a/cheta/tests/test_fetch.py +++ b/cheta/tests/test_fetch.py @@ -7,7 +7,7 @@ from Chandra.Time import DateTime from cxotime import CxoTime -from .. import fetch, fetch_eng +from .. import fetch, fetch_eng, fetch_sci print(fetch.__file__) @@ -542,6 +542,38 @@ def test_interpolate_time_precision(): assert abs(dt_frac) < 0.001 +@pytest.mark.skipif(not HAS_MAUDE, reason="MAUDE server not available") +def test_2tlev2rt_units_maude(): + msid = "2TLEV2RT" + start = "2026:065:13:39:10" + stop = "2026:065:13:40:30" + + with fetch.data_source("MAUDE"): + dat_cxc = fetch.Msid(msid, start, stop) + assert dat_cxc.unit == "count" + + dat_eng = fetch_eng.Msid(msid, start, stop) + assert dat_eng.unit == "HZ" + + dat_sci = fetch_sci.Msid(msid, start, stop) + assert dat_sci.unit == "count" + + +def test_2tlev2rt_units(): + msid = "2TLEV2RT" + start = "2026:065:13:39:10" + stop = "2026:065:13:40:30" + + dat_cxc = fetch.Msid(msid, start, stop) + assert dat_cxc.unit == "count" + + dat_eng = fetch_eng.Msid(msid, start, stop) + assert dat_eng.unit == "HZ" + + dat_sci = fetch_sci.Msid(msid, start, stop) + assert dat_sci.unit == "count" + + def _assert_msid_equal(msid1, msid2): for attr in ("tstart", "tstop", "datestart", "datestop", "units", "unit", "stat"): assert getattr(msid1, attr) == getattr(msid2, attr) diff --git a/cheta/units.py b/cheta/units.py index 27fe628e..fb24301c 100644 --- a/cheta/units.py +++ b/cheta/units.py @@ -72,6 +72,7 @@ def emit(self, record): ("ASEC", "arcsec"), ("DEG", "deg"), ("DEGPS", "deg/s"), + ("HZ", "count"), # Strange equivalence but e.g. 2TLEV2RT ("KHZ", "kHz"), ("KM", "km"), ("KMPS", "km/s"), @@ -314,7 +315,7 @@ def convert(self, msid, vals, delta_val=False, from_system="cxc"): MSID, conversion[0], conversion[1] ) ) - - vals = converters[conversion](vals, delta_val) + else: + vals = converters[conversion](vals, delta_val) return vals