CSPICE_LTIME computes the transmit (or receive) time of
a signal at a specified target, given the receive (or transmit)
time at a specified observer. The elapsed time between transmit
and receive is also returned.
For important details concerning this module's function, please refer to
the CSPICE routine ltime_c.
Given:
etobs a double precision scalar defining the epoch
in ephemeris seconds (TDB) of a signal at some observer
obs the scalar integer NAIF ID code of the observer
dir a character string pictograph defining the
direction the signal travels, to target
from observer ">", or from the target to the
observer "<"
targ the scalar integer NAIF ID code of the target
the call:
cspice_ltime, etobs, obs, dir, targ, ettarg, elapsd
returns:
ettarg the double precision scalar value defining the
epoch at which the electromagnetic signal is "at" the
target body, expressed in ephemeris seconds (TDB)
Note ettarg is computed using only Newtonian
assumptions about the propagation of light.
elapsd the double precision scalar defining the number
interval of ephemeris seconds (TDB) between
transmission and receipt of the signal
elapsd = abs( etobs  ettarg )
Any numerical results shown for this example may differ between
platforms as the results depend on the SPICE kernels used as input
and the machine specific arithmetic implementation.
;;
;; Load an SPK, PCK, and leapseconds kernel
;;
cspice_furnsh, 'standard.tm'
;;
;; Suppose a signal originates from Earth towards the
;; the Jupiter system barycenter. Define the NAIF IDs
;; for the observer, Earth (399), the target, Jupiter
;; barycenter (5), and time of interest.
;;
OBS = 399
TARGET = 5
TIME_STR = 'July 4, 2004'
;;
;; Convert the transmission time to ET.
;;
cspice_str2et, TIME_STR, et
;;
;; Determine the arrival time and the time for propagation.
;;
cspice_ltime, et, OBS, ">", TARGET, arrive, ltime
;;
;; Convert the arrival time (ET) to UTC.
;;
cspice_et2utc, arrive, 'C', 3, arrive_utc
;;
;; Output the results.
;;
print, 'Transmission at (UTC) : ', TIME_STR
print, 'The signal arrived at (UTC) : ', arrive_utc
print, 'Time for propagation (secs) : ', ltime
print
;;
;; Now assume the signal originated at Jupiter barycenter,
;; received by Earth at TIME_STR. Determine the transmission
;; time and the time for propagation.
;;
cspice_ltime, et, OBS, "<", TARGET, receive, ltime
;;
;; Convert the reception time (ET) to UTC.
;;
cspice_et2utc, receive, 'C', 3, receive_utc
;;
;; Output the results.
;;
print, 'Reception at (UTC) : ', TIME_STR
print, 'The signal sent at (UTC) : ', receive_utc
print, 'Time for propagation (secs) : ', ltime
IDL outputs for the transmission '>' case:
Transmission at (UTC) : July 4, 2004
The signal arrived at (UTC) : 2004 JUL 04 00:48:38.717
Time for propagation (secs) : 2918.7170
IDL outputs for the reception '<' case:
Reception at (UTC) : July 4, 2004
The signal sent at (UTC) : 2004 JUL 03 23:11:21.248
Time for propagation (secs) : 2918.7524
None.
ICY.REQ
Icy Version 1.0.0, 16JUN2003, EDW (JPL)
Compute uplink and downlink light time
