Skip to content

Commit e40f006

Browse files
committed
add VLA handling
1 parent cc3dcc9 commit e40f006

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

astroquery/nrao/core.py

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -335,10 +335,16 @@ def query_async(self, payload, *, get_query_payload=False,
335335
return result
336336

337337

338-
def _get_data(self, solr_id, email=None):
338+
def _get_data(self, solr_id, email=None, workflow='runBasicMsWorkflow',
339+
apply_flags=True
340+
):
339341
"""
340342
Defining this as a private function for now because it's using an
341343
unverified API
344+
345+
Parameters
346+
----------
347+
workflow : 'runBasicMsWorkflow', "runDownloadWorkflow"
342348
"""
343349
url = f'{self.archive_url}/portal/#/subscanViewer/{solr_id}'
344350

@@ -369,10 +375,17 @@ def _get_data(self, solr_id, email=None):
369375

370376
instrument = ('VLBA' if 'vlba' in solr_id.lower() else
371377
'VLA' if 'vla' in solr_id.lower() else
378+
'EVLA' if 'nrao' in solr_id.lower() else
372379
'GBT' if 'gbt' in solr_id.lower() else None)
373380
if instrument is None:
374381
raise ValueError("Invalid instrument")
375382

383+
if instrument == 'VLBA':
384+
downloadDataFormat = "VLBARaw"
385+
elif instrument in ('VLA', 'EVLA'):
386+
# there are other options!
387+
downloadDataFormat = 'MS'
388+
376389
post_data = {
377390
"emailNotification": email,
378391
"requestDescription": f"{instrument} Download Request",
@@ -381,12 +394,24 @@ def _get_data(self, solr_id, email=None):
381394
"p_project": project_code,
382395
"productLocator": locator,
383396
"requestCommand": "startVlaPPIWorkflow",
384-
"p_workflowEventName": "runDownloadWorkflow",
385-
"p_downloadDataFormat": f"{instrument}Raw",
397+
"p_workflowEventName": workflow,
398+
"p_downloadDataFormat": downloadDataFormat,
386399
"p_intentsFileName": "intents_hifv.xml",
387400
"p_proceduresFileName": "procedure_hifv.xml"
388401
}
389402

403+
if instrument in ('VLA', 'EVLA'):
404+
post_data['p_applyTelescopeFlags'] = apply_flags
405+
casareq = self._request('GET',
406+
'https://data.nrao.edu/archive-service/restapi_get_casa_version_list',
407+
cache=False
408+
)
409+
casareq.raise_for_status()
410+
casavdata = json.loads(casareq.json())
411+
for casav in casavdata['casa_version_list']:
412+
if 'recommended' in casav['version']:
413+
post_data['p_casaHome'] = casav['path']
414+
390415
presp = self._request('POST',
391416
'https://data.nrao.edu/rh/submission',
392417
data=post_data,

0 commit comments

Comments
 (0)