@@ -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