NAME:
  occattr
 PURPOSE:   (one line only)
  Determine occulation attributes
 DESCRIPTION:
 CATEGORY:
  Occultations
 CALLING SEQUENCE:
  occattr,app,roi,attr
 xxx    ,dir,roiconfig,sunobs,starobs,/force,/verbose
 INPUTS:
  app - anonymous structure with the following tags:
         objid:     Occulting body id (e.g., '617')
         datetime:  Occultation date/time in format 'YYYYMMDDHHMMSS'
  roi      - Structure returned by rdoccroi.pro
 OPTIONAL INPUT PARAMETERS:
  DIR      - Directory for writing output files (default='')
  roiconfig - ROI configuration file (default='')
  sunobs  - Maximum Sun altitude in observable zone (degrees; default=-12)
  starobs - Minimum star altitude in observable zone (degrees; default=20)
 KEYWORD INPUT PARAMETERS:
  /FORCE   - Force creation of centerline file if it already exists
  /VERBOSE - Print extra output to the screen
  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:
  attr - Anonymous structure containing occultation attributes
 KEYWORD OUTPUT PARAMETERS:
 CONFIGURATION:
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:
  Written by Brian Keeney, Southwest Research Institute, 2022-02-24
  2023/04/04, MWB, structural reworking and simplifications
  2023/07/25, MWB, added SUPP keyword