Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
csst-pipeline
csst_common
Commits
ecf57a6b
Commit
ecf57a6b
authored
Nov 08, 2022
by
BO ZHANG
🏀
Browse files
added dfs interfaces
parent
469c08f8
Changes
1
Hide whitespace changes
Inline
Side-by-side
csst_common/data_manager.py
View file @
ecf57a6b
...
...
@@ -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
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment