NAME:
  mkocceph
 PURPOSE:   (one line only)
  Compute an occultation ephemeris for Wasserman prediction tools
 DESCRIPTION:
  Calculates ephemeris position for an object at a specified date and
    time, and creates a .in file suitable for ingestion in OCMAP. At
    the time of execution a unique string identifier is
    created for version control and a new subdirectory is created. The
    .in file is saved to this sudirectory along with a .info file that
    captures the screen output. These files can be set to be read-only.

  These two files form the basis for a given prediction that is based on
    the orbit of the object known as of the time this program is run.
    The .in file captures that ephemeris to insulate against future changes.
 CATEGORY:
  Occultations
 CALLING SEQUENCE:
  mkocceph,objname,objcode,jdgeos,starid,sras,sdecs
 INPUTS:
  objname     :String, occulting object name (e.g., '(11351) Leucus')
  objcode     :String, geteph code for ephemeris lookup (e.g., 'A11351')
  jdgeos      :String, date and time of geocentric appulse
                         (YYYY/MM/DD HH:MM:SS)
  starid      :String, star identifier
  sras        :String, star RA (J2000 sexagesimal)
  sdecs       :String, star Dec (J2000 sexagesimal)
 OPTIONAL INPUT PARAMETERS:
 KEYWORD INPUT PARAMETERS:
  PROTECT - Flag, if set will write-protect output files
  VERBOSE - Flag, if set gives verbose output
  SUPP - optional anonymous structure that contains extra information about
           the object.  This can be used either to override the standard
           information, or to provide missing information in cases where
           a spice kernel is being used.  Tags required are:
             name: descriptive name the way you want to see it
             diameter: size of object in km
             hv: absolute magnitude of object
             albedo: albedo for surface
             etrack: 1-sigma uncertainty in cross-track position [km]
             etime: 1-sigma uncertainty in the down-track position [seconds]
 OUTPUTS:
  A subdirectory is created with a unique string based on the time of
    execution to the nearest second. In the directory are a .in file for
    OCMAP and a .info file that captures the screen output
  version - The name of the output subdirectory
 KEYWORD OUTPUT PARAMETERS:
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:
  2018/10/17, Written by Marc Buie, Southwest Research Institute
  2018/11/17, Brian Keeney, added version control and saving info output
  2022/01/11, MWB, added appuldis summary to info output file
  2022/02/08, BK, Fixed problem with output radius, made write-protecting
              output optional (off by default), and enabled passing the
              subdirectory name to the caller
  2022/05/26, MWB, fixed problem with a truncated ephemeris table
  2023/04/06, MWB, added VERBOSE flag
  2023/07/28, MWB, added SUPP keyword