def readluck05(file): names,el,abund,err = \ fxwid.rdfixwid(file,[[0,6],[37,42],[43,48],[49,53]], ['|S10','|S10',np.float,np.float]) idx = (np.where(el == 'C I '))[0] stop c_abund = abund[idx] c_staterr = err[idx] names = names[idx] return names,c_abund,c_staterr
def mkdb(): # metadata.bind.echo = True metadata.bind = "sqlite:///"+os.environ['STARSDB'] # if the file already exists destroy it if os.path.exists(os.environ['STARSDB']): os.system('rm '+os.environ['STARSDB']) #### Add in mydata #### stars = readstars.ReadStars(os.environ['PYSTARS']) idxarr,oidarr = res2id('Comparison/myresults.sim') setup_all(True) for i in range(len(stars.name)): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None #ni abnd normalized to the sun ni_abund = stars.smeabund[i][27]-np.log10(stars.smeabund[i][0])+12.-6.17 Mystars(name=stars.name[i], oid = oid, vsini = round(stars.vsini[i],3), teff = round(stars.teff[i],0), pop_flag = stars.pop_flag[i], vmag = round(stars.vmag[i],3), d = 1/stars.prlx[i], logg = round(stars.logg[i],3), monh = round(stars.monh[i],3), o_nfits = float(stars.o_nfits[i]), c_nfits = float(stars.c_nfits[i]), o_abund_nt = round(stars.o_abund[i],3), c_abund_nt = round(stars.c_abund[i],3), #place holders for the temperature corrected abundances o_abund = round(stars.o_abund[i],3), c_abund = round(stars.c_abund[i],3), fe_abund = round(stars.feh[i],3), ni_abund = round(ni_abund,3), o_staterrlo = round(stars.o_staterr[i,0],3), o_staterrhi = round(stars.o_staterr[i,1],3), c_staterrlo = round(stars.c_staterr[i,0],3), c_staterrhi = round(stars.c_staterr[i,1],3), o_scatterlo = round(stars.o_scatter[i,0],3), o_scatterhi = round(stars.o_scatter[i,1],3), c_scatterlo = round(stars.c_scatter[i,0],3), c_scatterhi = round(stars.c_scatter[i,1],3), o_nierrlo = round(stars.o_nierr[i,0],3), o_nierrhi = round(stars.o_nierr[i,1],3), ) #### Add in Luck Data #### luckname,luckc505,luckc538,luckc659,luckc514,lucko = \ fxwid.rdfixwid('Comparison/Luck06/Luck06py.txt', [[0,10],[31,36],[43,48],[54,59],[65,69],[80,84]], ['|S10',np.float,np.float,np.float,np.float,np.float], empstr='') idxarr,oidarr = res2id('Comparison/Luck06/luckresults.sim') for i in range(len(luckname)): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None carr = np.array([luckc505[i],luckc538[i],luckc659[i],luckc514[i]]) cavg = np.mean(carr) cstd = np.std(carr) Luckstars(name=luckname[i], oid = oid, o_abund = round(lucko[i],3), c_abund = round(cavg,3), c_staterr = round(cstd,3) ) #### Add in Exo Data #### idxarr,oidarr = res2id('Comparison/exoresults.sim') rec = matplotlib.mlab.csv2rec('Comparison/exoplanets-org.csv') for i in range(len(rec['star'])): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None Exo(name=rec['star'][i], oid = oid, msini = round(rec['msini'][i],3), ecc = round(rec['ecc'][i],3), a = round(rec['a'][i],3), per = round(rec['per'][i],3) ) #### Add in Ramirez Data #### idxarr,oidarr = res2id('Comparison/Ramirez07/ramirezresults.sim') names,teff,o,o_err = readramirez('Comparison/Ramirez07/ramirez.dat') for i in range(len(names)): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None Ramstars(name=names[i], oid = oid, teff = round(teff[i],0), o_abund = round(o[i],3), o_err = round(o_err[i],3) ) #### Add in Bensby Data #### idxarr,oidarr = res2id('Comparison/Bensby04/bensby04results.sim') #This abundance has been "n-LTE corrected" meaning shifted 0.1 dex away from #mine! names,o_abund = fxwid.rdfixwid('Comparison/Bensby04/bensby04.dat', [[0,6],[8,13]],['|S10',np.float],empstr='') for i in range(len(names)): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None Ben04(name=names[i], oid = oid, o_abund = round(o_abund[i],3), ) idxarr,oidarr = res2id('Comparison/Bensby06/bensby06results.sim') names,c_abund = readbensby06('Comparison/Bensby06/bensby06.dat') for i in range(len(names)): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None Ben06(name=names[i], oid = oid, c_abund = round(c_abund[i],3), ) idxarr,oidarr = res2id('Comparison/Reddy03/reddy03results.sim') names,feh = fxwid.rdfixwid('Comparison/Reddy03/table1.dat', [[0,6],[17,22]],['|S10',np.float]) names,c_abund,o_abund = fxwid.rdfixwid('Comparison/Reddy03/table5.dat', [[0,6],[7,12],[19,23]], ['|S10',np.float,np.float],empstr='----') for i in range(len(names)): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None Red03(name=names[i], oid = oid, feh = round(feh[i],3), c_abund = round(c_abund[i]+feh[i],3), o_abund = round(o_abund[i]+feh[i],3), ) idxarr,oidarr = res2id('Comparison/Reddy06/reddy06results.sim') names,feh,c_abund,o_abund = fxwid.rdfixwid('Comparison/Reddy06/table45.dat', [[17,23],[24,29],[30,35],[36,41]], ['|S10',np.float,np.float,np.float],empstr='---') for i in range(len(names)): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None Red06(name=names[i], oid = oid, c_abund = round(c_abund[i]+feh[i],3), o_abund = round(o_abund[i]+feh[i],3), ) idxarr,oidarr = res2id('Comparison/Bensby05/bensby05results.sim') names,o_abund = fxwid.rdfixwid('Comparison/Bensby05/table9.dat', [[0,6],[293,299]], ['|S10',np.float],empstr='') for i in range(len(names)): if (idxarr == i).any(): oid = str(oidarr[np.where(idxarr == i)[0][0]]) else: oid = None Ben05(name=names[i], oid = oid, o_abund = round(o_abund[i],3), ) session.commit() session.close()
def simquery(code): """ Generates scripted queries to SIMBAD database. Must rerun anytime the ORDER of the structure changes. Future work: Automate the calls to SIMBAD. """ dir = os.environ['COMP'] files = ['mystars.sim','Luck06/luckstars.sim','exo.sim','Ramirez07/ramirez.sim','Bensby04/bensby.sim','Bensby06/bensby06.sim','Reddy03/reddy03.sim','Reddy06/reddy06.sim','Bensby05/bensby05.sim','Luck05/luck05.sim'] datfiles = ['mystars.sim','Luck06/Luck06py.txt','exo.sim','Ramirez07/ramirez.dat','Bensby04/bensby04.dat','Bensby06/bensby06.dat','Reddy03/table1.dat','Reddy06/table45.dat','Bensby05/table9.dat','Luck05/table7.dat'] for i in range(len(files)): files[i] = dir+files[i] datfiles[i] = dir+datfiles[i] if code == 0: stars = readstars.ReadStars(os.environ['PYSTARS']) names = stars.name simline = names2sim(names,cat='HD') if code == 1: names, c, o = postfit.readluck(datfiles[code]) simline = names2sim(names,cat='') if code == 2: rec = mlab.csv2rec('smefiles/exoplanets-org.csv') names = rec['simbadname'] simline = names2sim(names,cat='') if code == 3: names,a,a,a = starsdb.readramirez(datfiles[code]) simline = names2sim(names,cat='HIP') if code == 4: names,o = starsdb.readbensby(datfiles[code]) simline = names2sim(names,cat='HIP') if code == 5: names,c = starsdb.readbensby06(datfiles[code]) simline = names2sim(names,cat='HD') if code == 6: names = (fxwid.rdfixwid(datfiles[code],[[0,6]],['|S10']))[0] simline = names2sim(names,cat='HD') if code == 7: names = (fxwid.rdfixwid(datfiles[code],[[17,23]],['|S10']))[0] simline = names2sim(names,cat='HIP') if code == 8: names = (fxwid.rdfixwid(datfiles[code],[[0,6]],['|S10']))[0] simline = names2sim(names,cat='HIP') if code == 9: names,x,x = starsdb.readluck05(datfiles[code]) simline = names2sim(names,cat='HD') f = open(files[code],'w') f.writelines(simline) f.close()