import quivr as qv
from adam_core.time import Timestamp
[docs]
class MPCObservations(qv.Table):
# Metadata columns we provide in queries
requested_provid = qv.LargeStringColumn(nullable=True)
primary_designation = qv.LargeStringColumn(nullable=True)
# All columns from moeyens-thor-dev.mpc_sbn_aurora.public_obs_sbn
id = qv.Int64Column(nullable=True)
trksub = qv.LargeStringColumn(nullable=True)
trkid = qv.LargeStringColumn(nullable=True)
obsid = qv.LargeStringColumn(nullable=True)
submission_id = qv.LargeStringColumn(nullable=True)
submission_block_id = qv.LargeStringColumn(nullable=True)
obs80 = qv.LargeStringColumn(nullable=True)
status = qv.LargeStringColumn(nullable=True)
ref = qv.LargeStringColumn(nullable=True)
healpix = qv.Int64Column(nullable=True)
permid = qv.LargeStringColumn(nullable=True)
provid = qv.LargeStringColumn(nullable=True)
artsat = qv.LargeStringColumn(nullable=True)
mode = qv.LargeStringColumn(nullable=True)
stn = qv.LargeStringColumn(nullable=True)
trx = qv.LargeStringColumn(nullable=True)
rcv = qv.LargeStringColumn(nullable=True)
sys = qv.LargeStringColumn(nullable=True)
ctr = qv.Int64Column(nullable=True)
pos1 = qv.LargeStringColumn(nullable=True)
pos2 = qv.LargeStringColumn(nullable=True)
pos3 = qv.LargeStringColumn(nullable=True)
poscov11 = qv.LargeStringColumn(nullable=True)
poscov12 = qv.LargeStringColumn(nullable=True)
poscov13 = qv.LargeStringColumn(nullable=True)
poscov22 = qv.LargeStringColumn(nullable=True)
poscov23 = qv.LargeStringColumn(nullable=True)
poscov33 = qv.LargeStringColumn(nullable=True)
prog = qv.LargeStringColumn(nullable=True)
obstime = Timestamp.as_column(nullable=True)
ra = qv.Float64Column(nullable=True)
dec = qv.Float64Column(nullable=True)
rastar = qv.LargeStringColumn(nullable=True)
decstar = qv.LargeStringColumn(nullable=True)
obscenter = qv.LargeStringColumn(nullable=True)
deltara = qv.LargeStringColumn(nullable=True)
deltadec = qv.LargeStringColumn(nullable=True)
dist = qv.LargeStringColumn(nullable=True)
pa = qv.LargeStringColumn(nullable=True)
rmsra = qv.Float64Column(nullable=True)
rmsdec = qv.Float64Column(nullable=True)
rmsdist = qv.LargeStringColumn(nullable=True)
rmspa = qv.LargeStringColumn(nullable=True)
rmscorr = qv.Float64Column(nullable=True)
delay = qv.LargeStringColumn(nullable=True)
rmsdelay = qv.LargeStringColumn(nullable=True)
doppler = qv.LargeStringColumn(nullable=True)
rmsdoppler = qv.LargeStringColumn(nullable=True)
astcat = qv.LargeStringColumn(nullable=True)
mag = qv.Float64Column(nullable=True)
rmsmag = qv.Float64Column(nullable=True)
band = qv.LargeStringColumn(nullable=True)
photcat = qv.LargeStringColumn(nullable=True)
photap = qv.LargeStringColumn(nullable=True)
nucmag = qv.Int64Column(nullable=True)
logsnr = qv.LargeStringColumn(nullable=True)
seeing = qv.LargeStringColumn(nullable=True)
exp = qv.LargeStringColumn(nullable=True)
rmsfit = qv.LargeStringColumn(nullable=True)
com = qv.Int64Column(nullable=True)
frq = qv.LargeStringColumn(nullable=True)
disc = qv.LargeStringColumn(nullable=True)
subfrm = qv.LargeStringColumn(nullable=True)
subfmt = qv.LargeStringColumn(nullable=True)
prectime = qv.Int64Column(nullable=True)
precra = qv.LargeStringColumn(nullable=True)
precdec = qv.LargeStringColumn(nullable=True)
unctime = qv.LargeStringColumn(nullable=True)
notes = qv.LargeStringColumn(nullable=True)
remarks = qv.LargeStringColumn(nullable=True)
deprecated = qv.LargeStringColumn(nullable=True)
localuse = qv.LargeStringColumn(nullable=True)
nstars = qv.Int64Column(nullable=True)
prev_desig = qv.LargeStringColumn(nullable=True)
prev_ref = qv.LargeStringColumn(nullable=True)
rmstime = qv.LargeStringColumn(nullable=True)
created_at = Timestamp.as_column(nullable=True)
updated_at = Timestamp.as_column(nullable=True)
trkmpc = qv.LargeStringColumn(nullable=True)
orbit_id = qv.LargeStringColumn(nullable=True)
designation_asterisk = qv.BooleanColumn(nullable=True)
all_pub_ref = qv.LargeStringColumn(nullable=True)
shapeocc = qv.BooleanColumn(nullable=True)
obssubid = qv.LargeStringColumn(nullable=True)
replacesobsid = qv.LargeStringColumn(nullable=True)
group_id = qv.LargeStringColumn(nullable=True)
vel1 = qv.LargeStringColumn(nullable=True)
fltr = qv.LargeStringColumn(nullable=True)
vel3 = qv.LargeStringColumn(nullable=True)
vel2 = qv.LargeStringColumn(nullable=True)
obstime_text = qv.LargeStringColumn(nullable=True)
# Artifacts of Datastream replication
datastream_metadata = qv.LargeStringColumn(nullable=True)
[docs]
class CrossMatchedMPCObservations(qv.Table):
# Here request_id is the unique id of an observation passed in to cross-match
request_id = qv.LargeStringColumn()
mpc_observations = MPCObservations.as_column()
separation_arcseconds = qv.Float64Column()
separation_seconds = qv.Float64Column()