diff --git a/csst_common/data_manager.py b/csst_common/data_manager.py index bc588f76d043b77fc0bff42c1a62924a34d8942a..d8aae86e162d598a4e85c301910add9df299e684 100644 --- a/csst_common/data_manager.py +++ b/csst_common/data_manager.py @@ -13,6 +13,7 @@ Modified-History: 2022-11-06, Bo Zhang, deleted CsstMbiDataManager 2022-11-20, Bo Zhang, added DFS APIs """ +import _io import glob import os import re @@ -20,6 +21,7 @@ from typing import Union import numpy as np from astropy.io import fits +from astropy import time from astropy.table import Table from csst_dfs_api.facility.level0 import Level0DataApi from csst_dfs_api.facility.level0prc import Level0PrcApi @@ -161,7 +163,8 @@ class CsstMsDataManager: verbose=True, n_jobs=18, backend="multiprocessing", - device="CPU" + device="CPU", + stamps="", ): # set DFS log dir @@ -253,6 +256,16 @@ class CsstMsDataManager: self.custom_dark = None self.custom_flat = None + if stamps == "" or stamps is None: + self.stamps = None + else: + self.stamps = open(stamps, "w+") + self.write_stamp() + + def write_stamp(self): + if self.stamps is not None: + self.stamps.write(f"{time.Time.now().isot}\n") + # DFS APIs @property def dfs_L0DataApi(self): @@ -321,7 +334,8 @@ class CsstMsDataManager: log_mod="csst-l1mod.log", n_jobs=18, backend="multiprocessing", - device="CPU" + device="CPU", + **kwargs ): """ initialize the multi-band imaging data manager """ @@ -367,7 +381,8 @@ class CsstMsDataManager: log_mod=log_mod, n_jobs=n_jobs, backend=backend, - device=device + device=device, + **kwargs ) @staticmethod @@ -780,7 +795,8 @@ class CsstMsDataManager: dfs_root="/share/dfs", n_jobs=18, backend="multiprocessing", - device="CPU" + device="CPU", + **kwargs ): """ Initialize CsstMsDataManager from DFS. """ # (clear and) make directories @@ -823,7 +839,8 @@ class CsstMsDataManager: dfs_node=dfs_node, n_jobs=n_jobs, backend=backend, - device=device + device=device, + **kwargs ) assert dm.obs_id == obs_id