SpiceDouble unitim_c ( SpiceDouble epoch,
ConstSpiceChar * insys,
ConstSpiceChar * outsys )
Transform time from one uniform scale to another. The uniform
time scales are TAI, TDT, TDB, ET, JED, JDTDB, JDTDT.
Variable I/O Description
-------- --- --------------------------------------------------
epoch I An epoch to be converted.
insys I The time scale associated with the input epoch.
outsys I The time scale associated with the function value.
The function returns the d.p. in outsys that is equivalent to the
epoch on the insys time scale.
epoch is an epoch relative to the insys time scale.
insys is a time scale. Acceptable values are:
"TAI" International Atomic Time.
"TDB" Barycentric Dynamical Time.
"TDT" Terrestrial Dynamical Time.
"ET" Ephemeris time (in the SPICE system, this is
equivalent to TDB).
"JDTDB" Julian Date relative to TDB.
"JDTDT" Julian Date relative to TDT.
"JED" Julian Ephemeris date (in the SPICE system
this is equivalent to JDTDB).
The routine is not sensitive to the case of the
characters in insys; "tai" "Tai" and "TAI" are
all equivalent from the point of view of this routine.
outsys is the time scale to which epoch should be converted.
Acceptable values are the same as for insys. The
routine is not sensitive to the case of outsys.
The function returns the time in the system specified by outsys
that is equivalent to the epoch in the insys time scale.
1) The kernel pool must contain the variables:
If these are not present, the error SPICE(MISSINGTIMEINFO)
will be signalled. (These variables are typically inserted
into the kernel pool by loading a leapseconds kernel with
the SPICE routine furnsh_c.)
2) If the names of either the input or output time types are
unrecognized, the error SPICE(BADTIMETYPE) will be signalled.
4) The error SPICE(EMPTYSTRING) is signalled if either input
string does not contain at least one character, since an
empty input string cannot be converted to a Fortran-style string.
5) The error SPICE(NULLPOINTER) is signalled if either input string
pointer is null.
We use the term uniform time scale to refer to those
representations of time that are numeric (each epoch is
represented by a number) and additive. A numeric time
system is additive if given the representations, E1 and E2,
of any pair of successive epochs, the time elapsed between
the epochs is given by E2 - E1.
Given an epoch in one of the uniform time scales
specified by insys, the function returns the equivalent
representation in the scale specified by outsys. A list
of the recognized uniform time scales is given in the
detailed input for insys.
To convert an epoch with respect to the International Atomic
Time (TAI) scale to ET (Barycentric Dynamical Time), make the
et = unitim_c ( tai, "TAI", "ET" );
The appropriate variable must be loaded into the SPICE kernel pool
(normally by loading a leapseconds kernel with furnsh_c) prior to
calling this routine.
H.A. Neilan (JPL)
W.L. Taber (JPL)
-CSPICE Version 1.1.1, 14-AUG-2006 (EDW)
Replace mention of ldpool_c with furnsh_c.
-CSPICE Version 1.1.0, 08-FEB-1998 (NJB)
Re-implemented routine without dynamically allocated, temporary
-CSPICE Version 1.0.0, 25-OCT-1997 (EDW)
Transform between two uniform numeric time systems
Transform between two additive numeric time systems
Convert one uniform numeric time system to another
Convert one additive numeric time system to another