Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.95 KB | None | 0 0
  1. from astroquery.simbad import Simbad
  2. from astropy.coordinates import SkyCoord
  3. import astropy.units as u# Berdyugin2001
  4. colnames = ['StarName','gap1','PD','gap2','r_PD','gap3','e_Pol','gap4','theta','gap5','e_theta','gap6',\
  5.             'Dist','gap7','r_Dist','gap8','GLON','gap9','GLAT','gap10','SpType','gap11','HD','gap12',\
  6.             'HDnum','gap13','SAO','gap14','SAOnum']collengths = [len('BD+21.2377p'),1,len('0.21'),1,1,1,len('0.06'),1,len('  52'),1,len(' 6'),1,\
  7.               len(' 589'),1,1,1,len('237.87'),1,len(' 76.51'),3,\
  8.               len('K1III'),2,len('HD112874'),1,3,1,len('82769')]
  9. fop = open('Berdyugin2001/table1.dat')
  10. rows = []
  11. for line in fop.readlines():
  12.     rowdict = {}
  13.     traversed = 0    if 'Var' in line:
  14.         continue # Skip stars that are known to be variable    for ii in range(len(colnames)):
  15.         try:
  16.             val = line[traversed:traversed+collengths[ii]]
  17.             if ii > 0: # to keep the name column as string
  18.                 try:
  19.                     rowdict[colnames[ii]]= float(val)
  20.                 except:
  21.                     rowdict[colnames[ii]]= val
  22.             else:
  23.                 rowdict[colnames[ii]]= val
  24.             traversed += collengths[ii]
  25.         except IndexError:
  26.             rowdict[colnames[ii]]=line[traversed:]
  27.     #print rowdict['StarName'].replace('.',' ')
  28.     # Query Simbad to get right coords
  29.     result_table = Simbad.query_object(rowdict['StarName'].replace('.',' '))
  30.     if result_table == None: # Then the query did not find a match, skip this source
  31.         continue
  32.     rahms = result_table['RA'][0].split()
  33.     decdms = result_table['DEC'][0].split()
  34.     star = SkyCoord('%sh%sm%ss'%(rahms[0],rahms[1],rahms[2]), '%sd%sm%ss'%(decdms[0],decdms[1],decdms[2]),frame='icrs')
  35.     rowdict['ra'] = star.icrs.ra.deg
  36.     rowdict['dec'] = star.icrs.dec.deg
  37.     rowdict['l'] = star.galactic.l.deg
  38.     rowdict['b'] = star.galactic.b.deg
  39.     rows.append(rowdict)berd2001_tab = rows
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement