Skip Navigation: Avoid going through Home page links and jump straight to content
NASA Logo    + View the NASA Portal  
NAIF

The SPICE Concept

The Navigation and Ancillary Information Facility (NAIF), acting under the directions of NASA's Planetary Science Division, has built an information system named "SPICE" (Spacecraft, Planet, Instrument, C-matrix, Events) to assist NASA scientists in planning and interpreting scientific observations from space-borne instruments, and to assist NASA engineers involved in modeling, planning and executing activities needed to conduct planetary exploration missions. Examples of what can be computed using SPICE are shown in this and this graphics.

The use of SPICE extends from mission concept development through the post-mission data analysis phase, including help with correlation of individual instrument data sets with those from other instruments on the same or on other spacecraft.

The primary SPICE data sets are often called "kernels" or "kernel files." SPICE kernels are composed of navigation and other ancillary information providing precision observation geometry for use by the planetary science and engineering communities. SPICE kernels are produced by the most knowledgeable sources of such information, usually located at a mission operations center. SPICE kernels should include or be accompanied by metadata—consistent with flight project data system and SPICE standards—that provide pedigree and other descriptive information needed by prospective users.

The SPICE system's logical components and the actual data files—the kernels—used to realize those components are summarized below.

S- Spacecraft ephemeris, given as a function of time. (SPK)

P- Planet, satellite, comet, or asteroid ephemerides, or more generally, location of any target body, given as a function of time. (also SPK)

The P component also logically includes certain physical, dynamical and cartographic constants for target bodies, such as size and shape specifications, and orientation of the spin axis and prime meridian. (PCK)

I- Instrument information containing descriptive data peculiar to the geometric aspects of a particular scientific instrument, such as field-of-view size, shape and orientation parameters. (IK)

C- Orientation information, containing a transformation, traditionally called the "C-matrix," which provides time-tagged pointing (orientation) angles for a spacecraft bus or a spacecraft structure upon which science instruments are mounted. The C component may also include angular rate data for that structure. (CK)

E- Events information, summarizing mission activities - both planned and unanticipated. Events data are contained in the SPICE E-kernel file set, which consists of three components: Science Plans, Sequences, and Notes. (EK)

(Note: the Events kernel is rarely used.)

Some additional data products are also important components of the SPICE system, even if not contained in the "SPICE" acronym.

A frames kernel (FK) contains specifications for the assortment of reference frames that are typically used by flight projects. This file also includes mounting alignment information for instruments, antennas and perhaps other structures of interest.

Spacecraft clock (SCLK) and leap seconds (LSK) kernels are also part of SPICE; these are used in converting time tags between various time measurement systems.

A digital shape model kernel (DSK), with separate designs for both small, irregularly shaped bodies such as asteroids and comet nuclei, and for large, more uniformly shaped bodies such as the Moon, Earth and Mars, offers the possibility of using higher fidelity shape models within SPICE for those (few) bodies for which scientists have calculated detailed shape. When they exist, a DSK can often be used in place of the size and shape portion of a PCK.

Perhaps the "SPICE" acronym should have been "SPICES," with the final "S" standing for "Software." The SPICE system includes the SPICE Toolkit, a large collection of allied software. The principal component of this Toolkit is a library of application program interfaces (APIs, sometimes called subroutines or modules) needed to read the kernel files and to calculate observation geometry parameters of interest to scientists —items such as range, LAT/LON, and lighting angles. Some SPICE APIs—those comprising the geometric event finder subsystem—can be used to find times when certain geometric conditions occur (e.g. occultation) or when certain geometric parameters are in a stated range or have reached a maximum or minimum.

Users integrate a few SPICE Toolkit APIs into their own application programs to compute needed observation geometry parameters or times of geometric events.

The SPICE Toolkit was originally implemented in ANSI FORTRAN 77, but is now available in C, IDL, MATLAB and Java Native Interface as well. Third parties offer Toolkits in Python, Ruby, Swift and Julia. (Maybe yet others, too?)

NAIF has designed the SPICE architecture with portability and multimission application as principal goals. Because extensive user-focused documentation, tutorials and examples are provided to customers, with a reasonable learning effort the system can be confidently used by the full spectrum of the space science community on mission after mission.

A flight project's mission operations center concentrates on producing, cataloging and distributing complete and accurate kernels on a timely basis. Kernel updates should be made promptly when new or improved data become available. Flight project team members obtain those kernels of interest, using them in application programs hosted at their home sites to compute needed observation geometry information. Users can even update some kernels and produce their own versions of other kernels to support their own analyses or to provide their colleagues with any improvements in ancillary information resulting from their work.

Each flight project delivers well documented copies of all SPICE kernels to the appropriate permanent archive facility, assuring ready availability of these data for future users. Ideally this archive is open to the international community of scientists and engineers. User-produced kernels may also be similarly archived, subject to passing a peer review. For NASA planetary missions, the NAIF Node of NASA's Planetary Data System is the archive site—this archive is open to all.

While science data analysis was the original focus, SPICE is now frequently used for mission engineering and for planning science observations. In these cases the observer could be an in-the-future "predict" spacecraft ephemeris produced by a mission design organization, a terrestrial telescope, or a user-provided instrument location. "Predict" versions of other SPICE kernels are also often made to help simulate a full data processing system. With this flexibility scientists may use SPICE throughout the experiment life cycle—from mission concept development, to mission engineering, to detailed observation design, to instrument data analysis and finally to correlation of results with those from other missions.

A large set of core SPICE components has been in place for many years. Extension and adaptation of this core system to encompass broader functionality and easier use is an ongoing endeavor. This work includes provision of some broadly useful application programs and development of additional kernel types.

The SPICE system has been built for and is used on numerous U.S. planetary missions, such as Cassini, Mars Exploration Rover, Mars Reconnaissance Orbiter and DAWN. Many international missions have, of their own volition, also decided to use SPICE. Some missions from other (not planetary) disciplines also make use of SPICE. Limited data from some older missions such as Viking and Voyager have been or are being "restored" into SPICE format. SPICE is also used in a variety of engineering tasks, such as Deep Space Network scheduling and communications.

PDS Menu
 NASA | Caltech | Privacy | Image Policy | FAQ | JPL Feedback
o Clearance: CL#05-2438
o Site Manager: Boris Semenov
o Webmaster: Ron Baalke
o Last Updated: