PDS_VERSION_ID = PDS3 RECORD_TYPE = STREAM OBJECT = TEXT INTERCHANGE_FORMAT = ASCII PUBLICATION_DATE = 2006-03-01 NOTE = "E-Kernel Information" END_OBJECT = TEXT END General information about SPICE E-kernels ========================================= The purpose of the Deep Impact Events (E) -kernel (EK) is to store instrument and spacecraft commands and status information. The means of accessing the EK data are provided via a collection of subroutines that are part of the SPICELIB library, the major component of the NAIF Toolkit, or via the SPICE system utility programs, such as INSPEKT. The subroutines can be integrated into a user's application program while the INSPEKT program can be used to view E-kernel information interactively. Information about obtaining the SPICE Toolkit is located in the "software" subdirectory of the main directory of this dataset. To use E-kernels with the INSPEKT program, a SPICE Leapseconds (LSK) kernel is required. An INSPEKT script containing useful queries is provided in the Appendix 1 at the end of this file. For general information regarding E-Kernels, refer to the EK Required Reading (ek.req) and inspekt.ug documents provided with the Toolkit or available from the NAIF Node of the PDS. Deep Impact E-kernels Contained on This Volume ============================================== This directory contains the following SPICE E-Kernel files for the Deep Impact mission (all files are in IEEE big endian binary format and suitable for use on UNIX workstations and MACs): dif_cmdict_128_20050620.bdb DIF command dictionary EK file based on the final version of the command dictionary used during mission operations dif_seq_050112_050729.bes DIF sequence EK files covering the whole mission, based on the Predicted Events File (PEF) containing complete integrated sequence updated with realtime commands. Kernel file details =================== The most detailed description of the data in a binary EK file is provided in metadata included inside the comment area of the file. This information can be viewed using the utility programs COMMNT and SPACIT included in the NAIF Toolkit. The Toolkit is available from the NAIF website. Contact information =================== Regarding Deep Impact project specific information provided in this data set and for general information about the SPICE system: Boris Semenov (818)-354-8136 Boris.Semenov@jpl.nasa.gov or Chuck Acton (818)-354-3869 Chuck.Acton@jpl.nasa.gov address: Navigation and Ancillary Information Facility (NAIF) Jet Propulsion Laboratory MS 301-125L 4800 Oak Grove Drive Pasadena CA 91109 USA Appendix 1: Sample INSPEKT Startup Script for Querying DIF EK Files =================================================================== In order to be used with Inspekt, the contents of this Appendix should be "cut-n-pasted" into a separate file. This file can then be loaded and macros defined in it be used as described in the comments embedded within the file. ; ; Sample Deep Impact Flyby (DIF) startup file for SPICE's Inspekt ; utility program. by Boris Semenov, September 15, 2005. ; ; This startup file can be loaded into Inspekt in either using ; "-start" command line option when Inspekt is invoked: ; ; % inspekt -start [name_of_this_file] ; ; or by using "start" command from the Inspekt's prompt: ; ; % inspekt; ; ... ; Inspekt> start [name_of_this_file]; ; ... ; ; In either case, during the process of loading this startup file ; Inspekt will prompt for the names of LSK file, command ; dictionary EK file and sequence EK file: ; ; % inspekt; ; ... ; Inspekt> start [name_of_this_file]; ; Enter value for LEAPSECONDS_FILE > [lsk_file_name]; ; Enter value for COMMAND_DICTIONARY_EK_FILE > [dict_file_name]; ; Enter value for SEQUENCE_EK_FILE > [sequence_file_name]; ; Inspekt> ; ... ; ; Once this startup has been loaded, any of the following macros ; can be used to access EK data (either short or long macro name ; can be typed on the Inspekt prompt to invoke a macro; when ; typing a macro name the letter case is insignificant): ; ; Long Name Short Name ; ============================ =================== ; SHOW_COMMANDS_OVER_TIME SCOT ; SHOW_COMMANDS_FOR_SUBSYSTEM SCFS ; SHOW_COMMANDS SC ; SHOW_IMAGES_OVER_TIME SIOT ; SHOW_COMMANDS_WITH_DESC SCWD ; SHOW_PARAMETER_VALUES SPV ; SHOW_PARAMETER_LONG_VALUES SPLV ; SHOW_PARAMETERS_WITH_DESC SPWD ; COMMAND_DESCRIPTION CD ; PARAMETERS_DESCRIPTION PD ; SHOW_STATUS SS ; SHOW_STATUS_FOR_PARAMETER SSFP ; SHOW_STATUS_AT_TIME SSAT ; ; An example of invoking each of these macros is given next to the ; macro definition provided below. Note that all values entered in ; response to the prompts displayed by macros should be quoted with ; single quotes, as shown is this example of invoking SCFS: ; ; Inspekt> scot; ; Enter value for START_TIME > '2005-07-04'; ; Enter value for END_TIME > '2005-07-04 02:00'; ; ... ; ; Wild card, '*', may be used in the value entered in ; response to the prompts, except when input of a time is requested, ; as shown is this example of invoking SC: ; ; Inspekt> sc; ; Enter value for COMMAND_NAME > '*_EXP'; ; ... ; ; For general information about using Inspekt and EK subsystem of ; SPICE refer to the Inspekt built-in help and EK Required Reading ; document. ; ;################################################################## ; ; Setup parameters and macro definitions are provided below. ; ;################################################################## ; ; Prompt for and load LSK and EK files. ; load leapseconds LEAPSECONDS_FILE?; load ek COMMAND_DICTIONARY_EK_FILE?; load ek SEQUENCE_EK_FILE?; ; ;################################################################## ; ; Set various setup parameters. ; ; Set default output format, page width, and default output time ; format. ; set format tabular; set page width 132; set default time format YYYY MON DD HR:MN:SC.###; ; ; ; Set aliases for command, status and dictionary tables names. ; define cmd_table dif_cmd; define status_table dif_status; define dictionary_table dif_commands; ; ; Set command table column widths. ; set column dif_cmd.entry_id width 14; set column dif_cmd.command width 20; set column dif_cmd.parameter_name width 14; set column dif_cmd.parameter_index width 8; set column dif_cmd.value_flag width 8; set column dif_cmd.chr_value width 16; set column dif_cmd.dp_value width 8; set column dif_cmd.int_value width 8; set column dif_cmd.long_value width 22; ; ; Set status table column widths. ; set column dif_status.entry_id width 14; set column dif_status.subsystem width 20; set column dif_status.parameter_name width 14; set column dif_status.parameter_index width 8; set column dif_status.value_flag width 8; set column dif_status.chr_value width 16; set column dif_status.dp_value width 8; set column dif_status.int_value width 8; set column dif_status.long_value width 22; ; ; Set for command dictionary table column widths. ; set column dif_commands.command width 20; set column dif_commands.parameter_name width 14; set column dif_commands.parameter_index width 8; set column dif_commands.parameter_type width 16; set column dif_commands.parameter_range width 20; set column dif_commands.description width 40; ; ;################################################################## ; ; SHOW_COMMANDS_OVER_TIME find all commands in the command ; SCOT table within the specified time ; interval and display them ordered ; by time. ; ; Example: ; ; Inspekt> scot; ; Enter value for START_TIME > '2005-07-03 18:00'; ; Enter value for END_TIME > '2005-07-03 19:00'; ; ... ; define show_commands_over_time select entry_id, time, command from cmd_table where parameter_index eq 0 and time between START_TIME? and END_TIME? order by time; define scot show_commands_over_time; ; ;################################################################## ; ; SHOW_COMMANDS_FOR_SUBSYSTEM find all command in the command ; SCFS table for a specified subsystem ; and display these commands ordered ; by time. ; ; Example: ; ; Inspekt> scfs; ; Enter value for SUBSYSTEM > 'INSTRUMENT*'; ; ... ; define show_commands_for_subsystem select a.entry_id, a.time, a.command from cmd_table a, dictionary_table b where a.parameter_index eq 0 and b.parameter_index eq 0 and a.command eq b.command and b.subsystem like SUBSYSTEM? order by a.time; define scfs show_commands_for_subsystem; ; ;################################################################## ; ; SHOW_COMMANDS find all appearances of a ; SC particular command in the command ; table and display them ordered ; by time. ; ; Example: ; ; Inspekt> sc; ; Enter value for COMMAND_NAME > 'I*'; ; ... ; define show_commands select entry_id, time, command from cmd_table where parameter_index eq 0 and command like COMMAND_NAME? order by time; define sc show_commands; ; ;################################################################## ; ; SHOW_IMAGES_OVER_TIME finds all DIF "take image" ; SIOT commands within the specified time ; range. ; ; Example: ; ; Inspekt> siot; ; Enter value for START_TIME > '2005-07-03 18:00'; ; Enter value for END_TIME > '2005-07-03 20:00'; ; ... ; define show_images_over_time select entry_id, time, command, parameter_name, chr_value from cmd_table where parameter_name eq 'EXP_ID' and command like '*_EXP' and time between START_TIME? and END_TIME? order by time; define siot show_images_over_time; ; ;################################################################## ; ; SHOW_COMMANDS_WITH_DESC find all appearances of a ; SCWD particular command in the ; command table and display them ; ordered by time with the command ; description from command ; dictionary table provided on ; the right. ; ; Example: ; ; Inspekt> scwd; ; Enter value for COMMAND_NAME > '*_EXP'; ; ... ; define show_commands_with_desc select a.entry_id, a.time, a.command, b.description from cmd_table a, dictionary_table b where a.parameter_index eq 0 and b.parameter_index eq 0 and a.command eq b.command and a.command like COMMAND_NAME? order by time; define scwd show_commands_with_desc; ; ;################################################################## ; ; SHOW_PARAMETER_VALUES display index-ordered values ; SPV of all parameters for a ; particular command identified ; by its ENTRY_ID. ; ; Example: ; ; Inspekt> spv; ; Enter value for ENTRY_ID > 'WEEK25:143366'; ; ... ; define show_parameter_values select time, command, parameter_name, chr_value from cmd_table where entry_id like ENTRY_ID? order by parameter_index; define spv show_parameter_values; ; ;################################################################## ; ; SHOW_PARAMETER_LONG_VALUES displays index ordered short ; SPLV and long values of all parameters ; for particular command identified ; by its ENTRY_ID. ; ; Example: ; ; Inspekt> splv; ; Enter value for ENTRY_ID > 'WEEK25:143366'; ; ... ; define show_parameter_long_values select time, command, parameter_name, chr_value, long_value from cmd_table where entry_id like ENTRY_ID? order by parameter_index; define splv show_parameter_long_values; ; ;################################################################## ; ; SHOW_PARAMETERS_WITH_DESC display index ordered values ; SPWD of all parameters for a ; particular command identified by ; its ENTRY_ID with parameter ; descriptions from the dictionary ; table displayed on the right. ; ; Example: ; ; Inspekt> spwd; ; Enter value for ENTRY_ID > 'WEEK25:143366'; ; ... ; define show_parameters_with_desc select a.entry_id, a.command, a.parameter_name, a.chr_value, b.description from cmd_table a, dictionary_table b where a.entry_id like ENTRY_ID? and a.command eq b.command and a.parameter_name eq b.parameter_name order by a.parameter_index; define spwd show_parameters_with_desc; ; ;################################################################## ; ; COMMAND_DESCRIPTION display command description. ; CD ; ; Example: ; ; Inspekt> cd; ; Enter value for COMMAND > '*_EXP'; ; ... ; define command_description select command, description from dictionary_table where command like COMMAND? and parameter_index eq 0; define cd command_description; ; ;################################################################## ; ; PARAMETERS_DESCRIPTION display descriptions of ; PD parameters for a particular ; command. ; ; Example: ; ; Inspekt> pd; ; Enter value for COMMAND > 'IMFVIS_EXP'; ; ... ; define parameters_description select command, parameter_name, description from dictionary_table where command like COMMAND? order by parameter_index; define pd parameters_description; ; ;################################################################## ; ; SHOW_STATUS display status of a particular ; SS subsystem through all time ; interval covered by the ; status table. ; ; Example: ; ; Inspekt> ss; ; Enter value for SUBSYSTEM > 'INSTRUMENT*'; ; ... ; define show_status select time, subsystem, parameter_name, chr_value from status_table where subsystem like SUBSYSTEM? order by subsystem, parameter_name, time; define ss show_status; ; ;################################################################## ; ; SHOW_STATUS_FOR_PARAMETER displays status of a parameter ; SSFP of a particular subsystem ; through all time interval covered ; by data tables. ; ; Example: ; ; Inspekt> ssfp; ; Enter value for SUBSYSTEM > 'INSTRUMENT*'; ; Enter value for PARAMETER > '*PWR*'; ; ... ; define show_status_for_parameter select time, subsystem, parameter_name, chr_value from status_table where subsystem like SUBSYSTEM? and parameter_name like PARAMETER? order by subsystem, parameter_name, time; define ssfp show_status_for_parameter; ; ;################################################################## ; ; SHOW_STATUS_AT_TIME displays status of the particular ; SSAT subsystem before a given ; time. ; ; Example: ; ; Inspekt> ssat; ; Enter value for SUBSYSTEM > 'INSTRUMENT*'; ; Enter value for TIME > '2005-JAN-15'; ; ... ; define show_status_at_time select time, subsystem, parameter_name, chr_value from status_table where subsystem like SUBSYSTEM? and time le TIME? order by subsystem, parameter_name, time; define ssat show_status_at_time; ; ; End of macro defintions. ;