Commit ecf57a6b authored by BO ZHANG's avatar BO ZHANG 🏀
Browse files

added dfs interfaces

parent 469c08f8
......@@ -23,7 +23,6 @@ from astropy.table import Table
from .dfs import gaia_query_from_dfs, get_l1api
from .params import CSST_PARAMS as CP
from .params import DFS_CONF
from .utils import remove_dir
class CsstMsDataManager:
......@@ -201,18 +200,6 @@ class CsstMsDataManager:
os.environ["LD_LIBRARY_PATH"] = ""
os.environ["AXE_BINDIR"] = ""
@property
def dfs_node(self):
return self._dfs_node
@dfs_node.setter
def dfs_node(self, dfs_node):
# for DFS configuration, defaults to "local", could be "pml"
assert dfs_node in DFS_CONF.keys()
self._dfs_node = dfs_node
for k, v in DFS_CONF[dfs_node].items():
os.environ[k] = v
@property
def target_detectors(self):
return self._target_detectors
......@@ -480,26 +467,6 @@ class CsstMsDataManager:
ver_sim=ver_sim, datatype=datatype, dir_l0=dir_l0, dir_l1=dir_l1, path_aux=path_aux,
dfs_mode=dfs_mode, dfs_node=dfs_node)
def query_rc(self, ra=180, dec=0, radius=2, min_mag=0, max_mag=30, obstime=-1, limit=-1):
""" Query Reference Catalog (RC) from DFS """
try:
tbl = gaia_query_from_dfs(
ra=ra, dec=dec, radius=radius, min_mag=min_mag, max_mag=max_mag, obstime=obstime, limit=limit)
return tbl
except:
print("Error occurred during the query!")
return None
@property
def dfs_available(self):
""" Test if DFS works. """
try:
tbl = gaia_query_from_dfs(radius=0.001)
assert len(tbl) == 0
return True
except:
return False
def __repr__(self):
lines = ""
lines += "<CsstMsDataManager>\n"
......@@ -515,13 +482,60 @@ class CsstMsDataManager:
return lines
def remove_files(self, fmt="*.fits"):
""" Remove L1 files conforming the format. """
os.system(f"rm -rf {os.path.join(self.dir_l1, fmt)}")
@staticmethod
def remove_dir(path):
remove_dir(path)
def remove_dir(self, dir_name):
""" Remove L1 (sub-)directory. """
os.system(f"rm -rf {os.path.join(self.dir_l1, dir_name)}")
# DFS interfaces
@property
def dfs_node(self):
return self._dfs_node
@dfs_node.setter
def dfs_node(self, dfs_node):
# for DFS configuration, defaults to "local", could be "pml"
assert dfs_node in DFS_CONF.keys()
self._dfs_node = dfs_node
for k, v in DFS_CONF[dfs_node].items():
os.environ[k] = v
def dfs_push_l1(self):
l1api = get_l1api()
l1api.write()
@property
def dfs_is_available(self):
""" Test if DFS works. """
try:
tbl = gaia_query_from_dfs(radius=0.001)
assert len(tbl) == 0
return True
except:
return False
def dfs_rc_query(self, ra=180, dec=0, radius=2, min_mag=0, max_mag=30, obstime=-1, limit=-1):
""" Query Reference Catalog (RC) from DFS. """
try:
tbl = gaia_query_from_dfs(
ra=ra, dec=dec, radius=radius, min_mag=min_mag, max_mag=max_mag, obstime=obstime, limit=limit)
return tbl
except:
print("Error occurred during the query!")
return None
def dfs_l1_push(self):
""" Push MBI/SLS L1 data to DFS. """
# l1api = get_l1api()
# l1api.write()
return
def dfs_l2_push(self):
""" Push SLS spectra to DFS. """
pass
def dfs_l0_query(self):
""" Query L0 data from DFS. """
pass
def dfs_l1_query(self):
""" Query L1 data from DFS. """
pass
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment