Mars Reconnaissance Orbiter

Software Interface Specification


Interface Title:  SPICE Leapseconds Kernel (LSK)

Mission:  MRO                                                                       Date:12/17/03

Module ID:  SIS-NAF006-MRO                                                

Module Type (REFerence Only or MISsion-specific info included):  REF


Reference Module ID:  NAIF Document No. 373               Date: 5/25/00


Approvals

Generating Subsystem:                    

 

Mission Navigation Subsystem/NAIF Element             

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 Mission Operations Directorate

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 Reading

335

2

Kernel Required Reading

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 00:00:00, and occasionally on July 01 at 00:00:00. These updates are not deterministic.

 

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 December 31, 1998.

                    

1997, Feb  22   WLT  Modified file to account for the leapsecond that

                     will occur on June 30, 1997.

                    

1995, Dec  14   KSZ  Corrected date of last leapsecond from 1-1-95

                     to 1-1-96.

 

1995, Oct  25   WLT  Modified file to account for the leapsecond that

                     will occur on Dec 31, 1995.

 

1994, Jun  16   WLT  Modified file to account for the leapsecond on

                     June 30, 1994.

 

1993, Feb. 22  CHA   Modified file to account for the leapsecond on

                     June 30, 1993.

 

1992, Mar. 6   HAN   Modified file to account for the leapsecond on

                     June 30, 1992.

 

1990, Oct. 8   HAN   Modified file to account for the leapsecond on

                     Dec. 31, 1990

 

 

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, 1 October 1985.

 

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 )