Here's how they work:
Code: Select all
SpiceRotation
{
Kernel <string|string array> # optional
Frame <string>
BaseFrame <string> # optional (defaults to ecliptic)
Period <number> # optional (units are hours)
Beginning <number> # optional
Ending <number> # optional
}
The Kernel property specifies one or more SPICE kernel files that must be loaded in order for the frame to be defined over the required range. Any already loaded kernels will be used if they contain information relevant for defining the frame. Frame and base name are strings that give SPICE names for the frames. The orientation of the SpiceRotation is the orientation of the frame relative to the base frame. If no base frame is specified, the default is eclipj2000.
Beginning and Ending specify the valid time range of the SPICE rotation. If the Beginning and Ending are omitted, the rotation model is assumed to be valid at any time. It is an error to specify Beginning without Ending, and vice versa.
Period specifies the principal rotation period; it defaults to 0 indicating that the rotation is aperiodic. It is not essential to provide the rotation period; it is only used by Celestia for displaying object information such as sidereal day length.
Using a SPICE frame rotation for a planet or natural satellite is easier. With spacecraft, the task is complicated by the difficulty of finding all the necessary kernels.
Here's a sample that uses a SPICE text kernel for the rotation of the Earth:
Code: Select all
SpiceRotation
{
Kernel "pck00008.tpc"
Frame "IAU_EARTH"
BaseFrame "eclipj2000"
Period 23.9344694
}
To use SPICE to get the orientation of Cassini, we need multiple SPICE files:
Code: Select all
SpiceRotation
{
Kernel [
"cas_v39.tf"
"cas00112.tsc"
"08082_08087ra.bc"
]
Frame "CASSINI_SC_COORD"
BaseFrame "J2000"
}
In this example, the text frame (tf) kernel defines the frame, the tsc file is a spacecraft clock kernel, and 08082_08087ra.bc contains the orientation of the Cassini spacecraft between the 82nd and 87th days of 2008.
--Chris