;+ ; NAME: ; oc_getstar_ucac2_2006 ; PURPOSE: (one line) ; return lines in an UCAC2 mpos file ; DESCRIPTION: ; return lines in an UCAC2 mpos file given id (id = line number, 1-indexed) ; CATEGORY: ; occultation ; CALLING SEQUENCE: ; star = oc_getstar_ucac2_2006(ids, count=count, VERBOSE=verbose, all=all) ; INPUTS: ; id = list of ids (line numbers) ; OPTIONAL INPUT PARAMETERS: ; none ; KEYWORD INPUT PARAMETERS: ; verbose = print out error messages ; KEYWORD OUTPUT PARAMETERS: ; count = number of lines found ; OUTPUTS: ; the lines for the id's ; COMMON BLOCKS: ; None ; SIDE EFFECTS: ; RESTRICTIONS: ; None ; PROCEDURE: ; MODIFICATION HISTORY: ; January 7, 2006 Leslie Young, SwRI ; Mar 10, 2006 LAY. Added "all", moved into $idl/lyoung ;- ;0 1 2 3 4 ;0123456789012345678901234567890123456789012345 ; 984001505 256280091 1407 21 1 2 1 9409 function oc_getstar_ucac2_2006, ids, count=count, $ VERBOSE=verbose, ALL=all filename = '~/reference/stellar_cat/UCAC2_2006/cpos_07.p' lines = oc_getline_ucac2_2006(ids, count=count, $ VERBOSE=verbose, ALL = all) nline = n_elements(lines) if nline eq 0 then begin count = 0 return, -1 end ; a blank ucac2_2006 structure ucac2_2006 = {record: '', $ ramas:-999L, $ ; right asc.in mas (on ICRF = J2000 system) spmas:-999L, $ ; south-pole distance in mas mag: -999L, $ ; internal UCAC magnitude (about V to R) $ ; in 1/100 sx: -999L, $ ; formal, internal error of mean position $ ; in mas (RA) sy: -999L, $ ; formal, internal error of mean position $ ; in mas (dec) nobs: -999L, $ ; number of observations (CCD frames) $ ; used for mean position flg: -999L, $ ; flag epoch:-999L $ ; mean observion epoch in 1/1000 year after $ ; 1997.0, thus 8328 is 2005.328 } star1 = struct_addfield(oc_star_new(), 'ucac2_2006', ucac2_2006) star = replicate(star1, nline) et0 = (1997.d - 2000.d) * cspice_jyear() ; et for epoch = 0 myear = 1d-3 * cspice_jyear() ; seconds in 1/1000 year mas = !dpi / (180.d * 3600.d * 1d3) ; radian in milliarcsec for i = 0L, nline-1 do begin l = lines[i] if strlen(strtrim(l,2)) gt 0 then begin s = star[i] s.ucac2_2006.record = l ;0 1 2 3 4 ;0123456789012345678901234567890123456789012345 ; 984001505 256280091 1407 21 1 2 1 9409 s.ucac2_2006.ramas = long(strmid(l, 0,strlen(' 984001505'))) s.ucac2_2006.spmas = long(strmid(l,10,strlen(' 256280091'))) s.ucac2_2006.mag = long(strmid(l,20,strlen(' 1407'))) s.ucac2_2006.sx = long(strmid(l,25,strlen(' 21'))) s.ucac2_2006.sy = long(strmid(l,29,strlen(' 1'))) s.ucac2_2006.nobs = long(strmid(l,33,strlen(' 2'))) s.ucac2_2006.flg = long(strmid(l,36,strlen(' 1'))) s.ucac2_2006.epoch = long(strmid(l,38,strlen(' 9409'))) s.idcat = filename s.id = string(ids[i]) s.poscat = s.idcat s.et = et0 + s.ucac2_2006.epoch * myear s.ra = s.ucac2_2006.ramas * mas s.dec = s.ucac2_2006.spmas * mas - !dpi/2. s.raerr = s.ucac2_2006.sx * mas s.decerr = s.ucac2_2006.sy * mas s.magcat = [s.idcat] s.magname = ['UCAC'] s.mag = [s.ucac2_2006.mag/100.d] star[i] = s end endfor star.etpm = star.et + [0,0] star.ra_etpm = star.ra star.dec_etpm = star.dec star.radot = 0. star.decdot = 0. star.radoterr = 15*mas/31557600. ; 100 mas/year star.decdoterr = 15*mas/31557600. ; 100 mas/year return, star end