kerneldbgen
Creates a database of kernels
This program is used to give the programmer and ISIS programs a database with which they can reference coverage times for ck and spk kernels. Output will thus be to a pvl file specified in the TO parameter. It should be noted that the user is encouraged to use system preferences when defining pathnames, for example $mgs or $base. If this is not possible, for example kernels are being referenced that are located in a user's development area, absolute pathnames should be used. Relative pathnames using ".", "..", or user-defined environment variables are highly discouraged.
Kernels have different qualities. The lowest quality is nadir, which supplies what may be considered "placeholder" values. Generally, nadir kernels exist to fill in gaps and mimic the instrument pointing at -90 degrees. Since they only mimic pointing data, they cannot be used for SPKs, since these kernels specify positions rather than pointing.
The second lowest quality kernel is predict. Predict kernels are based on the predicted location of spacecraft and thus are subject to error.
Reconstructed kernels are of higher quality than predicts. They are supplemented with information as to the actual position of bodies and spacecraft.
The highest quality kernels are smithed. These generally come from reconstructed kernels that have been corrected even further by an individual institution.
The four levels of kernels listed above are the only ones that will be listed in the database. Kernels are ordered from the lowest quality at the top of the output file to the highest quality at the bottom of the output file within individual kernel qualities, kernels are listed from earliest to latest created file. This is done in anticipation of programs such as spiceinit which read from the bottom of the file for the best kernel.
This program's database is in pvl format, and as such order is significant. The last listed kernel file covering the timespan will be used. Because of this in combination with the individual needs of specific missions, ISIS arrays can be used to control kernel file order.
For example, using the pure string expression: "m01_sc_ext??_rec_nadir.bc ; m01_sc_ext??.bc" would result in the listing: m01_sc_ext10.bc m01_sc_ext10_rec_nadir.bc m01_sc_ext11.bc m01_sc_ext11_rec_nadir.bc m01_sc_ext12.bc m01_sc_ext12_rec_nadir.bc m01_sc_ext13.bc m01_sc_ext13_rec_nadir.bc while using the ISIS array expression: ("m01_sc_ext??_rec_nadir.bc", "m01_sc_ext??.bc") would result in the listing: m01_sc_ext10_rec_nadir.bc m01_sc_ext11_rec_nadir.bc m01_sc_ext12_rec_nadir.bc m01_sc_ext13_rec_nadir.bc m01_sc_ext10.bc m01_sc_ext11.bc m01_sc_ext12.bc m01_sc_ext13.bc
Categories
Related Objects and Documents
Applications
History
Drew Davidson | 2005-08-03 | Original version |
Drew Davidson | 2005-08-03 | Added relative pathnames to output database |
Drew Davidson | 2005-08-16 | Added examples |
Elizabeth Miller | 2005-10-05 | Moved from Geometry category to System |
Brendan George | 2005-11-03 | Added application test |
Elizabeth Miller | 2005-11-21 | Fixed constriction on filename size and fixed bug in appTest |
Jacob Danton | 2005-12-27 | Made changes to SpiceDbGen to comply with changes in KernelDb |
Brendan George | 2006-10-05 | Modified call to retrieve current time to refer to Time class, instead of Application class |
Jeff Anderson | 2006-10-24 | Removed spaces between Spacecraft Clock Count and Leapsecond Kernel keywords |
Stuart Sides | 2006-11-21 | Fixed bug where spk and ck kernel files were flagged as "Predict" instead of "Predicted" |
Steven Lambright | 2008-08-01 | Fixed bug where some ck kernels could not be loaded due to their size. Also added naif status calls, which will provide easy to read iExceptions to the user instead of a dump to the terminal window when a problem occurs. |
Stuart Sides | 2010-04-27 | Modified to use a vector of filters for each quality of kernel instead of a single string |
Christopher Austin | 2011-05-06 | Added documentation for ISIS array input. |
Steven Lambright | 2013-02-15 | Added the EXTRA option. Also, added basic support for kerneldb files being specified for SCLK/LSK parameters. Fixes #1023. |
Stuart Sides | 2015-03-29 | Added three additional decimal places to the output of the TIME keyword in output kernel database file. Fixes #2236. |
Christopher Combs | 2018-01-11 | Added STARTOFFSET and ENDOFFSET parameters to allow for slight editing to start and end times. Fixes #5272. |
Kristin Berry | 2018-05-09 | Added the LEVEL=(SEGMENT*, INTERVAL) option to specify the time coverage level to be used for the generated database. SPICE segements are made up of SPICE intervals. Segments (the only option in the past) are now the default, but interval can be selected if needed. Fixes #5410. |
Jesse Mapel | 2019-08-13 | Added the ability to use a list of kernels instead of a location and filters. Fixes #3390. |