Mars Reconnaissance Orbiter
Software Interface Specification
Interface
Title: SPICE
Leapseconds Kernel (LSK)
Module
ID: SIS-NAF006-MRO
Module
Type (REFerence Only or MISsion-specific info included): REF
Reference
Module ID: NAIF Document No. 373 Date:
Approvals
Generating Subsystem:
Charles Acton _______________________________________________
Cog E Date
Receiving Subsystems:
APSS
Curt Eggemeyer _______________________________________________
Cog E Date
MNS
Tung-Han You _______________________________________________
Cog E Date
SEPA
Mike Haggard _______________________________________________
Cog E Date
DMAS
Young Lee _______________________________________________
Cog E Date
DACS
Mike Levesque _______________________________________________
Cog E Date
POSS
Daniel Wenkert _______________________________________________
Cog E Date
GDS System Engineer:
Ground Data System (GDS)
Magdi Carlton _______________________________________________
GDS SE Date
Multimission
Software Interface Specification (SIS)
SPICE
Leapseconds Kernel
LSK
NAIF Document No. 373
Version 1.0
Prepared
by: C. Acton
Navigation and
Ancillary Information Facility (NAIF)
Jet Propulsion
Laboratory
National
Aeronautics and Space Administration
PURPOSE: This SIS describes the format and content of
SPICE Leapseconds Kernel (LSK) files. The LSK file is used for converting
between Universal Time Coordinated (UTC, also frequently called Spacecraft
Event Time, or SCET) and Barycentric Dynamical Time (TDB), formerly called
Ephemeris Time (ET) prior to 1984. It also describes and gives examples of how
to use NAIF Toolkit ANSI FORTRAN 77 subroutines to access and use the data in a
SPICE LSK file.
CHANGE LOG
|
Version |
Date |
Page Nos. |
Reason |
|
1.0 |
25 May 2000 |
All |
New
multimission version. |
|
|
|
|
|
|
|
|
|
|
List of Acronyms
ANSI American
National Standards Institute
ASCII American
Standard Code for Information Interchange
CCSDS Consultative
Committee on Space Data Standards
CK SPICE
C-kernel
ET Ephemeris
Time
JPL Caltech/Jet
Propulsion Laboratory
FTP File
Transfer Protocol
FTS SFOC
File Transfer Service
LSK SPICE
Leapseconds Kernel
MGSO Multimission
Ground Systems Office
NAIF Navigation
and Ancillary Information Facility
PDB Project
Data Base
PDS Planetary
Data System
SFDU Standard
Formatted Data Unit
SIS Software
Interface Specification
SPICE S-,
P-, I-, C- and E-kernels; the principal logical data components of a particular NASA ancillary
information system
TDB Barycentric
Dynamical Time
TMOD Telecommunications
and
VMS Digital
Equipment Corporation's Virtual Memory Operating System
Section 1
General
Description
1.1 Purpose of Document
This
Software Interface Specification (SIS) module specifies the structure and
content of SPICE leapseconds kernel files (LSK). It also provides an overview
of software provided in the SPICE Toolkit for using the data in LSK files.
1.2 Scope
This is
a multimission SIS, applicable to all projects and processes that use the SPICE
ancillary information system.
1.3 Applicable Documents
The
following reference documents are all available within each copy of the SPICE
Toolkit.
|
No. |
Name |
NAIF Doc. No. |
|
1 |
Time Required |
335 |
|
2 |
Kernel Required |
318 |
1.4 Functional Description
SPICE
LSK files contain data needed to convert a specific epoch of time measured in
the Universal Time Coordinated (UTC) system to the equivalent epoch measured in
the Barycentric Dynamical Time (TDB) system, and vice-versa. TDB time is the
independent variable used in several SPICE files, including ephemerides of
planets and their satellites, comets and asteroids (SPK). (In the remainder of
this SIS––and throughout the SPICE system documentation––the acronym ET is used
in place of TDB.)
For some
flight projects, conversion between Spacecraft Clock Time (SCLK) and ET
requires use of an LSK file as well as a SPICE Spacecraft Clock Coefficients
Kernel (SCLK).
LSK
files are a generic product, produced by the Navigation and Ancillary
Information Facility (NAIF) at JPL. At any given time there is only one LSK
file that is current
1.4.1 Data Source, Destination
and Transfer Method
An LSK
file may be created or modified on any computer having a text editing
capability. A new LSK file is always made by adding a new data line to an
existing LSK file, and then updating the appropriate metadata.
LSK
files provided to a flight project are typically placed in the project's
general database or on a SPICE server to allow access by a wide assortment of
customers. SPK files are transferred to the project's database or SPICE server
using file transfer protocol (ftp) or direct copy.
1.4.2 Labeling and Identification
LSK
files may begin with pertinent descriptive information, generally called
metadata. This could include label information that would subsequently be used
in the construction of SFDU K-header labels or Planetary Data System (PDS)
labels. Where used, the specific content and structure of these labels will be
determined by the flight project or the PDS.
The LSK
file naming convention will be selected by the file producer (NAIF), or by the
flight project. It is recommended that LSK file names use “.TLS” or “.tls” as
the file name extension.
1.4.3 Assumptions and
Constraints
Applications
programs should read data from LSK files only by using the appropriate
subroutines provided in the NAIF Toolkit. Refer to Applicable Document No. 1
for a detailed discussion of how to use LSK files.
Section 2
Environment
2.1 Hardware
Characteristics and Limitations
In
excess of 650 Kbytes of memory is required to utilize the NAIF Toolkit on a CPU
that does not provide virtual memory. A PC running DOS will not be able to use
the Toolkit. With that one exception, NAIF software should work properly on any
machine that correctly supports the ANSI FORTRAN 77 or ANSI C standard.
The
SPICE Toolkit (either FORTRAN or C) has been built and tested on numerous
platforms. It normally is delivered with all included library and program
modules built and ready to use. In some cases the delivery script provided with
the Toolkit goes through a complete build process.
2.2 Interface Medium and
Characteristics
LSK
files may be transferred between computers using any text transfer mechanism
that preserves the resultant file as a text file.
2.3 Deformatting
LSK
files are simple text files that may be used without preparation unless the
file has been wrapped in SFDU structures. If the file exists as an SFDU the
SFDU wrappers must first be removed using some TMOD utility or other means.
2.4 Calling Sequence
Data in
LSK files are accessed using modules provided in the SPICE library (SPICELIB or
CSPICE) found in the SPICE Toolkit. Figure 2-1 pictorially summarizes these
uses. See Applicable Document Nos. 1 and 2 for a full discussion and examples
of accessing and using data in LSK files.
LSK
files are also used by several NAIF Toolkit programs, such as SPACIT and some
of the cookbook programs. The User's Guides for these programs indicate if an
LSK file is needed.
2.5 Failure Protection,
Detection and Recovery Features
N/A
2.6 End-Of-File Convention
LSK
files are terminated with the normal text end of file convention of the computer
on which they are produced.
2.7 Utility Programs
The NAIF
Toolkit contains a utility program , CHRONOS, that uses LSK and other SPICE
kernels to accomplish a large set of time conversions.

Figure 2-1
Time
Conversion Subroutines Available within the SPICE Toolkit
Section 3
Data Flow
Characteristics
3.1 Operational
Characteristics
3.1.1 Generation Method and
Frequency
LSK
files are text format files containing only ASCII data. They are constructed or updated using a text editor.
LSK files can be structured as CCSDS Standard Format Data Units (SFDU) where so
required.
An LSK
file is normally generated by updating the current LSK file. An update is
effected by adding a record accounting for a new leapsecond as announced by the
International Earth Rotation Service (IERS). Internal label information that
documents when and by whom an update was made, and any product unique
identifiers, must be revised at the same time.
3.1.2 Time Span of Product
An LSK
file is applicable until such time as a new leapsecond declared by the IERS
takes effect. New leapseconds generally take effect on January 01 at
WARNING - WARNING - WARNING - WARNING - WARNING
The need
to add (or subtract) a leapsecond cannot be predicted and is announced by the
IERS only a few months in advance of the effective date. SPICE LSK files
accessed by SPICELIB software are not
designed to return a warning flag or to cause application program termination
at the next likely date for a new leapsecond to take effect. The user is responsible for ensuring that
the LSK file in use is current.
3.2 Data Volume
An LSK
files requires about 5 Kbytes.
3.3 Flow Rate
An
updated LSK is provided once every six months, maximum.
Section
4
Detailed Data
Object Definition
4.1 Structure and
Organization Overview
LSK
files are text format files as defined in Applicable Document No.1.They may or
may not include SFDU structures. LSK files should include informative internal
labels (metadata).
If an
SFDU version of an LSK file has been received, SPICE software will ignore the
SFDU records.
NAIF
Toolkit software provided to read an LSK file uses the text format LSK file;
there is not a binary equivalent as is the case for SPICE SPK and CK files.
4.2 Data Format and
Definition
The next
sections describe the structure of LSK files. Under most circumstances those
who intend only to read an LSK file need understand few if any structure
details: the user's interface to an LSK file is through SPICELIB or CSPICE
module argument lists. Examples of this interface are found in Applicable
Document No. 1.
4.2.1 LSK File Format
An LSK
file contains a small amount of numeric data given in KEYWORD = VALUE structures. The data section, delimited by a
\begindata token, may be preceded (or followed) by explanatory text delimited
with a \begintext token. A typical SPICE LSK kernel file might be structured as
follows.
\begintext
(explanatory text)
\begindata
(LSK data, in K=V notation)
4.2.2 Sample LSK File
LEAPSECONDS KERNEL FILE
===========================================================================
Modifications:
--------------
1998, Jul 17 WLT Modified file to account for the leapsecond that
will occur on
1997, Feb 22 WLT Modified file to account for the leapsecond that
will occur on
1995, Dec 14 KSZ
Corrected date of last leapsecond from
to
1995, Oct 25 WLT Modified file to account for the leapsecond that
will occur on
1994, Jun 16 WLT Modified file to account for the leapsecond on
1993, Feb. 22 CHA Modified file to account for the leapsecond on
1992, Mar. 6 HAN Modified file to account for the leapsecond on
1990, Oct. 8 HAN Modified file to account for the leapsecond on
Explanation:
------------
The contents of this file are used by the routine DELTET to compute the
time difference
[1] DELTA_ET = ET - UTC
the increment to be applied to UTC to give ET.
The difference between UTC and TAI,
[2] DELTA_AT = TAI - UTC
is always an integral number of seconds. The value of DELTA_AT was 10
seconds in January 1972, and increases by one each time a leap second
is declared. Combining [1] and [2] gives
[3] DELTA_ET = ET - (TAI - DELTA_AT)
= (ET - TAI) + DELTA_AT
The difference (ET - TAI) is periodic, and is given by
[4] ET - TAI = DELTA_T_A + K sin E
where DELTA_T_A and K are constant, and E is the eccentric anomaly of the
heliocentric orbit of the Earth-Moon barycenter. Equation [4], which ignores
small-period fluctuations, is accurate to about 0.000030 seconds.
The eccentric anomaly E is given by
[5] E = M + EB sin M
where M is the mean anomaly, which in turn is given by
[6] M = M + M t
0 1
where t is the number of ephemeris seconds past J2000.
Thus, in order to compute DELTA_ET, the following items are necessary.
DELTA_TA
K
EB
M0
M1
DELTA_AT after each leap second.
The numbers, and the formulation, are taken from the following sources.
1) Moyer, T.D., Transformation from Proper Time on Earth to
Coordinate Time in Solar System Barycentric Space-Time Frame
of Reference, Parts 1 and 2, Celestial Mechanics 23 (1981),
33-56 and 57-68.
2) Moyer, T.D., Effects of Conversion to the J2000 Astronomical
Reference System on Algorithms for Computing Time Differences
and Clock
Rates, JPL IOM 314.5--942,
The variable names used above are consistent with those used in the
Astronomical Almanac.
\begindata
DELTET/DELTA_T_A = 32.184
DELTET/K = 1.657D-3
DELTET/EB = 1.671D-2
DELTET/M = ( 6.239996D0 1.99096871D-7 )
DELTET/DELTA_AT = ( 10, @1972-JAN-1
11, @1972-JUL-1
12, @1973-JAN-1
13, @1974-JAN-1
14, @1975-JAN-1
15, @1976-JAN-1
16, @1977-JAN-1
17, @1978-JAN-1
18, @1979-JAN-1
19, @1980-JAN-1
20, @1981-JUL-1
21, @1982-JUL-1
22, @1983-JUL-1
23, @1985-JUL-1
24, @1988-JAN-1
25, @1990-JAN-1
26, @1991-JAN-1
27, @1992-JUL-1
28, @1993-JUL-1
29, @1994-JUL-1
30, @1996-JAN-1
31, @1997-JUL-1
32, @1999-JAN-1 )