def main(self): recentmjd = date_to_mjd(datetime.datetime.utcnow() - datetime.timedelta(7)) survey_obs = SurveyObservation.objects.filter(obs_mjd__gt=recentmjd) field_pk = survey_obs.values('survey_field').distinct() survey_fields = SurveyField.objects.filter(pk__in = field_pk).select_related() for s in survey_fields: width_corr = 3.1/np.abs(np.cos(s.dec_cen)) ra_offset = Angle(width_corr/2., unit=u.deg) dec_offset = Angle(3.1/2., unit=u.deg) sc = SkyCoord(s.ra_cen,s.dec_cen,unit=u.deg) ra_min = sc.ra - ra_offset ra_max = sc.ra + ra_offset dec_min = sc.dec - dec_offset dec_max = sc.dec + dec_offset query = query_template.copy() query['query']['bool']['must'][0]['range']['ra']['gte'] = ra_min.deg query['query']['bool']['must'][0]['range']['ra']['lte'] = ra_max.deg query['query']['bool']['must'][1]['range']['dec']['gte'] = dec_min.deg query['query']['bool']['must'][1]['range']['dec']['lte'] = dec_max.deg query['query']['bool']['must'][2]['range']['properties.ztf_rb']['gte'] = 0.5 query['query']['bool']['must'][3]['range']['properties.ztf_jd']['gte'] = recentmjd+2400000.5 result_set = search(query) transientdict,nsn = self.parse_data(result_set) print('uploading %i transients'%nsn) self.send_data(transientdict) import pdb; pdb.set_trace()
def filter_search(query, *criteria, debug=False): i = 0 sr = search(query) for locus in sr: i += 1 for crit in criteria: if crit(locus): if debug: print(f'passed {i} loci') yield locus i = 0
} } }, { "range": { "dec": { "gte": dec - ddec, "lte": dec + ddec, } } }, { "range": { "mjd": { "gte": tobs, } } }] } } } from antares_client.search import search result_set = search(query) from antares_client.search import download result_set = download(query, "results.csv", output_format="csv", decompress=True)