;+ ; NAME: ; oc_ephicy.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: ; eph = oc_ephicy, target, observer, utcStrStart, utcStrEnd, ; dt, neph ; ; 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 ; dt - the increment in time, seconds ; 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 ; 21-March-2005 LAY SwRI ; Changed from procedure to function ; Changed i from float to long ;- function oc_ephicy, target, observer, utcStrStart, utcStrEnd, dt, neph naifinit ; Generate the time list CSPICE_STR2ET, utcStrStart, et0 CSPICE_STR2ET, utcStrEnd, et1 ; Number of steps num = ceil((et1 - et0)/dt) eph1 = single_eph( target, et0, neph, observer=observer) eph = replicate(eph1, num+1) FOR i=0L, num-1 DO BEGIN time = et0 + (i+1)*dt eph1 = single_eph( target, time, neph, observer=observer) eph[i+1] = eph1 ENDFOR neph = num+1 return, eph END ;+