;+ ; NAME: ; oc_ephicy_arclen.Pro ; ; PURPOSE: ; Returns a structure with the following information: ; {et, ra, dec, radot, decdot, ephinfo} where ephinfo ; contains the observer range and observer range rate. ; ; DESCRIPTION: ; Calculates the ra, dec, radot, decdot, observer range ; and range rate using the NAIF ICY routines. ; ; CALLING SEQUENCE: ; oc_ephicy_arclen, target, observer, utcStrStart, utcStrEnd, ; arclen, eph ; ; INPUTS: ; target - the target for the ephemeris, i.e. "Pluto" ; observer - the observer location, i.e. "Earth" ; utcStrStart - the UTC string of the start time, ; i.e. "January 11, 2006 00:00:00" ; utcStrEnd - the UTC string of the end time ; arclen - the increment in sky-plane distance traveled ; by the target, radians ; OUTPUTS: ; eph - a structure with the following elements ; eph.ra - the Pluto RA in radians ; eph.dec - the Pluto Dec in radians ; eph.radot - the RA rate in radians/s ; (d(ra)*cos(dec)/dt) ; eph.decdot -- the Dec rate in radians/s ; eph.ephinfo - the observer range (in km) ; and range rate (km/s). ; ; ; REVISON HISTORY: ; 17-January-2005 CBO SwRI ;- pro oc_ephicy_arclen, target, observer, utcStrStart, utcStrEnd, arclen, eph naifinit ; Generate the time list CSPICE_STR2ET, utcStrStart, et0 CSPICE_STR2ET, utcStrEnd, et1 count = 0L single_eph, target, et0, eph1, observer=observer tmp = eph1 time = et0 WHILE time LT et1 DO BEGIN dt = arclen/SQRT(eph1.radot^2 + eph1.decdot^2) time = time + dt count = count + 1 single_eph, target, time, eph1, observer=observer tmp=[tmp,eph1] ENDWHILE eph = tmp END ;+