Fix MAST target query
This commit is contained in:
@@ -16,14 +16,6 @@ def divide_proposal(products):
|
|||||||
"""
|
"""
|
||||||
Divide observation in proposals by time or filter
|
Divide observation in proposals by time or filter
|
||||||
"""
|
"""
|
||||||
for pid in np.unique(products['Proposal ID']):
|
|
||||||
obs = products[products['Proposal ID'] == pid].copy()
|
|
||||||
close_date = np.unique(np.array([TimeDelta(np.abs(obs['Start'][0].unix-date.unix), format='sec')
|
|
||||||
< 7.*u.d for date in obs['Start']], dtype=bool), axis=0)
|
|
||||||
if len(close_date) > 1:
|
|
||||||
for date in close_date:
|
|
||||||
products['Proposal ID'][np.any([products['Dataset'] == dataset for dataset in obs['Dataset'][date]], axis=0)
|
|
||||||
] = "_".join([obs['Proposal ID'][date][0], str(obs['Start'][date][0])[:10]])
|
|
||||||
for pid in np.unique(products['Proposal ID']):
|
for pid in np.unique(products['Proposal ID']):
|
||||||
obs = products[products['Proposal ID'] == pid].copy()
|
obs = products[products['Proposal ID'] == pid].copy()
|
||||||
same_filt = np.unique(np.array(np.sum([obs['Filters'][:, 1:] == filt[1:] for filt in obs['Filters']], axis=2) < 3, dtype=bool), axis=0)
|
same_filt = np.unique(np.array(np.sum([obs['Filters'][:, 1:] == filt[1:] for filt in obs['Filters']], axis=2) < 3, dtype=bool), axis=0)
|
||||||
@@ -31,6 +23,14 @@ def divide_proposal(products):
|
|||||||
for filt in same_filt:
|
for filt in same_filt:
|
||||||
products['Proposal ID'][np.any([products['Dataset'] == dataset for dataset in obs['Dataset'][filt]], axis=0)] = "_".join(
|
products['Proposal ID'][np.any([products['Dataset'] == dataset for dataset in obs['Dataset'][filt]], axis=0)] = "_".join(
|
||||||
[obs['Proposal ID'][filt][0], "_".join([fi for fi in obs['Filters'][filt][0][1:] if fi[:-1] != "CLEAR"])])
|
[obs['Proposal ID'][filt][0], "_".join([fi for fi in obs['Filters'][filt][0][1:] if fi[:-1] != "CLEAR"])])
|
||||||
|
for pid in np.unique(products['Proposal ID']):
|
||||||
|
obs = products[products['Proposal ID'] == pid].copy()
|
||||||
|
close_date = np.unique([[np.abs(TimeDelta(obs['Start'][i].unix-date.unix, format='sec'))
|
||||||
|
< 7.*u.d for i in range(len(obs))] for date in obs['Start']], axis=0)
|
||||||
|
if len(close_date) > 1:
|
||||||
|
for date in close_date:
|
||||||
|
products['Proposal ID'][np.any([products['Dataset'] == dataset for dataset in obs['Dataset'][date]], axis=0)
|
||||||
|
] = "_".join([obs['Proposal ID'][date][0], str(obs['Start'][date][0])[:10]])
|
||||||
return products
|
return products
|
||||||
|
|
||||||
|
|
||||||
@@ -147,8 +147,6 @@ def get_product_list(target=None, proposal_id=None):
|
|||||||
for prod in products:
|
for prod in products:
|
||||||
prod['target_name'] = observations['target_name'][observations['obsid'] == prod['obsID']][0]
|
prod['target_name'] = observations['target_name'][observations['obsid'] == prod['obsID']][0]
|
||||||
tab = unique(products, ['target_name', 'proposal_id'])
|
tab = unique(products, ['target_name', 'proposal_id'])
|
||||||
if len(tab) > 1 and np.all(tab['target_name'] == tab['target_name'][0]):
|
|
||||||
target = tab['target_name'][0]
|
|
||||||
|
|
||||||
products["Obs"] = [np.argmax(np.logical_and(tab['proposal_id'] == data['proposal_id'], tab['target_name'] == data['target_name']))+1 for data in products]
|
products["Obs"] = [np.argmax(np.logical_and(tab['proposal_id'] == data['proposal_id'], tab['target_name'] == data['target_name']))+1 for data in products]
|
||||||
return target, products
|
return target, products
|
||||||
|
|||||||
Reference in New Issue
Block a user