#!/usr/bin/env python
"""Test ALMA archive query on a few UC HII candidates; dump columns."""
import numpy as np
from astropy.table import Table
from astropy.coordinates import SkyCoord
import astropy.units as u
from astroquery.alma import Alma
LOG=open('alma_test.log','w')
def p(*a):
    s=' '.join(str(x) for x in a);print(s);print(s,file=LOG);LOG.flush()

uc=Table.read('uchii_candidates.fits')
uc.sort('Dpc')
p('UC HII candidates:',len(uc))
# build coords
def sky(t):
    r=t['RAJ2000'];d=t['DEJ2000']
    return SkyCoord([x.decode() if isinstance(x,bytes) else str(x) for x in r],
                    [x.decode() if isinstance(x,bytes) else str(x) for x in d],unit=(u.hourangle,u.deg))
c=sky(uc)
a=Alma()
a.archive_url='https://almascience.eso.org'
src=uc[0]; sc=c[0]
p('Test source:',str(src['Name']),'glon',round(float(src['GLON']),2),'D',round(float(src['Dpc']),3),'pc dist',float(src['Dist']),'kpc')
res=a.query_region(sc, radius=30*u.arcsec)
p('nrows',len(res),'ncols',len(res.colnames))
p('COLUMNS:',res.colnames)
if len(res):
    for col in ['obs_id','member_ous_uid','proposal_id','band_list','frequency','spatial_resolution','velocity_resolution','frequency_resolution','sensitivity_10kms','science_keyword','target_name','t_min','antenna_arrays']:
        if col in res.colnames:
            vals=list(res[col][:3])
            p(f'  {col}: {vals}')
LOG.close()
