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" 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.
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 that has been structured and formatted
for easy access and correct 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. They 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.

SPICE kernel
file contents 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 kernel 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)

C- Pointing
kernel, 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. A C-kernel may also include angular rate data for that structure. (CK)

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.

Under development is a digital shape model kernel (DSK) 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. Other kernel types can be added as requirements arise and time permits.

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 portable APIs (subroutines) needed to read the kernel files and to then calculate
observation geometry parameters, also known as derived data of interest—items such as range, LAT/LON, and lighting angles. Some SPICE APIs 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 observation geometry parameters or geometric events as needed. The SPICE Toolkit was originally
implemented in ANSI FORTRAN 77, but is now available in C, IDL and MATLAB as well.

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 if/as improved data sources
become available. Flight project team members obtain those
kernels of interest, using
them in application programs hosted at their home sites to compute
needed geometric and related ancillary 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 this 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.
For NASA planetary missions, the NAIF node of NASA's Planetary
Data System is the archive site, and this archive is open to all.

SPICE is frequently used for mission design and for planning
observations. In these cases the observer could be a "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.

In addition
to providing SPICE technology to NASA planetary missions
the NAIF Group serves as the "Navigation Node" of NASA's
Planetary Data System.
In this role NAIF provides archive, data distribution, and consultation functions for NASA-funded planetary researchers.