Loading csst_common/data_manager.py +14 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import os import re from typing import Union import numpy as np from astropy.io import fits from astropy.table import Table from csst_dfs_api.msc.calmerge import CalMergeApi Loading Loading @@ -570,9 +571,20 @@ class CsstMsDataManager: """ Push SLS spectra to DFS. """ pass def dfs_l0_query(self, obs_id): def dfs_l0_query(self, obs_id: str = "100000100"): """ Query L0 data from DFS. """ pass result = self.dfs_L0DataApi.find(obs_id=str(obs_id)) print(f"{result.totalCount} entries returned from DFS.") if not result.code == 0: raise ValueError(f"DFS returns non-zero code! ({result.code})") tbl = Table([_.__dict__ for _ in result.data]) tbl.sort(["detector_no", "obs_type"]) # Check if all 30 detectors are available for detector in CP["all"]["detectors"]: for obs_type in ["sci", "cosmic_ray"]: if np.sum((tbl["detector_no"] == f"{detector:02d}") & (tbl["obs_type"] == obs_type)) == 0: self.logger_ppl.warning(f"Record not found for detector {detector:02d} and obs_type {obs_type}") return tbl def dfs_l1_query(self, obs_id, detector): """ Query L1 data from DFS. """ Loading Loading
csst_common/data_manager.py +14 −2 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ import os import re from typing import Union import numpy as np from astropy.io import fits from astropy.table import Table from csst_dfs_api.msc.calmerge import CalMergeApi Loading Loading @@ -570,9 +571,20 @@ class CsstMsDataManager: """ Push SLS spectra to DFS. """ pass def dfs_l0_query(self, obs_id): def dfs_l0_query(self, obs_id: str = "100000100"): """ Query L0 data from DFS. """ pass result = self.dfs_L0DataApi.find(obs_id=str(obs_id)) print(f"{result.totalCount} entries returned from DFS.") if not result.code == 0: raise ValueError(f"DFS returns non-zero code! ({result.code})") tbl = Table([_.__dict__ for _ in result.data]) tbl.sort(["detector_no", "obs_type"]) # Check if all 30 detectors are available for detector in CP["all"]["detectors"]: for obs_type in ["sci", "cosmic_ray"]: if np.sum((tbl["detector_no"] == f"{detector:02d}") & (tbl["obs_type"] == obs_type)) == 0: self.logger_ppl.warning(f"Record not found for detector {detector:02d} and obs_type {obs_type}") return tbl def dfs_l1_query(self, obs_id, detector): """ Query L1 data from DFS. """ Loading