-
-
Notifications
You must be signed in to change notification settings - Fork 427
Description
Currently, the astroquery.mast.Observations.get_cloud_uris() function returns a list of cloud URIs corresponding to input products. However, at times it returns None for that entry. This leads to downstream errors (e.g., FileNotFoundError). I don't know why the query is returning None, but assuming there is a good reason, I would rather not have anything returned.
Please consider adding an option to get_cloud_uris() such as: get_cloud_uris(products, filter_none=True)
or, let me filter for that higher up in my workflow in either query_criteria or filter_products, something better phrased than "only return actual filenames"
minimum viable example for my target: SkyCoord(150.1024475, 2.2815559, unit=u.deg)
search_radius_arcsec=0.5
query_results = Observations.query_criteria(
coordinates=search_coords, radius=search_radius_arcsec * u.arcsec,
dataproduct_type=["spectrum"], obs_collection=["JWST"], intentType="science",
calib_level=[2, 3, 4], instrument_name=['NIRSPEC/MSA', 'NIRSPEC/SLIT'],
dataRights=['PUBLIC'])
data_products = [Observations.get_product_list(obs) for obs in query_results]
data_products_list = vstack(data_products)
data_products_list_filter = Observations.filter_products(
data_products_list, productType=["SCIENCE"], extension="fits",
calib_level=[2, 3, 4], # only calibrated data
productSubGroupDescription=["X1D"], # only 1D spectra
dataRights=['PUBLIC']) # only public data
cloud_uris = Observations.get_cloud_uris(data_products_list_filter)
print('cloud_uris', cloud_uris)
Thanks for your work on Astroquery and MAST integration!