From 3a779d4af84421266bedd2100e8421be9e2acf34 Mon Sep 17 00:00:00 2001 From: Tom Aldcroft Date: Fri, 13 Mar 2026 06:54:21 -0400 Subject: [PATCH 1/3] Add HZ to count equivalence --- cheta/units.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cheta/units.py b/cheta/units.py index 27fe628e..f41ae9ed 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"), From a28349447e3bbb5b8210d8f608f0f0cd92c09465 Mon Sep 17 00:00:00 2001 From: Tom Aldcroft Date: Fri, 13 Mar 2026 06:55:04 -0400 Subject: [PATCH 2/3] Warn but do not fail for unknown unit transform --- cheta/units.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cheta/units.py b/cheta/units.py index f41ae9ed..fb24301c 100644 --- a/cheta/units.py +++ b/cheta/units.py @@ -315,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 From 1098b39f3b68ced1c7b4c71f5a4cab653eae361e Mon Sep 17 00:00:00 2001 From: Tom Aldcroft Date: Fri, 13 Mar 2026 06:55:17 -0400 Subject: [PATCH 3/3] Test unit transform --- cheta/tests/test_fetch.py | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) 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)