From d8cc69dd99922b43f40e5451918bd70a6916dfb1 Mon Sep 17 00:00:00 2001 From: Tim Jenness Date: Tue, 4 Jun 2024 11:40:48 -0700 Subject: [PATCH 1/4] Force simulated instruments to have simulation flag set These are always simulated so there is no need to check the controller. --- python/lsst/obs/lsst/translators/comCamSim.py | 1 + python/lsst/obs/lsst/translators/lsstCamSim.py | 1 + 2 files changed, 2 insertions(+) diff --git a/python/lsst/obs/lsst/translators/comCamSim.py b/python/lsst/obs/lsst/translators/comCamSim.py index 3a56d000c..ca3d8cd7b 100644 --- a/python/lsst/obs/lsst/translators/comCamSim.py +++ b/python/lsst/obs/lsst/translators/comCamSim.py @@ -34,6 +34,7 @@ class LsstComCamSimTranslator(LsstCamTranslator): _const_map = { "instrument": "LSSTComCamSim", + "has_simulated_content": True, } cameraPolicyFile = 'policy/comCamSim.yaml' diff --git a/python/lsst/obs/lsst/translators/lsstCamSim.py b/python/lsst/obs/lsst/translators/lsstCamSim.py index 0e57c0976..bce7d5375 100644 --- a/python/lsst/obs/lsst/translators/lsstCamSim.py +++ b/python/lsst/obs/lsst/translators/lsstCamSim.py @@ -29,6 +29,7 @@ class LsstCamSimTranslator(LsstCamTranslator): _const_map = { "instrument": "LSSTCamSim", + "has_simulated_content": True, } cameraPolicyFile = "policy/lsstCamSim.yaml" From 0c24ded20a35759292589e376323155a64e99244 Mon Sep 17 00:00:00 2001 From: Tim Jenness Date: Tue, 4 Jun 2024 13:55:59 -0700 Subject: [PATCH 2/4] Add some missing calls to used_these_cards --- python/lsst/obs/lsst/translators/lsst.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/python/lsst/obs/lsst/translators/lsst.py b/python/lsst/obs/lsst/translators/lsst.py index d0db00d28..2cac58f25 100644 --- a/python/lsst/obs/lsst/translators/lsst.py +++ b/python/lsst/obs/lsst/translators/lsst.py @@ -969,6 +969,7 @@ def to_has_simulated_content(self): # true value implies that something in the data is simulated. for k, v in self._header.items(): if "SIMULATE" in k and v: + self._used_these_cards(k) return True # If the controller is H, P, S, or Q then the data are simulated. @@ -994,6 +995,7 @@ def to_pressure(self): key = "PRESSURE" if self.is_key_ok(key): value = self._header[key] + self._used_these_cards(key) # There has been an inconsistency in units for the pressure reading # so we need to adjust for this. if value > 10_000: @@ -1008,5 +1010,6 @@ def to_pressure(self): def to_temperature(self): key = "AIRTEMP" if self.is_key_ok(key): + self._used_these_cards(key) return self._header[key] * u.deg_C return None From af62190256f8413fe64fe5db27a931b714e817e1 Mon Sep 17 00:00:00 2001 From: Tim Jenness Date: Tue, 4 Jun 2024 15:13:58 -0700 Subject: [PATCH 3/4] Add basic support for can_see_sky calculation --- python/lsst/obs/lsst/translators/lsst.py | 21 +++++++++ .../lsst/obs/lsst/translators/lsst_ucdcam.py | 1 + python/lsst/obs/lsst/translators/ts3.py | 1 + python/lsst/obs/lsst/translators/ts8.py | 1 + tests/test_translator.py | 46 +++++++++++++++++++ 5 files changed, 70 insertions(+) diff --git a/python/lsst/obs/lsst/translators/lsst.py b/python/lsst/obs/lsst/translators/lsst.py index 2cac58f25..f41e96325 100644 --- a/python/lsst/obs/lsst/translators/lsst.py +++ b/python/lsst/obs/lsst/translators/lsst.py @@ -1013,3 +1013,24 @@ def to_temperature(self): self._used_these_cards(key) return self._header[key] * u.deg_C return None + + @cache_translation + def to_can_see_sky(self) -> bool | None: + key = "SHUTTIME" + if self.is_key_ok(key) and self._header[key] == 0.0: + # Shutter never opened so impossible to see sky. + self._used_these_cards(key) + return False + + key = "VIGN_MIN" + if self.is_key_ok(key): + self._used_these_cards(key) + vignetted = self._header[key] + if vignetted == "FULLY": + return False + return True + + # Fallback to using the observation type if the key is missing. + # May not want to allow this for non-simulated cameras after + # comcam goes on sky. + return super().to_can_see_sky() diff --git a/python/lsst/obs/lsst/translators/lsst_ucdcam.py b/python/lsst/obs/lsst/translators/lsst_ucdcam.py index 679a78245..91572a4fd 100644 --- a/python/lsst/obs/lsst/translators/lsst_ucdcam.py +++ b/python/lsst/obs/lsst/translators/lsst_ucdcam.py @@ -46,6 +46,7 @@ class LsstUCDCamTranslator(LsstBaseTranslator): "relative_humidity": None, "temperature": None, "pressure": None, + "can_see_sky": False, } _trivial_map = { diff --git a/python/lsst/obs/lsst/translators/ts3.py b/python/lsst/obs/lsst/translators/ts3.py index 08cc499e7..722d35be3 100644 --- a/python/lsst/obs/lsst/translators/ts3.py +++ b/python/lsst/obs/lsst/translators/ts3.py @@ -52,6 +52,7 @@ class LsstTS3Translator(LsstBaseTranslator): "temperature": None, "pressure": None, "detector_name": _DETECTOR_NAME, # Single sensor + "can_see_sky": False, } _trivial_map = { diff --git a/python/lsst/obs/lsst/translators/ts8.py b/python/lsst/obs/lsst/translators/ts8.py index 62811e35b..27b191604 100644 --- a/python/lsst/obs/lsst/translators/ts8.py +++ b/python/lsst/obs/lsst/translators/ts8.py @@ -50,6 +50,7 @@ class LsstTS8Translator(LsstBaseTranslator): "relative_humidity": None, "temperature": None, "pressure": None, + "can_see_sky": False, } _trivial_map = { diff --git a/tests/test_translator.py b/tests/test_translator.py index f018138e7..19e4216e2 100644 --- a/tests/test_translator.py +++ b/tests/test_translator.py @@ -45,6 +45,7 @@ def test_lsstCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.0*u.s, detector_exposure_id=0x269200011d, detector_group="R10", @@ -75,6 +76,7 @@ def test_lsstCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.0*u.s, detector_exposure_id=0x2692000161, detector_group="R22", @@ -105,6 +107,7 @@ def test_lsstCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam", boresight_rotation_coord="unknown", + can_see_sky=None, dark_time=1.0*u.s, detector_exposure_id=0x2693800223, detector_group="R10", @@ -135,6 +138,7 @@ def test_lsstCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam", boresight_rotation_coord="unknown", + can_see_sky=None, dark_time=1007.422*u.s, detector_exposure_id=0x269b02831b, detector_group="R10", @@ -165,6 +169,7 @@ def test_lsstCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.0*u.s, detector_exposure_id=0xdb480011d, detector_group="R10", @@ -195,6 +200,7 @@ def test_lsstCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.092*u.s, detector_exposure_id=0x9e1004e01, detector_group="R01", @@ -231,6 +237,7 @@ def test_phoSimLsstCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=15.0*u.s, detector_exposure_id=0x401780205a, detector_group="R22", @@ -269,6 +276,7 @@ def test_lsstCamSim_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCamSim", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=30.0*u.s, detector_exposure_id=730756993118, detector_group="R22", @@ -307,6 +315,7 @@ def test_comCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTComCam", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.398*u.s, detector_exposure_id=0x26b6000100, detector_group="R22", @@ -337,6 +346,7 @@ def test_comCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTComCam", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.034*u.s, detector_exposure_id=0x26b400df01, detector_group="R22", @@ -373,6 +383,7 @@ def test_comCamSim_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTComCamSim", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.0*u.s, detector_group="R22", detector_name="S00", @@ -403,6 +414,7 @@ def test_comCamSim_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTComCamSim", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=33.0546 * u.s, detector_group="R22", detector_name="S22", @@ -441,6 +453,7 @@ def test_phoSimComCam_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTComCam", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=1.0*u.s, detector_exposure_id=0x4017977100, detector_group="R22", @@ -478,6 +491,7 @@ def test_phosim_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam-PhoSim", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=30.0*u.s, detector_exposure_id=204595038, detector_group="R11", @@ -518,6 +532,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=None, dark_time=27.0*u.s, detector_exposure_id=0x2638004100, detector_group="RXX", @@ -549,6 +564,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=None, dark_time=1.06*u.s, detector_exposure_id=0x68b800e00, detector_group="RXX", @@ -580,6 +596,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.0*u.s, detector_exposure_id=0x697001600, detector_group="RXX", @@ -611,6 +628,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.0*u.s, detector_exposure_id=0x74e001600, detector_group="RXX", @@ -642,6 +660,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=0.0*u.s, detector_exposure_id=0x6ec002500, detector_group="RXX", @@ -673,6 +692,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=None, dark_time=3.0*u.s, detector_exposure_id=0x703000400, detector_group="RXX", @@ -704,6 +724,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=None, dark_time=3.0*u.s, detector_exposure_id=0x705000300, detector_group="RXX", @@ -735,6 +756,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=None, dark_time=0.5*u.s, detector_exposure_id=0x709803d00, detector_group="RXX", @@ -766,6 +788,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=15.0*u.s, detector_exposure_id=0x70c000b00, detector_group="RXX", @@ -797,6 +820,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="sky", + can_see_sky=None, dark_time=100.0*u.s, detector_exposure_id=0x72c002d00, detector_group="RXX", @@ -829,6 +853,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=5.0*u.s, detector_exposure_id=0x72f817b00, detector_group="RXX", @@ -864,6 +889,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=30.3176279067993*u.s, detector_exposure_id=0x8be815c00, detector_group="RXX", @@ -899,6 +925,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=30.2387452125549*u.s, detector_exposure_id=0x8be815d00, detector_group="RXX", @@ -934,6 +961,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=None, dark_time=537.406*u.s, detector_exposure_id=0x28c9000400, detector_group="RXX", @@ -965,6 +993,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="unknown", + can_see_sky=False, dark_time=30.0126*u.s, detector_exposure_id=0x96d803500, detector_group="RXX", @@ -997,6 +1026,7 @@ def test_latiss_translator(self): dict(telescope="Rubin Auxiliary Telescope", instrument="LATISS", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=30.2418*u.s, detector_exposure_id=0x9a2817b00, detector_group="RXX", @@ -1043,6 +1073,7 @@ def test_imsim_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam-imSim", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=0.0*u.s, detector_exposure_id=3010002036, detector_group="R11", @@ -1075,6 +1106,7 @@ def test_imsim_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam-imSim", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=30.0*u.s, detector_exposure_id=204595038, detector_group="R11", @@ -1107,6 +1139,7 @@ def test_imsim_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam-imSim", boresight_rotation_coord="sky", + can_see_sky=None, dark_time=30.0*u.s, detector_exposure_id=5000007042, detector_group="R11", @@ -1139,6 +1172,7 @@ def test_imsim_translator(self): dict(telescope="Simonyi Survey Telescope", instrument="LSSTCam-imSim", boresight_rotation_coord="sky", + can_see_sky=True, dark_time=500.0*u.s, detector_exposure_id=4010003040, detector_group="R11", @@ -1176,6 +1210,7 @@ def test_ts3_translator(self): test_data = (("ts3-E2V-CCD250-411_lambda_flat_1000_025_20181115075559.yaml", dict(telescope=None, instrument="LSST-TS3", + can_see_sky=False, dark_time=44.631*u.s, detector_exposure_id=201811151255111433, detector_group="R433", @@ -1201,6 +1236,7 @@ def test_ts3_translator(self): ("ts3-ITL-3800C-098_lambda_flat_1000_067_20160722020740.yaml", dict(telescope=None, instrument="LSST-TS3", + can_see_sky=False, dark_time=30.611*u.s, detector_exposure_id=201607220607067071, detector_group="R071", @@ -1235,6 +1271,7 @@ def test_ts8_translator(self): test_data = (("ts8-E2V-CCD250-179_lambda_bias_024_6006D_20180724104156.yaml", dict(telescope=None, instrument="LSST-TS8", + can_see_sky=False, dark_time=0.0*u.s, detector_exposure_id=201807241041568067, detector_group="RTM-010", @@ -1260,6 +1297,7 @@ def test_ts8_translator(self): ("ts8-E2V-CCD250-200-Dev_lambda_flat_0700_6006D_20180724102845.yaml", dict(telescope=None, instrument="LSST-TS8", + can_see_sky=False, dark_time=21.913*u.s, detector_exposure_id=201807241028453065, detector_group="RTM-010", @@ -1285,6 +1323,7 @@ def test_ts8_translator(self): ("ts8-E2V-CCD250-220_fe55_fe55_094_6288_20171215114006.yaml", dict(telescope=None, instrument="LSST-TS8", + can_see_sky=False, dark_time=300.0*u.s, detector_exposure_id=201712151140062027, detector_group="RTM-005", @@ -1310,6 +1349,7 @@ def test_ts8_translator(self): ("ts8-TS_C_20220711_000174_R22_S00.yaml", dict(telescope=None, instrument="LSST-TS8", + can_see_sky=False, dark_time=210.315*u.s, detector_exposure_id=202207111714459018, detector_group="RTM-004", @@ -1335,6 +1375,7 @@ def test_ts8_translator(self): ("ts8-TS_C_20230512_000021_R22_S02.yaml", dict(telescope=None, instrument="LSST-TS8", + can_see_sky=False, dark_time=15.165*u.s, detector_exposure_id=202305121917591020, detector_group="RTM-004", @@ -1360,6 +1401,7 @@ def test_ts8_translator(self): ("ts8-TS_C_20230512_000021_R22_S02-fixed.yaml", # Will not apply header fixups dict(telescope=None, instrument="LSST-TS8", + can_see_sky=False, dark_time=15.165*u.s, detector_exposure_id=202305121917591020, detector_group="RTM-004", @@ -1385,6 +1427,7 @@ def test_ts8_translator(self): ("ts8-TS_C_20230523_000127_R22_S00.yaml", dict(telescope=None, instrument="LSST-TS8", + can_see_sky=False, dark_time=15.16*u.s, detector_exposure_id=202305231936194018, detector_group="RTM-004", @@ -1410,6 +1453,7 @@ def test_ts8_translator(self): ("ts8-TS_C_20230525_000041_R22_S00.yaml", dict(telescope=None, instrument="LSST-TS8", + can_see_sky=False, dark_time=30.151*u.s, detector_exposure_id=3023052500041018, detector_group="RTM-004", @@ -1444,6 +1488,7 @@ def test_ucdcam_translator(self): test_data = (("UCD-E2V-CCD250-TS_C_20231031_000227_R21_S01.yaml", dict(telescope=None, instrument="LSST-UCDCam", + can_see_sky=False, dark_time=2.07859*u.s, detector_exposure_id=42370917130, detector_group="R21", @@ -1469,6 +1514,7 @@ def test_ucdcam_translator(self): ("UCD-ITL-3800C-TS_C_20230730_000237_R22_S01.yaml", dict(telescope=None, instrument="LSST-UCDCam", + can_see_sky=False, dark_time=3.082*u.s, detector_exposure_id=179029732609, detector_group="R22", From eb11eb9a3de46c788030a678b76fc5e34d0537d0 Mon Sep 17 00:00:00 2001 From: Tim Jenness Date: Tue, 25 Jun 2024 13:30:22 -0700 Subject: [PATCH 4/4] Add some test headers using VIGN_MIN --- ...-AT_O_20240624_000106_R00_S00-patched.yaml | 269 ++++++++++++++++++ .../latiss-AT_O_20240624_000106_R00_S00.yaml | 267 +++++++++++++++++ .../latiss-AT_O_20240624_000169_R00_S00.yaml | 267 +++++++++++++++++ tests/test_translator.py | 99 +++++++ 4 files changed, 902 insertions(+) create mode 100644 tests/headers/latiss-AT_O_20240624_000106_R00_S00-patched.yaml create mode 100644 tests/headers/latiss-AT_O_20240624_000106_R00_S00.yaml create mode 100644 tests/headers/latiss-AT_O_20240624_000169_R00_S00.yaml diff --git a/tests/headers/latiss-AT_O_20240624_000106_R00_S00-patched.yaml b/tests/headers/latiss-AT_O_20240624_000106_R00_S00-patched.yaml new file mode 100644 index 000000000..d91a55697 --- /dev/null +++ b/tests/headers/latiss-AT_O_20240624_000106_R00_S00-patched.yaml @@ -0,0 +1,269 @@ +# Patched header to declare this is a normal science observation that +# was fully vignetted. +SIMPLE: true +EXTEND: true +CCD_MANU: ITL +CCD_TYPE: 3800C +BINX: 1 +BINY: 1 +CCDGAIN: 1.0 +CCDNOISE: 10.0 +CCDSLOT: S00 +RAFTBAY: R00 +FIRMWARE: '11394008' +PLATFORM: auxtel +CONTNUM: 189216ee +DAQVERS: R5-V8.1 2023-12-05T02:49:12Z (5acbb461) +DAQPART: lat +DAQFOLD: raw +SEQFILE: FP_ITL_2s_ir2_v26_no_RG.seq +SEQNAME: FP_ITL_2s_ir2_v26_no_RG.seq +SEQCKSUM: '1477162166' +LSST_NUM: ITL-3800C-068 +CCD_SERN: '20862' +REBNAME: Unknown +RAFTNAME: AuxTel-Raft +FPVERS: 1.2.7 +IHVERS: 1.1.5 +STUTTER ROWS: 0 +STUTTER DELAY: 0.0 +STUTTER NSHIFTS: 0 +FILTPOS: null +CCDTEMP: -101.024 +COMMENT: '---- Checksums ----' +DATE: '2024-06-25T01:28:25.400' +MJD: 60486.06140509248 +IMGTYPE: OBJECT +DATE-OBS: '2024-06-25T01:27:55.160' +MJD-OBS: 60486.06105509261 +DATE-TRG: '2024-06-25T01:28:25.395' +MJD-TRG: 60486.061405034736 +OBSID: AT_O_20240624_000106 +DATE-BEG: '2024-06-25T01:27:55.160' +MJD-BEG: 60486.06105509261 +DATE-END: '2024-06-25T01:28:25.400' +MJD-END: 60486.06140509248 +GROUPID: 2024-06-25T01:26:31.895#1 +BUNIT: adu +TIMESYS: TAI +INSTRUME: LATISS +TELESCOP: LSST AuxTelescope +OBS-LONG: -70.7476862 +OBS-LAT: -30.2447889 +OBS-ELEV: 2663.0 +OBSGEO-X: 1819093.52 +OBSGEO-Y: -5208408.1 +OBSGEO-Z: 3195186.45 +FACILITY: Vera C. Rubin Observatory +RA: 223.77366208333333 +DEC: -20.01348777777778 +RASTART: 223.77379669301 +DECSTART: -20.013429451065846 +RAEND: 223.77382195537703 +DECEND: -20.013749612906178 +ROTPA: 98.63385126206754 +ROTCOORD: sky +HASTART: 0.042468393994478826 +ELSTART: 79.85583534052326 +AZSTART: -3.3659773360866496 +AMSTART: 1.0156209056522223 +AHAEND: null +AELEND: null +AAZEND: null +AAMEND: null +TRACKSYS: null +RADESYS: ICRS +FOCUSZ: 0.742219865322113 +OBJECT: HD 131586 +INSTPORT: 2 +ATM3PORT: null +DOMEAZ: 358.96 +SHUTLOWR: 0.0 +SHUTUPPR: 100.0 +VIGNETTE: 'FULLY' +VIGN_MIN: 'FULLY' +WCSAXES: null +CTYPE1: null +CTYPE2: null +CUNIT1: null +CUNIT2: null +CRVAL1: null +CRVAL2: null +CRPIX1: null +CRPIX2: null +CD1_1: null +CD1_2: null +CD2_1: null +CD2_2: null +EQUINOX: null +TESTTYPE: CWFS +CAMCODE: AT +CONTRLLR: O +DAYOBS: '20240624' +SEQNUM: 106 +PROGRAM: cwfs +REASON: INTRA +CURINDEX: 1 +MAXINDEX: 1 +TSTAND: null +IMAGETAG: 419350febde047ef +OBSANNOT: '' +TEMP_SET: -104.15 +GRATING: empty_1 +GRATBAND: EMPTY +GRATSLOT: 0 +LINSPOS: 67.0 +FILTBAND: r +FILTER: SDSSr_65mm +FILTSLOT: 2 +EXPTIME: 30.0 +DARKTIME: 30.2407 +SHUTTIME: 30.0 +AIRTEMP: 1.5750000476837158 +PRESSURE: 73880.0 +HUMIDITY: 40.650001525878906 +WINDSPD: 12.593400001525879 +WINDDIR: 21.05498504638672 +SEEING: null +FILENAME: AT_O_20240624_000106_R00_S00.fits +HEADVER: 2 +SIMULATE ATMCS: null +SIMULATE ATHEXAPOD: 0 +SIMULATE ATPNEUMATICS: null +SIMULATE ATDOME: 0 +SIMULATE ATSPECTROGRAPH: 0 +XTENSION: BINTABLE +BITPIX: 8 +NAXIS: 2 +NAXIS1: 8 +NAXIS2: 2048 +PCOUNT: 886992 +GCOUNT: 1 +TFIELDS: 1 +TTYPE1: COMPRESSED_DATA +TFORM1: 1PB(458) +ZIMAGE: true +ZTILE1: 576 +ZTILE2: 1 +ZCMPTYPE: RICE_1 +ZNAME1: BLOCKSIZE +ZVAL1: 32 +ZNAME2: BYTEPIX +ZVAL2: 4 +ZTENSION: IMAGE +ZBITPIX: 32 +ZNAXIS: 2 +ZNAXIS1: 576 +ZNAXIS2: 2048 +ZPCOUNT: 0 +ZGCOUNT: 1 +ZHECKSUM: PIS7SFP4PFP4PFP4 +CHANNEL: 1 +EXTNAME: Segment10 +CCDSUM: 1 1 +DATASEC: '[4:512,1:2000]' +DETSEC: '[509:1,1:2000]' +DETSIZE: '[1:4072,1:4000]' +DTV1: 513 +DTV2: 0 +DTM1_1: -1.0 +DTM2_2: 1.0 +DTM1_2: 0.0 +DTM2_1: 0.0 +WCSNAMEA: AMPLIFIER +CTYPE1A: Seg_X +CTYPE2A: Seg_Y +PC1_1A: 0.0 +PC1_2A: -1.0 +PC2_1A: -1.0 +PC2_2A: 0.0 +CDELT1A: 1.0 +CDELT2A: 1.0 +CRPIX1A: 0.0 +CRPIX2A: 0.0 +CRVAL1A: 2001.0 +CRVAL2A: 513.0 +WCSNAMEC: CCD +CTYPE1C: CCD_X +CTYPE2C: CCD_Y +PC1_1C: 0.0 +PC1_2C: -1.0 +PC2_1C: -1.0 +PC2_2C: 0.0 +CDELT1C: 1.0 +CDELT2C: 1.0 +CRPIX1C: 0.0 +CRPIX2C: 0.0 +CRVAL1C: 4001.0 +CRVAL2C: 513.0 +WCSNAMER: RAFT +CTYPE1R: RAFT_X +CTYPE2R: RAFT_Y +PC1_1R: 0.0 +PC1_2R: -1.0 +PC2_1R: -1.0 +PC2_2R: 0.0 +CDELT1R: 1.0 +CDELT2R: 1.0 +CRPIX1R: 0.0 +CRPIX2R: 0.0 +CRVAL1R: 4126.0 +CRVAL2R: 602.0 +WCSNAMEF: FOCAL_PLANE +CTYPE1F: FP_X +CTYPE2F: FP_Y +PC1_1F: 0.0 +PC1_2F: -1.0 +PC2_1F: -1.0 +PC2_2F: 0.0 +CDELT1F: 1.0 +CDELT2F: 1.0 +CRPIX1F: 0.0 +CRPIX2F: 0.0 +CRVAL1F: 16826.0 +CRVAL2F: 602.0 +WCSNAMEE: FP_SERPAR +CTYPE1E: FP_S +CTYPE2E: FP_P +PC1_1E: -1.0 +PC1_2E: 0.0 +PC2_1E: 0.0 +PC2_2E: -1.0 +CDELT1E: 1.0 +CDELT2E: 1.0 +CRPIX1E: 0.0 +CRPIX2E: 0.0 +CRVAL1E: 602.0 +CRVAL2E: 16826.0 +WCSNAMEB: CCD_SERPAR +CTYPE1B: CCD_S +CTYPE2B: CCD_P +PC1_1B: -1.0 +PC1_2B: 0.0 +PC2_1B: 0.0 +PC2_2B: -1.0 +CDELT1B: 1.0 +CDELT2B: 1.0 +CRPIX1B: 0.0 +CRPIX2B: 0.0 +CRVAL1B: 513.0 +CRVAL2B: 4001.0 +WCSNAMEQ: RAFT_SERPAR +CTYPE1Q: RAFT_S +CTYPE2Q: RAFT_P +PC1_1Q: -1.0 +PC1_2Q: 0.0 +PC2_1Q: 0.0 +PC2_2Q: -1.0 +CDELT1Q: 1.0 +CDELT2Q: 1.0 +CRPIX1Q: 0.0 +CRPIX2Q: 0.0 +CRVAL1Q: 602.0 +CRVAL2Q: 4126.0 +BSCALE: 1.0 +BZERO: 0.0 +INHERIT: true +ZDATASUM: '257174252' +CHECKSUM: CSPVCPMVCPMVCPMV +DATASUM: '1979613654' diff --git a/tests/headers/latiss-AT_O_20240624_000106_R00_S00.yaml b/tests/headers/latiss-AT_O_20240624_000106_R00_S00.yaml new file mode 100644 index 000000000..8c074f6b8 --- /dev/null +++ b/tests/headers/latiss-AT_O_20240624_000106_R00_S00.yaml @@ -0,0 +1,267 @@ +SIMPLE: true +EXTEND: true +CCD_MANU: ITL +CCD_TYPE: 3800C +BINX: 1 +BINY: 1 +CCDGAIN: 1.0 +CCDNOISE: 10.0 +CCDSLOT: S00 +RAFTBAY: R00 +FIRMWARE: '11394008' +PLATFORM: auxtel +CONTNUM: 189216ee +DAQVERS: R5-V8.1 2023-12-05T02:49:12Z (5acbb461) +DAQPART: lat +DAQFOLD: raw +SEQFILE: FP_ITL_2s_ir2_v26_no_RG.seq +SEQNAME: FP_ITL_2s_ir2_v26_no_RG.seq +SEQCKSUM: '1477162166' +LSST_NUM: ITL-3800C-068 +CCD_SERN: '20862' +REBNAME: Unknown +RAFTNAME: AuxTel-Raft +FPVERS: 1.2.7 +IHVERS: 1.1.5 +STUTTER ROWS: 0 +STUTTER DELAY: 0.0 +STUTTER NSHIFTS: 0 +FILTPOS: null +CCDTEMP: -101.024 +COMMENT: '---- Checksums ----' +DATE: '2024-06-25T01:28:25.400' +MJD: 60486.06140509248 +IMGTYPE: CWFS +DATE-OBS: '2024-06-25T01:27:55.160' +MJD-OBS: 60486.06105509261 +DATE-TRG: '2024-06-25T01:28:25.395' +MJD-TRG: 60486.061405034736 +OBSID: AT_O_20240624_000106 +DATE-BEG: '2024-06-25T01:27:55.160' +MJD-BEG: 60486.06105509261 +DATE-END: '2024-06-25T01:28:25.400' +MJD-END: 60486.06140509248 +GROUPID: 2024-06-25T01:26:31.895#1 +BUNIT: adu +TIMESYS: TAI +INSTRUME: LATISS +TELESCOP: LSST AuxTelescope +OBS-LONG: -70.7476862 +OBS-LAT: -30.2447889 +OBS-ELEV: 2663.0 +OBSGEO-X: 1819093.52 +OBSGEO-Y: -5208408.1 +OBSGEO-Z: 3195186.45 +FACILITY: Vera C. Rubin Observatory +RA: 223.77366208333333 +DEC: -20.01348777777778 +RASTART: 223.77379669301 +DECSTART: -20.013429451065846 +RAEND: 223.77382195537703 +DECEND: -20.013749612906178 +ROTPA: 98.63385126206754 +ROTCOORD: sky +HASTART: 0.042468393994478826 +ELSTART: 79.85583534052326 +AZSTART: -3.3659773360866496 +AMSTART: 1.0156209056522223 +AHAEND: null +AELEND: null +AAZEND: null +AAMEND: null +TRACKSYS: null +RADESYS: ICRS +FOCUSZ: 0.742219865322113 +OBJECT: HD 131586 +INSTPORT: 2 +ATM3PORT: null +DOMEAZ: 358.96 +SHUTLOWR: 0.0 +SHUTUPPR: 100.0 +VIGNETTE: 'NO' +VIGN_MIN: 'NO' +WCSAXES: null +CTYPE1: null +CTYPE2: null +CUNIT1: null +CUNIT2: null +CRVAL1: null +CRVAL2: null +CRPIX1: null +CRPIX2: null +CD1_1: null +CD1_2: null +CD2_1: null +CD2_2: null +EQUINOX: null +TESTTYPE: CWFS +CAMCODE: AT +CONTRLLR: O +DAYOBS: '20240624' +SEQNUM: 106 +PROGRAM: cwfs +REASON: INTRA +CURINDEX: 1 +MAXINDEX: 1 +TSTAND: null +IMAGETAG: 419350febde047ef +OBSANNOT: '' +TEMP_SET: -104.15 +GRATING: empty_1 +GRATBAND: EMPTY +GRATSLOT: 0 +LINSPOS: 67.0 +FILTBAND: r +FILTER: SDSSr_65mm +FILTSLOT: 2 +EXPTIME: 30.0 +DARKTIME: 30.2407 +SHUTTIME: 30.0 +AIRTEMP: 1.5750000476837158 +PRESSURE: 73880.0 +HUMIDITY: 40.650001525878906 +WINDSPD: 12.593400001525879 +WINDDIR: 21.05498504638672 +SEEING: null +FILENAME: AT_O_20240624_000106_R00_S00.fits +HEADVER: 2 +SIMULATE ATMCS: null +SIMULATE ATHEXAPOD: 0 +SIMULATE ATPNEUMATICS: null +SIMULATE ATDOME: 0 +SIMULATE ATSPECTROGRAPH: 0 +XTENSION: BINTABLE +BITPIX: 8 +NAXIS: 2 +NAXIS1: 8 +NAXIS2: 2048 +PCOUNT: 886992 +GCOUNT: 1 +TFIELDS: 1 +TTYPE1: COMPRESSED_DATA +TFORM1: 1PB(458) +ZIMAGE: true +ZTILE1: 576 +ZTILE2: 1 +ZCMPTYPE: RICE_1 +ZNAME1: BLOCKSIZE +ZVAL1: 32 +ZNAME2: BYTEPIX +ZVAL2: 4 +ZTENSION: IMAGE +ZBITPIX: 32 +ZNAXIS: 2 +ZNAXIS1: 576 +ZNAXIS2: 2048 +ZPCOUNT: 0 +ZGCOUNT: 1 +ZHECKSUM: PIS7SFP4PFP4PFP4 +CHANNEL: 1 +EXTNAME: Segment10 +CCDSUM: 1 1 +DATASEC: '[4:512,1:2000]' +DETSEC: '[509:1,1:2000]' +DETSIZE: '[1:4072,1:4000]' +DTV1: 513 +DTV2: 0 +DTM1_1: -1.0 +DTM2_2: 1.0 +DTM1_2: 0.0 +DTM2_1: 0.0 +WCSNAMEA: AMPLIFIER +CTYPE1A: Seg_X +CTYPE2A: Seg_Y +PC1_1A: 0.0 +PC1_2A: -1.0 +PC2_1A: -1.0 +PC2_2A: 0.0 +CDELT1A: 1.0 +CDELT2A: 1.0 +CRPIX1A: 0.0 +CRPIX2A: 0.0 +CRVAL1A: 2001.0 +CRVAL2A: 513.0 +WCSNAMEC: CCD +CTYPE1C: CCD_X +CTYPE2C: CCD_Y +PC1_1C: 0.0 +PC1_2C: -1.0 +PC2_1C: -1.0 +PC2_2C: 0.0 +CDELT1C: 1.0 +CDELT2C: 1.0 +CRPIX1C: 0.0 +CRPIX2C: 0.0 +CRVAL1C: 4001.0 +CRVAL2C: 513.0 +WCSNAMER: RAFT +CTYPE1R: RAFT_X +CTYPE2R: RAFT_Y +PC1_1R: 0.0 +PC1_2R: -1.0 +PC2_1R: -1.0 +PC2_2R: 0.0 +CDELT1R: 1.0 +CDELT2R: 1.0 +CRPIX1R: 0.0 +CRPIX2R: 0.0 +CRVAL1R: 4126.0 +CRVAL2R: 602.0 +WCSNAMEF: FOCAL_PLANE +CTYPE1F: FP_X +CTYPE2F: FP_Y +PC1_1F: 0.0 +PC1_2F: -1.0 +PC2_1F: -1.0 +PC2_2F: 0.0 +CDELT1F: 1.0 +CDELT2F: 1.0 +CRPIX1F: 0.0 +CRPIX2F: 0.0 +CRVAL1F: 16826.0 +CRVAL2F: 602.0 +WCSNAMEE: FP_SERPAR +CTYPE1E: FP_S +CTYPE2E: FP_P +PC1_1E: -1.0 +PC1_2E: 0.0 +PC2_1E: 0.0 +PC2_2E: -1.0 +CDELT1E: 1.0 +CDELT2E: 1.0 +CRPIX1E: 0.0 +CRPIX2E: 0.0 +CRVAL1E: 602.0 +CRVAL2E: 16826.0 +WCSNAMEB: CCD_SERPAR +CTYPE1B: CCD_S +CTYPE2B: CCD_P +PC1_1B: -1.0 +PC1_2B: 0.0 +PC2_1B: 0.0 +PC2_2B: -1.0 +CDELT1B: 1.0 +CDELT2B: 1.0 +CRPIX1B: 0.0 +CRPIX2B: 0.0 +CRVAL1B: 513.0 +CRVAL2B: 4001.0 +WCSNAMEQ: RAFT_SERPAR +CTYPE1Q: RAFT_S +CTYPE2Q: RAFT_P +PC1_1Q: -1.0 +PC1_2Q: 0.0 +PC2_1Q: 0.0 +PC2_2Q: -1.0 +CDELT1Q: 1.0 +CDELT2Q: 1.0 +CRPIX1Q: 0.0 +CRPIX2Q: 0.0 +CRVAL1Q: 602.0 +CRVAL2Q: 4126.0 +BSCALE: 1.0 +BZERO: 0.0 +INHERIT: true +ZDATASUM: '257174252' +CHECKSUM: CSPVCPMVCPMVCPMV +DATASUM: '1979613654' diff --git a/tests/headers/latiss-AT_O_20240624_000169_R00_S00.yaml b/tests/headers/latiss-AT_O_20240624_000169_R00_S00.yaml new file mode 100644 index 000000000..27f5f104d --- /dev/null +++ b/tests/headers/latiss-AT_O_20240624_000169_R00_S00.yaml @@ -0,0 +1,267 @@ +SIMPLE: true +EXTEND: true +CCD_MANU: ITL +CCD_TYPE: 3800C +BINX: 1 +BINY: 1 +CCDGAIN: 1.0 +CCDNOISE: 10.0 +CCDSLOT: S00 +RAFTBAY: R00 +FIRMWARE: '11394008' +PLATFORM: auxtel +CONTNUM: 189216ee +DAQVERS: R5-V8.1 2023-12-05T02:49:12Z (5acbb461) +DAQPART: lat +DAQFOLD: raw +SEQFILE: FP_ITL_2s_ir2_v26_no_RG.seq +SEQNAME: FP_ITL_2s_ir2_v26_no_RG.seq +SEQCKSUM: '1477162166' +LSST_NUM: ITL-3800C-068 +CCD_SERN: '20862' +REBNAME: Unknown +RAFTNAME: AuxTel-Raft +FPVERS: 1.2.7 +IHVERS: 1.1.5 +STUTTER ROWS: 0 +STUTTER DELAY: 0.0 +STUTTER NSHIFTS: 0 +FILTPOS: null +CCDTEMP: -101.019 +COMMENT: '---- Checksums ----' +DATE: '2024-06-25T07:11:10.392' +MJD: 60486.29942583339 +IMGTYPE: DARK +DATE-OBS: '2024-06-25T07:10:40.383' +MJD-OBS: 60486.29907850688 +DATE-TRG: '2024-06-25T07:11:10.389' +MJD-TRG: 60486.29942579847 +OBSID: AT_O_20240624_000169 +DATE-BEG: '2024-06-25T07:10:40.383' +MJD-BEG: 60486.29907850688 +DATE-END: '2024-06-25T07:11:10.392' +MJD-END: 60486.29942583339 +GROUPID: '2024-06-25T07:10:40.297' +BUNIT: adu +TIMESYS: TAI +INSTRUME: LATISS +TELESCOP: LSST AuxTelescope +OBS-LONG: -70.7476862 +OBS-LAT: -30.2447889 +OBS-ELEV: 2663.0 +OBSGEO-X: 1819093.52 +OBSGEO-Y: -5208408.1 +OBSGEO-Z: 3195186.45 +FACILITY: Vera C. Rubin Observatory +RA: 0.0 +DEC: 0.0 +RASTART: 272.52669789029613 +DECSTART: -78.69215330186401 +RAEND: 272.66415733796276 +DECEND: -78.69258366624082 +ROTPA: 3.8810207341278717 +ROTCOORD: sky +HASTART: 0.0 +ELSTART: 38.992927174779474 +AZSTART: -171.23888407563265 +AMSTART: 0.0 +AHAEND: null +AELEND: null +AAZEND: null +AAMEND: null +TRACKSYS: null +RADESYS: null +FOCUSZ: 0.0 +OBJECT: FlatField position +INSTPORT: 2 +ATM3PORT: null +DOMEAZ: 2.58 +SHUTLOWR: 0.0 +SHUTUPPR: 0.0 +VIGNETTE: FULLY +VIGN_MIN: FULLY +WCSAXES: null +CTYPE1: null +CTYPE2: null +CUNIT1: null +CUNIT2: null +CRVAL1: null +CRVAL2: null +CRPIX1: null +CRPIX2: null +CD1_1: null +CD1_2: null +CD2_1: null +CD2_2: null +EQUINOX: null +TESTTYPE: DARK +CAMCODE: AT +CONTRLLR: O +DAYOBS: '20240624' +SEQNUM: 169 +PROGRAM: null +REASON: null +CURINDEX: 1 +MAXINDEX: 1 +TSTAND: null +IMAGETAG: 7fb5ce29c4cf40ef +OBSANNOT: '' +TEMP_SET: -104.15 +GRATING: empty_1 +GRATBAND: EMPTY +GRATSLOT: 0 +LINSPOS: 67.0 +FILTBAND: r +FILTER: SDSSr_65mm +FILTSLOT: 2 +EXPTIME: 30.0 +DARKTIME: 30.0096 +SHUTTIME: 30.0 +AIRTEMP: 0.02500000037252903 +PRESSURE: 73760.0 +HUMIDITY: 44.42499923706055 +WINDSPD: 14.094599723815918 +WINDDIR: 4.344202518463135 +SEEING: null +FILENAME: AT_O_20240624_000169_R00_S00.fits +HEADVER: 2 +SIMULATE ATMCS: null +SIMULATE ATHEXAPOD: 0 +SIMULATE ATPNEUMATICS: null +SIMULATE ATDOME: 0 +SIMULATE ATSPECTROGRAPH: 0 +XTENSION: BINTABLE +BITPIX: 8 +NAXIS: 2 +NAXIS1: 8 +NAXIS2: 2048 +PCOUNT: 874150 +GCOUNT: 1 +TFIELDS: 1 +TTYPE1: COMPRESSED_DATA +TFORM1: 1PB(458) +ZIMAGE: true +ZTILE1: 576 +ZTILE2: 1 +ZCMPTYPE: RICE_1 +ZNAME1: BLOCKSIZE +ZVAL1: 32 +ZNAME2: BYTEPIX +ZVAL2: 4 +ZTENSION: IMAGE +ZBITPIX: 32 +ZNAXIS: 2 +ZNAXIS1: 576 +ZNAXIS2: 2048 +ZPCOUNT: 0 +ZGCOUNT: 1 +ZHECKSUM: ZFAFfF59ZFACfF39 +CHANNEL: 1 +EXTNAME: Segment10 +CCDSUM: 1 1 +DATASEC: '[4:512,1:2000]' +DETSEC: '[509:1,1:2000]' +DETSIZE: '[1:4072,1:4000]' +DTV1: 513 +DTV2: 0 +DTM1_1: -1.0 +DTM2_2: 1.0 +DTM1_2: 0.0 +DTM2_1: 0.0 +WCSNAMEA: AMPLIFIER +CTYPE1A: Seg_X +CTYPE2A: Seg_Y +PC1_1A: 0.0 +PC1_2A: -1.0 +PC2_1A: -1.0 +PC2_2A: 0.0 +CDELT1A: 1.0 +CDELT2A: 1.0 +CRPIX1A: 0.0 +CRPIX2A: 0.0 +CRVAL1A: 2001.0 +CRVAL2A: 513.0 +WCSNAMEC: CCD +CTYPE1C: CCD_X +CTYPE2C: CCD_Y +PC1_1C: 0.0 +PC1_2C: -1.0 +PC2_1C: -1.0 +PC2_2C: 0.0 +CDELT1C: 1.0 +CDELT2C: 1.0 +CRPIX1C: 0.0 +CRPIX2C: 0.0 +CRVAL1C: 4001.0 +CRVAL2C: 513.0 +WCSNAMER: RAFT +CTYPE1R: RAFT_X +CTYPE2R: RAFT_Y +PC1_1R: 0.0 +PC1_2R: -1.0 +PC2_1R: -1.0 +PC2_2R: 0.0 +CDELT1R: 1.0 +CDELT2R: 1.0 +CRPIX1R: 0.0 +CRPIX2R: 0.0 +CRVAL1R: 4126.0 +CRVAL2R: 602.0 +WCSNAMEF: FOCAL_PLANE +CTYPE1F: FP_X +CTYPE2F: FP_Y +PC1_1F: 0.0 +PC1_2F: -1.0 +PC2_1F: -1.0 +PC2_2F: 0.0 +CDELT1F: 1.0 +CDELT2F: 1.0 +CRPIX1F: 0.0 +CRPIX2F: 0.0 +CRVAL1F: 16826.0 +CRVAL2F: 602.0 +WCSNAMEE: FP_SERPAR +CTYPE1E: FP_S +CTYPE2E: FP_P +PC1_1E: -1.0 +PC1_2E: 0.0 +PC2_1E: 0.0 +PC2_2E: -1.0 +CDELT1E: 1.0 +CDELT2E: 1.0 +CRPIX1E: 0.0 +CRPIX2E: 0.0 +CRVAL1E: 602.0 +CRVAL2E: 16826.0 +WCSNAMEB: CCD_SERPAR +CTYPE1B: CCD_S +CTYPE2B: CCD_P +PC1_1B: -1.0 +PC1_2B: 0.0 +PC2_1B: 0.0 +PC2_2B: -1.0 +CDELT1B: 1.0 +CDELT2B: 1.0 +CRPIX1B: 0.0 +CRPIX2B: 0.0 +CRVAL1B: 513.0 +CRVAL2B: 4001.0 +WCSNAMEQ: RAFT_SERPAR +CTYPE1Q: RAFT_S +CTYPE2Q: RAFT_P +PC1_1Q: -1.0 +PC1_2Q: 0.0 +PC2_1Q: 0.0 +PC2_2Q: -1.0 +CDELT1Q: 1.0 +CDELT2Q: 1.0 +CRPIX1Q: 0.0 +CRPIX2Q: 0.0 +CRVAL1Q: 602.0 +CRVAL2Q: 4126.0 +BSCALE: 1.0 +BZERO: 0.0 +INHERIT: true +ZDATASUM: '245889959' +CHECKSUM: ZjmgZjjdZjjdZjjd +DATASUM: '284628043' diff --git a/tests/test_translator.py b/tests/test_translator.py index 19e4216e2..7e8808e3e 100644 --- a/tests/test_translator.py +++ b/tests/test_translator.py @@ -1055,6 +1055,105 @@ def test_latiss_translator(self): visit_id=2685487956090000, check_altaz=True, )), + ("latiss-AT_O_20240624_000106_R00_S00.yaml", + dict(telescope="Rubin Auxiliary Telescope", + instrument="LATISS", + boresight_rotation_coord="sky", + can_see_sky=True, + dark_time=30.2407*u.s, + detector_exposure_id=44358986240, + detector_group="RXX", + detector_name="S00", + detector_num=0, + detector_serial="ITL-3800C-068", + exposure_id=2024062400106, + exposure_group="2024-06-25T01:26:31.895#1", + exposure_time=30.0*u.s, + focus_z=0.742219865322113*u.mm, + group_counter_end=106, + group_counter_start=106, + has_simulated_content=False, + object="HD 131586", + observation_counter=106, + observation_id="AT_O_20240624_000106", + observation_type="cwfs", + observation_reason="intra", + observing_day=20240624, + observing_day_offset=astropy.time.TimeDelta(43200.0, scale="tai", format="sec"), + physical_filter="SDSSr_65mm~empty", + pressure=73880*u.Pa, + relative_humidity=40.650001525878906, + science_program="cwfs", + temperature=1.5750000476837158*u.deg_C, + visit_id=2992083918950001, + check_altaz=True, + )), + ("latiss-AT_O_20240624_000106_R00_S00-patched.yaml", + dict(telescope="Rubin Auxiliary Telescope", + instrument="LATISS", + boresight_rotation_coord="sky", + can_see_sky=False, + dark_time=30.2407*u.s, + detector_exposure_id=44358986240, + detector_group="RXX", + detector_name="S00", + detector_num=0, + detector_serial="ITL-3800C-068", + exposure_id=2024062400106, + exposure_group="2024-06-25T01:26:31.895#1", + exposure_time=30.0*u.s, + focus_z=0.742219865322113*u.mm, + group_counter_end=106, + group_counter_start=106, + has_simulated_content=False, + object="HD 131586", + observation_counter=106, + observation_id="AT_O_20240624_000106", + observation_type="science", + observation_reason="intra", + observing_day=20240624, + observing_day_offset=astropy.time.TimeDelta(43200.0, scale="tai", format="sec"), + physical_filter="SDSSr_65mm~empty", + pressure=73880*u.Pa, + relative_humidity=40.650001525878906, + science_program="cwfs", + temperature=1.5750000476837158*u.deg_C, + visit_id=2992083918950001, + check_altaz=True, + )), + ("latiss-AT_O_20240624_000169_R00_S00.yaml", + dict(telescope="Rubin Auxiliary Telescope", + instrument="LATISS", + boresight_rotation_coord="unknown", + can_see_sky=False, + dark_time=30.0096*u.s, + detector_exposure_id=44359002368, + detector_group="RXX", + detector_name="S00", + detector_num=0, + detector_serial="ITL-3800C-068", + exposure_id=2024062400169, + exposure_group="2024-06-25T07:10:40.297", + exposure_time=30.0*u.s, + focus_z=0.0*u.mm, + group_counter_end=169, + group_counter_start=169, + has_simulated_content=False, + object="FlatField position", + observation_counter=169, + observation_id="AT_O_20240624_000169", + observation_type="dark", + observation_reason="dark", + observing_day=20240624, + observing_day_offset=astropy.time.TimeDelta(43200.0, scale="tai", format="sec"), + physical_filter="SDSSr_65mm~empty", + pressure=73760*u.Pa, + relative_humidity=44.42499923706055, + science_program="unknown", + temperature=0.02500000037252903*u.deg_C, + visit_id=2992290402970000, + check_altaz=True, + )), ) with warnings.catch_warnings(): # Avoid warnings from too-long FITS header keys.