SPICE documents for
C
Toolkits
These are available as individual documents, and as "tar" packages combining all documents.
Required Reading Documents
These are detailed reference documents for the major SPICE software subsystems (families of modules).
They contain detailed descriptions and examples of how to use each module in the family, and often provide comparisons between related modules.
For those families centered around a SPICE kernel (data file) the document also describes the structure of the file.
These documents discuss many-but not all-of the modules in the library.
| Filename |
Description |
Format |
| cells.req |
Reference for the SPICE cell data structure, which is a vector of type double precision, integer or character type that carries with it its own dimension and knowledge of how many components have been used. |
txt
html
pdf
|
| ck.req |
Reference for the SPICE orientation subsystem and C-Kernel (CK), used to provide the orientation (a.k.a. attitude) of a spacecraft or an articulating component of a spacecraft or instrument. |
txt
html
pdf
|
| cspice.req |
Reference document that provides an introduction to unique characteristics of and requirements for using CSPICE, the C language implementation of the SPICE library. |
txt
html
pdf
|
| daf.req |
Reference for the low-level data structure known as Double Precision Array File, which is used to implement the high-level SPICE SPK and CK kernels. |
txt
html
pdf
|
| das.req |
Reference for the low-level data structure know as Direct Access, Segregated, which is used to implement the high-level SPICE database mechanism, sometimes referred to as the Database Kernel (DBK). The DBK is in turn used to implement the sequence component of the Events Kernel (EK/ESQ). |
txt
html
pdf
|
| ek.req |
Reference for the SPICE events subsystem and Events Kernel (EK), with emphasis on application of the database kernel mechanism, which is used to implement the sequence component of the Events Kernel (EK/ESQ), and may be used in any other application where a modest SQL-like database is called for. |
txt
html
pdf
|
| ellipses.req |
Reference for SPICE routines that deal with ellipses and tri-axial ellipsoids. |
txt
html
pdf
|
| error.req |
Reference for the SPICE error handling system, used to notify a SPICE-based application program about detectable errors and to control the action taken by the program subsequent to detection of an error. |
txt
html
pdf
|
| frames.req |
Reference for the SPICE reference frames specification subsystem and Frames Specification Kernel (FK), used to define the relationships between various reference frames and to provide either the data -- or pointers to the data -- needed to construct the transformations between these reference frames. |
txt
html
pdf
|
| kernel.req |
Reference for the class of SPICE kernel files known as text kernels. |
txt
html
pdf
|
| naif_ids.req |
Reference for the SPICE methodology for assigning numeric codes to objects and reference frames. Includes a list of all such assignments made as of the data of the last document update. |
txt
html
pdf
|
| pck.req |
Reference for the SPICE planetary constants subsystem and the Planetary Constants Kernel (PCK), used to specify certain physical and cartographic data for solar system bodies, such as size, shape and orientation. |
txt
html
pdf
|
| planes.req |
Reference for the SPICE plane low-level data structure, and for the SPICE routines provided to interact with this data structure. |
txt
html
pdf
|
| problems.req |
Document listing the more commonly encountered problems, broken down into functional areas and including suggestions on how to avoid problems. |
txt
html
pdf
|
| rotation.req |
Reference for a suite of SPICE routines that deal with rotations, including generation and use of rotation matrices, Euler angles and quaternions. |
txt
html
pdf
|
| scanning.req |
Reference for a suite of SPICE routines used to locate tokens (one or more characters) in strings. |
txt
html
pdf
|
| sclk.req |
Reference for the SPICE spacecraft clock subsystem and the Spacecraft Clock Kernel (SCLK), used to convert epochs (times) between a spacecraft clock time system and other time systems. |
txt
html
pdf
|
| sets.req |
Reference for the SPICE set entity, which is a special case of a SPICE cell-a vector of type double precision, integer or character type that carries with it its own dimension and knowledge of how many components have been used. |
txt
html
pdf
|
| spc.req |
Reference for a suite of routines used to add, extract, read and delete metadata (data about data), generally referred to as comments, associated with any of the SPICE binary kernel types (SPK, CK, binary PCK and EK/ESQ). |
txt
html
pdf
|
| spk.req |
Reference for the SPICE ephemeris subsystem and SP-Kernel, used to provide the ephemeris (a.k.a. trajectory) of a solar system body or a space vehicle. |
txt
html
pdf
|
| symbols.req |
Reference for a SPICE data structure called a symbol table, used to associate variable names with sets of values. Integer, character and double precision versions are available. |
txt
html
pdf
|
| time.req |
Reference for the various time systems and associated software used within SPICE. |
txt
html
pdf
|
| windows.req |
Reference for the SPICE window data entity, a special application of the cell data structure, used to manipulate continuous intervals of time. Windows are sometimes referred to as schedules. |
txt
html
pdf
|
Module Headers
The so-called header provided at the beginning of every source code module provides the most complete specifications about how to use that particular module,
including examples of use. This website does not contain links to those headers; rather users may view the headers by opening a source code module in a text editor
(e.g. vi or Emacs) or text display utility (e.g. cat or more). The source code modules are found in Toolkit distributions under ../src/spicelib/
(for FORTRAN Toolkits) or ../src/CSPICE/ (for C Toolkits).
User's Guide Documents
A User's Guide is provided for almost every program (executable) in each SPICE or CSPICE Toolkit. These contain important information and
should always be consulted before beginning to use a SPICE Toolkit program. Almost always the User Guide has the same root name as the program it describes.
In one case a single UG covers two programs (the convert.ug addresses both "toxfr" and "tobin"). In a few cases there is no UG but on-line help is provided instead:
just type the name of the program at your command-line prompt.
| Filename |
Description |
Format |
| brief.ug |
User's Guide for BRIEF, a utility program that allows you to summarize the ephemeris contents and coverage for one or more SPK files. |
txt
html
pdf
|
| chronos.ug |
User's Guide for CHRONOS, a utility program for easy conversion between several time systems and time formats. |
txt
html
pdf
|
| ckbrief.ug |
User's Guide for CKBRIEF, a utility program that summarizes the pointing coverage for one or more CK files. |
txt
html
pdf
|
| commnt.ug |
User's Guide for COMMNT, a utility program that is used to add comments, extract comments, read comments, or delete comments in SPICE SPK, CK and EK files. |
txt
html
pdf
|
| convert.ug |
This document describes issues related to moving SPICE binary data files from one computing environment to another. It also serves as the User's Guide for utility programs performing conversions required in this process -- TOBIN, TOXFR, and SPACIT. |
txt
html
pdf
|
| inspekt.ug |
User's Guide for INSPEKT, a program that allows you to examine the contents of an events component of an E-kernel. |
txt
html
pdf
|
| mkspk.ug |
User's Guide for MKSPK, a program that creates SPK files from a reasonably general text file. |
txt
html
pdf
|
| msopck.ug |
User's Guide for MSOPCK, a program that converts telemetry quaternions and angular velocity information into a type 1, 2, or 3 SPICE c-kernel. |
txt
html
pdf
|
| simple.ug |
User's Guide for SIMPLE, a cookbook program that demonstrates how to use SPICELIB routines to obtain state vectors. |
txt
html
pdf
|
| spacit.ug |
User's Guide for SPACIT, an interactive utility program that performs three functions: it converts transfer format SPK, CK and EK files to binary format, it converts binary SPK, CK and EK files to transfer format, and it summarizes the contents of binary SPK, CK and EK files. |
txt
html
pdf
|
| spkdiff.ug |
User's Guide for SPKDIFF, a program computing differences between geometric states obtained from two SPK files and either displaying these differences or showing statistics about them. |
txt
html
pdf
|
| spkmerge.ug |
User's Guide for SPKMERGE, a utility program that is used to subset or merge one or more SPK files into a single SPK file. |
txt
html
pdf
|
| states.ug |
User's Guide for STATES, a cookbook program that demonstrates how to use SPICELIB routines to obtain state vectors. |
txt
html
pdf
|
| subpt.ug |
User's Guide for SUBPT, a cookbook program that demonstrates how to use SPICELIB routines to compute sub-spacecraft point. |
txt
html
pdf
|
| tictoc.ug |
User's Guide for TICTOC, a cookbook program that demonstrates how to use SPICELIB routines to convert between different time representations. |
txt
html
pdf
|
| tobin.ug |
User's Guide for TOBIN, a command line utility program that converts transfer format SPK, CK and EK files to binary format. |
txt
html
pdf
|
| toxfr.ug |
User's Guide for TOXFR, a command line utility program that converts binary format SPK, CK and EK files to transfer format. |
txt
html
pdf
|
| version.ug |
User's Guide for VERSION, a command line utility program that prints the current version number of the SPICE Toolkit. |
txt
html
pdf
|
Permuted Index Documents
Each public library (e.g. SPICELIB, CSPICE) in the Toolkit contains a large number of modules. Keywords pertaining to the primary function of each module are
inserted in the header by the module's author, and these are used in building a permuted index for the entire library. This permuted index assists you in finding a
library module (or modules) that seems likely to perform a function you need; you can then look in the source code header for that module to get the detailed
information needed to make that determination.
| Filename |
Description |
Format |
| cspice.idx |
|
txt
|
Document Packages
You may obtain the complete set of Toolkit documents described above, bundled in a tar file. These are available in three formats.
(The Permuted Index document described above is available in ONLY the ASCII packages.)
|