CKSPANIT (ck-span-it) User's Guide =========================================================================== Version 2: January 14, 1999. CKSPANIT is a program for creating a type 3 CK file having specified interpolation intervals. The program accepts as input a CK file containing only type 1 or type 3 segments. For each input segment, CKSPANIT reads all pointing data from the segment, computes interpolation intervals based on a user-specified tolerance, and writes exactly the same pointing information accompanied by new interpolation intervals into the output CK file. Usage -------------------------------------------------------- CKSPANIT is used as follows: > ckspanit -in -out -tol [-frm ] where inputs provided on the command line are: INPUT CK FILE name of an existing CK file containing only type 1 and type 3 segments OUTPUT CK FILE name of type 3 CK file to be created TOLERANCE tolerance specified as a number of SCLK ticks. This tolerance is used to determine interpolation intervals as follows: if the time interval between two adjacent pointing instances in the input data is greater than the tolerance, the program decides that orientation cannot be interpolated between these two instances and ``declares'' the end of a previous interpolation interval at the earlier point and the start of a new interval at the latter point. FRAMES FILE [OPTIONAL] name of a frame definitions file. This file is required only if orientation in the input CK file is given relative not to a SPICE standard (inertial or body fixed IAU) frame but rather to a user or project defined frame (spacecraft frame, instrument frame, etc.) The command line keys ``-in'', ``-out'', ``-tol'' and ``-frm'' must be lowercase. CKSPANIT will display usage information if it's executed without command line parameters. Practical example -------------------------------------------------------- Normally, this program is used either to convert a type 1 CK to type 3, or to ``fill in'' gaps in type 3 CK files in which interpolation intervals were initially computed with a relatively small tolerance. An example of the second usage: if an MGS spacecraft CK file contains a few ``gaps'' smaller than 5 minutes which appeared in the file because of orientation telemetry dropouts, and if the file had an initial tolerance of 1 minute, CKSPANIT can be used to create a new file which will allow interpolating over these gaps: > ckspanit -in mgs_1min.bc -out mgs_5min.bc -tol 76800 > Note that 5 minute tolerance is given as 76800 ticks -- 256 ticks/sec by 60 sec/min by 5 min. For an MGS solar array CK, in a similar situation, a frame definitions file will also have to be provided as an input on the command line because solar array orientation is given relative to the MGS spacecraft frame. > ckspanit -in sa_1min.bc -out sa_5min.bc -tol 76800 -frm mgs.tfd > A few words of warning -------------------------------------------------------- The phrase ``garbage in, garbage out'' applies to kernels created using this program. If the interpolation tolerance supplied is too large to ensure correct interpolation, the output file may contain wildly incorrect pointing or angular velocity data. Before creating a new CK file, either starting with a type 1 CK or by ``filling gaps'' in an existing type 3 CK, make sure that you really may properly allow interpolation over the new interpolation intervals you define. Try to confirm that relevant spacecraft or spacecraft structure was rotating smoothly and slowly throughout the interpolation intervals, and that the intervals are short enough so that the total angle of rotation over any interpolation interval is small. If the total rotation angle over an interpolation interval is 180 degrees or more, aliasing will occur, yielding nonsensical results. Also, since it's a low priority for NAIF to make CKSPANIT intelligent enough to be able to read and understand comments in the original file, CKSPANIT doesn't copy these comments or any subset of them to the output file. Therefore, it's the full responsibility of the user to document new files created by this program.