File: hsa.rst

package info (click to toggle)
astroquery 0.4.11%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 26,584 kB
  • sloc: python: 53,596; xml: 36,604; makefile: 140; ansic: 69
file content (265 lines) | stat: -rw-r--r-- 12,620 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
.. _astroquery.esa.hsa:

***************************************************
ESA Herschel Science Archive (`astroquery.esa.hsa`)
***************************************************

`Herschel <https://www.cosmos.esa.int/web/herschel/home/>`__ was the fourth
cornerstone in ESA's Horizon 2000 science programme, designed to observe the 'cool' universe.
It performed photometry and spectroscopy in the poorly explored 55-670 µm spectral range with a 3.5 m diameter
Cassegrain telescope, providing unique observing capabilities and bridging the gap between earlier infrared
space missions and groundbased facilities. Herschel successfully performed ~37000 science observations and
~6600 science calibration observations which are publicly available to the worldwide astronomical community
through the Herschel Science Archive.

This package allows the access to the `Herschel Science Archive <http://archives.esac.esa.int/hsa/whsa/>`_.

Examples
========

1. Getting Herschel data
------------------------

.. Skipping becuase of how long the download takes
.. doctest-skip::   

  >>> from astroquery.esa.hsa import HSA
  >>>
  >>> HSA.download_data(observation_id='1342195355',  retrieval_type='OBSERVATION',
  ...                   instrument_name='PACS')
  Downloading URL http://archives.esac.esa.int/hsa/whsa-tap-server/data?&retrieval_type=OBSERVATION&observation_id=1342195355&instrument_name=PACS to 1342195355.tar ... [Done]
  '1342195355.tar'

This will download the products of the observation '1342195355' with the instrument 'PACS' and
it will store them in a tar called '1342195355.tar'. The parameters available are detailed in the API.

For more details of the parameters check the section 6 of the ``Direct Product Access using TAP`` in the
`HSA users guide <http://archives.esac.esa.int/hsa/whsa/>`_.

For more details about the products check:
  https://www.cosmos.esa.int/web/herschel/data-products-overview


2. Getting Observation Products
-------------------------------

.. Skipping becuase of how long the download takes
.. doctest-skip::

  >>> from astroquery.esa.hsa import HSA
  >>>
  >>> HSA.get_observation('1342195355', instrument_name='PACS')
  Downloading URL http://archives.esac.esa.int/hsa/whsa-tap-server/data?&retrieval_type=OBSERVATION&observation_id=1342195355&instrument_name=PACS to 1342195355.tar ... [Done]
  '1342195355.tar'

This will download the product of the observation '1342195355' with the instrument 'PACS' and
it will store them in a tar called '1342195355.tar'. The parameters available are detailed in the API.

.. Note:: There is no difference between the product retrieved with this method and
          `~astroquery.esa.hsa.HSAClass.download_data`. `~astroquery.esa.hsa.HSAClass.download_data`
          is a more generic interface that allows the user to retrieve any product or metadata and
          `~astroquery.esa.hsa.HSAClass.get_observation` allows the user to retrieve only observation products.

For more information check the section 6.1 of the of the ``Direct Product Access using TAP`` in the
`HSA users guide`_.

For more details of the parameters check the section 6.2 of the ``Direct Product Access using TAP`` in the
`HSA users guide`_.


3. Getting Herschel Postcard
----------------------------

.. doctest-remote-data::

  >>> from astroquery.esa.hsa import HSA
  >>>
  >>> HSA.get_postcard('1342195355', instrument_name='PACS')  # doctest: +IGNORE_OUTPUT
  Downloading URL http://archives.esac.esa.int/hsa/whsa-tap-server/data?&retrieval_type=POSTCARD&observation_id=1342195355&instrument_name=PACS to /home/dev/.astropy/cache/astroquery/HSA/data?&retrieval_type=POSTCARD&observation_id=1342195355&instrument_name=PACS ... [Done]
  '1342195355.jpg'

This will download the postcard (static representation in JPG-format of the final product) of the observation
'1342195355' with the instrument 'PACS' and it will store them in a tar called '1342195355.jpg'.
The parameters available are detailed in the API.

For more details of the parameters check the section 6.2 of the ``Direct Product Access using TAP`` in the
`HSA users guide`_.


4. Getting Herschel metadata through TAP
----------------------------------------

This function provides access to the Herschel Science Archive database using the Table Access Protocol (TAP) and via the Astronomical Data
Query Language (`ADQL <https://www.ivoa.net/documents/ADQL/20180112/PR-ADQL-2.1-20180112.html>`__).

.. doctest-remote-data::

  >>> from astroquery.esa.hsa import HSA
  >>>
  >>> result = HSA.query_hsa_tap("select top 10 * from hsa.v_active_observation",
  ...                            output_format='csv', output_file='results.csv')
  >>> result.pprint(max_width=100)
                    aor                           bii         ...  target_name   urn_version
  --------------------------------------- ------------------- ... -------------- -----------
                          PP2-SWa-NGC3265  28.797292629881316 ...        NGC3265      915907
         PRISMAS_W33a_hifi3b_898GHz_A_D2O  -17.86672520275456 ...           W33A      806737
    GOODS-S_70_d+8+8_forward_r3_shortaxis  -27.80919396603746 ...  GOODS-S d+8+8      894819
        PSP2_HStars-Set12f - RedRectangle -10.637417697356986 ...  Red Rectangle      800938
                   SPIRE-A - G126.24-5.52  57.195030974713134 ...   G126.24-5.52      810242
  PSP1_PRISMAS_W31C_hifi6a_1477GHz_A_D2H+  -19.93074108498436 ...           W31C      920099
         Spire Level-2 GOODS-S 37  - copy  -27.81104151290488 ...        GOODS-S      898135
               PSP2_HStars-Set13  - 10216   13.27923027337195 ...      IRC+10216      801364
                    PACS-A - G345.39-3.97  -43.47405026924179 ... G345.39-3.97-1      883176
          PRISMAS_g34_hifi7b_1897GHz_B_C3  1.2495150652937468 ...      G34.3+0.1      921086

This will execute an ADQL query to download the first 10 observations in the `Herschel Science Archive`_.
The result of the query will be stored in the file ``results.csv``.


5. Getting table details of HSA TAP
-----------------------------------

.. doctest-remote-data::

  >>> from astroquery.esa.hsa import HSA
  >>>
  >>> HSA.get_tables()
  INFO: Retrieving tables... [astroquery.utils.tap.core]
  INFO: Parsing tables... [astroquery.utils.tap.core]
  INFO: Done. [astroquery.utils.tap.core]
  ['hpdp.latest_observation_hpdp', 'hpdp.vizier_links', 'hpdp.unique_observation_hpdp', 'hpdp.latest_unique_observation_requests', 'hpdp.files', 'hpdp.latest_requests', 'public.dual', 'public.image_formats', 'tap_schema.tables', 'tap_schema.columns', 'tap_schema.keys', 'tap_schema.schemas', 'tap_schema.key_columns', 'hsa.observation_science', 'hsa.proposal_coauthor', 'hsa.proposal_observation', 'hsa.instrument', 'hsa.observing_mode_per_instrument', 'hsa.spire_spectral_feature_finder_catalogue', 'hsa.hifi_spectral_line_smoothed', 'hsa.publication', 'hsa.quality_flag', 'hsa.v_active_observation', 'hsa.proposal_info', 'hsa.pacs_point_source_070', 'hsa.observing_mode', 'hsa.proposal', 'hsa.proposal_pi_user', 'hsa.spire_point_source_350', 'hsa.spire_point_source_250', 'hsa.v_publication', 'hsa.spire_point_source_500', 'hsa.pacs_point_source_100', 'hsa.v_proposal_observation', 'hsa.hifi_spectral_line_native', 'hsa.pacs_point_source_160', 'hsa.ancillary', 'hsa.metadata_expert_panels', 'pubtool.institutions', 'pubtool.v_first_pub_date', 'pubtool.v_first_pub_date_single', 'pubtool.archival_type', 'pubtool.publication', 'pubtool.publication_details', 'pubtool.authors_institutions', 'pubtool.publication_observation', 'pubtool.authors', 'updp2.latest_observation_updp', 'updp2.vizier_links', 'updp2.latest_unique_observation_requests', 'updp2.files', 'updp2.latest_requests', 'updp2.unique_observation_updp']

This will show the available tables in HSA TAP service in the `Herschel Science Archive`_.


6. Getting columns details of HSA TAP
-------------------------------------

.. doctest-remote-data::

  >>> from astroquery.esa.hsa import HSA
  >>>
  >>> HSA.get_columns('hsa.v_active_observation')
  INFO: Retrieving tables... [astroquery.utils.tap.core]
  INFO: Parsing tables... [astroquery.utils.tap.core]
  INFO: Done. [astroquery.utils.tap.core]
  ['aor', 'bii', 'dec', 'duration', 'end_time', 'fov', 'global_science_area', 'icon_image', 'icon_location', 'image_2_5_location', 'image_location', 'ingest_queue_oid', 'instrument_oid', 'is_active_version', 'is_public', 'lii', 'naif_id', 'num_publications', 'observation_id', 'observation_oid', 'observer', 'observing_mode_oid', 'obsstate', 'od_number', 'pa', 'polygon_fov', 'position', 'prop_end', 'proposal_id', 'quality_report_location', 'ra', 'science_area', 'science_category', 'spg_id', 'start_time', 'status', 'target_name', 'urn_version']

This will show the column details of the table ``'hsa.v_active_observation'`` in HSA TAP service in the
`Herschel Science Archive`_.


7. Query Region
---------------

.. doctest-remote-data::

  >>> from astroquery.esa.hsa import HSA
  >>> from astropy.coordinates import SkyCoord
  >>> from astropy import units as u
  >>>
  >>> c = SkyCoord(ra=100.2417*u.degree, dec=9.895*u.degree, frame='icrs')
  >>> result = HSA.query_region(c, 0.5)
  >>> result.pprint(max_width=100)
                        aor                            bii         ...   target_name    urn_version
                                                                ...
  ------------------------------------------- ------------------ ... ---------------- -----------
  KPOT_wlanger_1-HPoint-0007 - CII_G202.6+2.0 10.062774289985356 ... CII_G202.6+2.0-1      921022
                                      n2264-o   9.45754288889945 ...          NGC2264      919399
                                      n2264-n   9.45754288889945 ...          NGC2264      919398
                                      n2264-n  9.450299102175919 ...          NGC2264      898497
                                      n2264-o  9.450499719127244 ...          NGC2264      898535

Retrieve a VOTable with the observations metadata of a given region.


8. Query Observations
---------------------

.. doctest-remote-data::

  >>> from astroquery.esa.hsa import HSA
  >>> from astropy.coordinates import SkyCoord
  >>> from astropy import units as u
  >>>
  >>> c = SkyCoord(ra=100.2417*u.degree, dec=9.895*u.degree, frame='icrs')
  >>> HSA.query_observations(c, 0.5)
  <Table length=5>
  observation_id
      object
  --------------
      1342219315
      1342205057
      1342205056
      1342205056
      1342205057

Retrieve a VOTable with the observation IDs of a given region.


9. Procedure example
--------------------

First retrieve the observation IDs based on a position on the sky. To achive this, query the TAP service.

.. doctest-remote-data::

  >>> from astroquery.esa.hsa import HSA
  >>>
  >>> HSA.query_hsa_tap("select top 10 observation_id from hsa.v_active_observation where "
  ...                   "contains(point('ICRS', hsa.v_active_observation.ra, hsa.v_active_observation.dec), "
  ...                   "circle('ICRS', 100.2417,9.895, 1.1))=1", output_format='csv', output_file='results.csv')
  <Table length=9>
  observation_id
      int64
  --------------
      1342228342
      1342228371
      1342228372
      1342219315
      1342205057
      1342205056
      1342205058
      1342205056
      1342205057

In this example we are doing a circle search of 1.1 degrees in an ICRS (Right ascension [RA], Declination [DEC]) position (100.2417, 9.895).

For more information on how to use ADQL see:
    'https://www.ivoa.net/documents/latest/ADQL.html'

After obtaining the desire ID, download the product of the observation '1342205057' with the instrument 'PACS'.


.. doctest-skip::

  >>> HSA.download_data(observation_id='1342205057', retrieval_type='OBSERVATION', instrument_name='PACS')
  Downloading URL http://archives.esac.esa.int/hsa/whsa-tap-server/data?&retrieval_type=OBSERVATION&observation_id=1342205057&instrument_name=PACS to 1342205057.tar ... [Done]
  '1342205057.tar'


Troubleshooting
===============

If you are repeatedly getting failed queries, or bad/out-of-date results, try clearing your cache:

.. code-block:: python

    >>> from astroquery.esa.hsa import HSA
    >>> HSA.clear_cache()

If this function is unavailable, upgrade your version of astroquery. 
The ``clear_cache`` function was introduced in version 0.4.7.dev8479.

  
Reference/API
=============

.. automodapi:: astroquery.esa.hsa
    :no-inheritance-diagram:


.. testcleanup::

    >>> from astroquery.utils import cleanup_saved_downloads
    >>> cleanup_saved_downloads(['1342195355*', 'results.csv'])