 
COMMNT User's Guide
===========================================================================
 
   Last revised on 2017 MAR 23 by N. J. Bachman
 
 
Abstract
--------------------------------------------------------
 
   COMMNT is a command-line program that reads, adds, extracts, or deletes
   comments from SPICE binary kernel files.
 
 
Usage
--------------------------------------------------------
 
   To use COMMNT as a menu driven interactive program, type the name of the
   program at the system prompt.
 
      prompt> commnt
 
   To use COMMNT as a command line utility, supply additional arguments as
   shown below:
 
   See the command line mode usage:
 
      prompt> commnt -h
 
   Add comments to a kernel file from a text file.
 
      prompt> commnt -a kernel_file comment_file
 
   Extract comments from a kernel file to a text file.
 
      prompt> commnt -e kernel_file comment_file
 
   Read the comments in a kernel file, displaying the results on the
   Standard Output device.
 
      prompt> commnt -r kernel_file
 
   Delete all of the comments in a kernel file.
 
      prompt> commnt -d kernel_file
 
   Note that in either mode the program cannot perform operations that
   require modifying the file -- addition and deletion -- if the file does
   not have the format native to the computer, on which the program is run.
   Refer to the CONVERT User's Guide (convert.ug) for details.
 
 
Overview
--------------------------------------------------------
 
   The COMMNT utility program provides a collection of services useful for
   manipulating and examining the contents of the comment area in SPICE
   binary kernel files. The COMMNT program can add comments to the comment
   area from a text file, read the comment area, displaying the comments on
   the terminal screen, extract the comment area to a text file, or delete
   the entire comment area of a SPICE binary kernel file.
 
   The comment area of a SPICE binary kernel file provides a mechanism for
   storing printable textual information that is related to the data
   contained in the file. The comment area is typically used to ``attach''
   metadata (i.e. a description of the data) to the data contained in the
   file. When used in this manner, the comment area provides a convenient
   mechanism for maintaining the association between a description of the
   data in a file and the data itself. A common use of the comment area
   would be to store the following types of descriptive information: how
   the data in the file were generated, assumptions made about the data,
   who to contact about problems or questions, the creator of the file,
   intended uses of the data, etc.. This type of descriptive information is
   essential for the correct interpretation and use of the data.
 
   Through a conscientious use of the comment area, all of the information
   necessary to understand the data is readily available with the data.
   Contrast this with an approach where the descriptive information is
   stored in a file separate from the data. In this case, the description
   could easily be lost or forgotten, and without the descriptive
   information, determining the utility or applicability of the data in a
   file would be difficult.
 
   The COMMNT program supports the CK, DSK, EK, PCK, and SPK SPICE binary
   kernel file formats. CK files contain orientation information, commonly
   called ``pointing,'' for various spacecraft structures or instruments.
   DSK files contain shape models for extended objects. EK files contain
   time tagged event information for a spacecraft. Binary PCK files contain
   body orientation models. Binary PCK files are currently only available
   for the Earth and the Moon with limited time coverage. SPK files contain
   ephemeris information for solar system objects: planets, satellites,
   comets, asteroids, and spacecraft.
 
   The comments are stored in a ``what you put in is what you get out''
   fashion, so care should be taken when formatting the comments before
   placing them into the comment area of a SPICE binary kernel file.
 
 
References
--------------------------------------------------------
 
   Detailed descriptions of the CK, DSK, EK, PCK, and SPK SPICE binary
   kernel file formats may be found in the NAIF documents:
 
       1.   CK Required Reading (ck.req).
 
       2.   DSK Required Reading (dsk.req).
 
       3.   EK Required Reading (ek.req).
 
       4.   PCK Required Reading (pck.req).
 
       5.   SPK Required Reading (spk.req).
 
   Information related to other aspects of the COMMNT program and its
   options may be found in the NAIF document:
 
       1.   SPC Required Reading (spc.req).
 
 
Changes
--------------------------------------------------------
 
   COMMNT can now be used as a command line driven program. This makes the
   program more useful for script programs that need to manipulate the
   comment area of SPICE binary kernels.
 
 
File Naming and Usage Conventions
--------------------------------------------------------
 
   Filenames are required for options in the COMMNT program. In order to
   maintain portability a filename must, in addition to any conditions
   imposed by a particular computer or operating system, satisfy the
   following conditions.
 
       --   A filename must be nonblank.
 
       --   A filename may not contain embedded spaces.
 
       --   A filename may not contain nonprinting or ``control''
            characters, e.g., tabs, line feeds, carriage returns, nulls,
            form feeds, etc.. The nonprinting and control characters are
            those with decimal values 0-31 and 127.
 
   Be aware that on many computer systems filenames are case sensitive. On
   such a system, the filenames `program.for' and `PROGRAM.FOR' are
   different. On a computer system that does not support case sensitive
   filenames these filenames would both refer to the same file.
 
   Also be aware that each computer system will have a limit on the length
   of a filename. Care must be taken when moving files from a computer
   system which supports longer filenames to a computer system which
   supports shorter filenames, in particular if the initial portion of the
   filenames are identical.
 
   When extracting comments into a text file the COMMNT program will not
   allow an existing filename to be used. Before the program creates a file
   it determines whether a file with the entered filename already exists.
   If so, a brief message reporting this is displayed and an opportunity to
   reenter the filename will be provided. This is done in order to prevent
   accidental modification of existing files.
 
   If at any time an improper filename is entered: a file which did not
   exist when it should have, a file which existed when it should not have,
   or a filename containing improper characters, an appropriate error
   message will be displayed. A chance to reenter the filename will be
   provided via a ``Try again? (Yes/No)'' prompt. A response of ``Yes'' and
   the prompt for the filename will be redisplayed. A response of ``No''
   will return the program to the main menu.
 
 
Using COMMNT
===========================================================================
 
   The COMMNT utility program provides a collection of services useful for
   manipulating and examining the comment area of SPICE binary kernel
   files. The COMMNT program provides four services for use with the
   comment area of SPICE binary kernel files.
 
       --   Add comments to a binary kernel file from a text file.
 
       --   Read the comments in a binary kernel file.
 
       --   Extract comments from a binary kernel file to a text file.
 
       --   Delete the comments in a binary kernel file.
 
   The desired service is selected by providing the appropriate option on
   the command line or by choosing the appropriate option from the main
   menu of the COMMNT program.
 
 
Using COMMNT from the command line
--------------------------------------------------------
 
   The command line options, given at the beginning of this document are
   repeated below:
 
   Add comments to a kernel file from a text file.
 
      prompt> commnt -a kernel_file comment_file
 
   Extract comments from a kernel file to a text file.
 
      prompt> commnt -e kernel_file comment_file
 
   Read the comments in a kernel file, displaying the results on the
   Standard Output device.
 
      prompt> commnt -r kernel_file
 
   Delete all of the comments in a kernel file.
 
      prompt> commnt -d kernel_file
 
   If an error occurs during the execution of COMMNT in command line mode,
   the program will display an appropriate error message and halt.
 
 
Using COMMNT interactively
--------------------------------------------------------
 
   If you execute the program without providing any command line arguments,
   you will be presented with a menu of optional actions. An option is
   selected by entering the letter or number appearing in parentheses to
   the left of the option's description. The selection of an option is not
   case sensitive.
 
   If an error occurs during the execution of a COMMNT option while the
   program is in interactive mode, the program will display an appropriate
   error message, recover and return to the main menu. See the descriptions
   of the COMMNT options to determine what effect an error may have on the
   outcome of the selected service.
 
 
The COMMNT Main Menu
--------------------------------------------------------
 
   An option is selected from the COMMNT main menu.
 
               COMMNT Options
 
         ( Q ) Quit.
         ( A ) Add comments to a binary file.
         ( R ) Read the comments in a binary file.
         ( E ) Extract comments from a binary file.
         ( D ) Delete the comments in a binary file.
 
 
 
COMMNT Options
--------------------------------------------------------
 
   This section describes in detail each of the options available from the
   COMMNT main menu. For an example of each option, see the appendix.
 
 
COMMNT Option: Q -- Quit.
 
   Gracefully exit the program.
 
 
COMMNT Option: A -- Add comments to a binary file.
 
   Add comments from a text file to the comment area of a SPICE binary
   kernel file.
 
   This option requires that two filenames be supplied:
 
       --   The name of an existing text file which contains comments that
            are to be placed into the comment area of a specified SPICE
            binary kernel file.
 
       --   The name of an existing SPICE binary kernel file.
 
   When this option is selected, prompts requesting each of the required
   filenames will be displayed. For each prompt, the appropriate filename
   should be entered.
 
   Upon successful completion of this option, the comments from the text
   file will have been added to the comment area of the binary kernel file.
   If the comment area of the binary kernel file already contains comments,
   a single blank comment line is inserted after the existing comments, and
   then the new comments are appended. Otherwise, the comments are simply
   added to the comment area.
 
   As mentioned, the comments from the text file are placed into the
   comment area of the SPICE binary kernel file in a ``what you put in is
   what you get out'' fashion, so care should be taken when formatting the
   comments before they are added to a SPICE binary kernel file. In
   particular, the length of individual comment lines should be
   ``reasonable.'' A length not exceeding 80 characters is recommended, as
   it works well with most display devices, terminal screens, printers,
   etc.. An individual comment line in the text file may contain at most
   255 characters. Any characters beyond this number are ignored.
 
   The comments may contain only printing ASCII characters (decimal values
   32 -- 126). Nonprinting characters such as tab and form--feed are not
   allowed and will result in an error if encountered in the comments.
   Leading and embedded blanks in the comment lines are preserved, but
   trailing blanks are removed. This preserves the overall appearance of
   the comments while conserving space in the comment area of the file.
 
   WARNING: If an error occurs during the execution of this option, the
   SPICE binary kernel file may be corrupted due to a partial addition of
   the comments. The text file containing the comments will not be
   affected. It is advisable to keep a backup copy of the binary kernel
   file.
 
 
COMMNT Option: R -- Read the comments in a binary file.
 
   Read the comments in the comment area of a SPICE binary kernel file.
 
   This option requires the name of the binary kernel file containing the
   comments to be read. A prompt requesting the required filename will be
   displayed, and the appropriate filename should be entered at this time.
 
   The comments contained in the comment area of the SPICE binary kernel
   file will be displayed on the terminal screen.
 
   If an error occurs during the execution of this option, the SPICE binary
   kernel file will not be affected.
 
 
COMMNT Option: E -- Extract comments from a binary file.
 
   Extract the comments in the comment area of a SPICE binary file to a new
   text file.
 
   This option requires that two filenames be supplied:
 
       --   The name of an existing SPICE binary kernel file.
 
       --   The name of the text file to create for the extracted comments.
 
   When this option is selected, prompts requesting each of the required
   filenames will be displayed. The name entered for the text file that is
   created for the extracted comments must be that of a new file.
   Otherwise, COMMNT will report that the file already exists and provide
   an opportunity to reenter the filename.
 
   Upon successful completion of this option the comments from the SPICE
   binary kernel file will be in the specified text file.
 
   If an error occurs during the execution of this option, the SPICE binary
   kernel file will be unaffected. The text file that was being created
   will be deleted since the complete contents of the comment area may not
   have been extracted.
 
 
COMMNT Option: D -- Delete the comments in a binary file.
 
   Delete the comments in the comment area of a SPICE binary kernel file.
 
   This option requires the name of the binary file which is to have its
   comment area deleted.
 
   A prompt requesting the required filename will be displayed, and the
   appropriate filename should be entered at this time.
 
   Upon successful completion of this option, the comments will have been
   deleted from the SPICE binary kernel file that was specified. Deleting
   the comments does NOT reduce the size of the existing binary file. The
   space used by the comment area is reclaimed for later use.
 
   WARNING: If an error occurs during the execution of this option, the
   SPICE binary kernel file may be corrupted due to a partial deletion of
   the comments. It is advisable to keep a backup copy of the binary kernel
   file.
 
 
Appendix A --- Revision History
===========================================================================
 
 
2017 MAR 23 by N. J. Bachman
 
   Updated to mention that COMMNT works with DSK files.
 
 
2008 JAN 17 by B. V. Semenov.
 
