;+ ; NAME: ; STARSTRING ; ; PURPOSE: ; Convert starlist structure into a Keck format starlist string. ; ; CALLING SEQUENCE: ; Result = STARSTRING(slist, ttstr) ; ; INPUTS: ; slist - A structure or structure array, in the format output by ; READSTARLIST.pro ; ; OUTPUT: ; Result = A string in standard Keck starlist format ; ; OPTIONAL OUTPUTS: ; ttstr = A string in standard Keck starlist format recording ; tip-tilt reference star data. ; ; PROCEDURES USED: ; Procedures: COPY_STRUCT (IDL Astronomy User Library) ; ; MODIFICATION HISTORY: ; Written 01/05 by A.H. Bouchez, WM Keck Observatory. ;- FUNCTION STARSTRING, slist, ttstr tmp = { targ: '', $ ; Target name rah: 0, $ ; RA hours ram: 0, $ ; RA minutes ras: 0., $ ; RA seconds design: '', $ ; Dec sign (+1 or -1) ded: 0, $ ; Dec degrees dem: 0, $ ; Dec minutes des: 0., $ ; Dec seconds equ: 0., $ ; Equinox comment: ''} ; All data after equinox fmt = '(A15,X,I2.2,X,I2.2,X,F6.3,X,A1,I2.2,X,I2.2,X,F5.2,X,F6.1,X,A)' COPY_STRUCT, slist, tmp result = STRING(tmp, f=fmt) if N_PARAMS() gt 1 then begin tmp.targ = slist.ttref tmp.rah = FIX(slist.ttraj2000 / 15.) tmp.ram = FIX( (slist.ttraj2000 - tmp.rah*15.) * 60/15. ) tmp.ras = (slist.ttraj2000 - (tmp.rah*15.) - (tmp.ram*15./60) ) * 3600/15. if slist.ttdej2000 ge 0 then $ tmp.design = '+' else tmp.design = '-' tmp.ded = ABS( FIX(slist.ttdej2000) ) tmp.dem = ABS( FIX( (ABS(slist.ttdej2000) - tmp.ded) * 60. ) ) tmp.des = ABS( (ABS(slist.ttdej2000) - tmp.ded - tmp.dem/60.) * 3600. ) tmp.equ = 2000.0 tmp.comment = slist.ttcomment ttstr = STRING(tmp, f=fmt) endif RETURN,result END