Addendum IK File

Addendum IK files follow SPICE Text Kernel Specifications. They can be used to:

  1. Define GEOGEN detector type and related parameters,

  2. Add or update definitions superseding existing definitions in IK or FK files in ESA’s SPICE Kernels Datasets (SKD), for example: detector field-of-view (FOV), instantaneous field-of-view (IFOV) or target synonyms.

Detector Type

GEOGEN-specific instrument keywords names follow the same schema as for instrument keywords in IK files, where <INSTID> is to be replaced with the NAIF body code assigned to a given instrument detector (typically defined in FK files), and the GG prefix is used to distinguish GEOGEN-specific keywords from other instrument keywords.

INS<INSTID>_GG_DETECTOR_TYPE (string)

Type of the detector: IN-SITU (optional), POINT, LINE, or FRAME.

Tip

Use the GEOGEN CLI fov command to check the type of an instrument detector, for which a FOV is defined.

IN-SITU

IN-SITU is the default GEOGEN detector type and does not require explicit definition in addendum IK files, nor additional keywords.

POINT

A POINT detector does not require additional keywords.

In the example below, the ROS_MIRO_MM (NAID body code -226131) detector is defined as POINT detector:

\begindata

    INS-226131_GG_DETECTOR_TYPE = 'POINT'

\begintext

LINE

A LINE detector must have the following keywords:

INS<INSTID>_GG_DETECTOR_MODES (int[N])

List of N arbitrary set integers defining detector modes.

INS<INSTID>_GG_AOV_ROT_VECTOR (double[3])

Angle-of-view rotation 3-element vector defined w.r.t. the detector frame.

INS<INSTID>_GG_AOV_ANGLES (double[N])

List of N angle-of-view rotation angles about the rotation vector corresponding to each detector mode defined by the INS<INSTID>_GG_DETECTOR_MODES keyword. Values are expressed in units defined by the INS<INSTID>_GG_AOV_ANGLE_UNITS keyword.

INS<INSTID>_GG_AOV_ANGLE_UNITS (string)

Units of angle-of-view rotation angles defined in INS<INSTID>_GG_AOV_ANGLES: DEGREES, RADIANS, ARCMINUTES, ARCSECONDS, HOURANGLE, MINUTEANGLE, SECONDANGLE.

In the following example, the MEX_OMEGA_SWIR_C detector (NAIF code -41421) is defined as LINE detector with four modes: 16, 32, 64, 128. The angle-of-view (AOV) is defined by a rotation of respectively 1.0, 2.1, 4.2, and 8.5 degrees about the Y-axis of the MEX_OMEGA_SWIR_C detector frame:

\begindata

    INS-41421_GG_DETECTOR_TYPE    = 'LINE'
    INS-41421_GG_DETECTOR_MODES   = ( 16,   32,   64,  128  )
    INS-41421_GG_AOV_ROT_VECTOR   = ( 0.000  1.000  0.000 )
    INS-41421_GG_AOV_ANGLES       = ( 1.0, 2.1,  4.2,  8.5  )
    INS-41421_GG_AOV_ANGLE_UNITS  = 'DEGREES'

\begintext

In the following example, the MEX_HRSC_NADIR detector (NAIF code -41215) is defined as LINE detector with only one default mode: 1. The angle-of-view (AOV) is defined by a rotation of 11.88085 degrees about the Y-axis of the MEX_HRSC_HEAD detector frame:

\begindata

    INS-41215_GG_DETECTOR_TYPE    = 'LINE'
    INS-41215_GG_DETECTOR_MODES   = ( 1 )
    INS-41215_GG_AOV_ROT_VECTOR   = ( 0.000  1.000  0.000 )
    INS-41215_GG_AOV_ANGLES       = ( 11.88085 )
    INS-41215_GG_AOV_ANGLE_UNITS  = 'DEGREES'

\begintext

FRAME

A FRAME detector may require the following additional keyword:

INS<INSTID>_GG_DETECTOR_SUBFRAME (string)

Defines whether or not detector exhibits sub-framing behaviour: TRUE or FALSE.

Example for TGO CASSIS PAN detector:

\begindata

    INS-143421_GG_DETECTOR_TYPE     = 'FRAME'
    INS-143421_GG_DETECTOR_SUBFRAME = 'TRUE'

\begintext

Detector FOV

In some cases it may be required to define a detector FOV that is not defined in the mission SKD IK file. See the “Particulars” section of the SPICE getfov routine header for a description of the FOV required keywords specification.

In the example below, a generic MEX_MARSIS detector (NAIF code -41300) FOV is defined so that it can be defined as POINT detector and enable corresponding geometry metadata computation.

\begindata

     INS-41300_FOV_FRAME        = 'MEX_SPACECRAFT'
     INS-41300_FOV_SHAPE        = 'RECTANGLE'
     INS-41300_BORESIGHT        = ( 0.00000  0.00000  1.00000 )
     INS-41300_FOV_CLASS_SPEC   = 'ANGLES'
     INS-41300_FOV_REF_VECTOR   = ( 1.00000  0.00000  0.00000 )
     INS-41300_FOV_REF_ANGLE    = 1.0
     INS-41300_FOV_CROSS_ANGLE  = 1.0
     INS-41300_FOV_ANGLE_UNITS  = 'DEGREES'

\begintext

Detector IFOV

Across-track pixel resolution geometry parameters min_spatial_resolution and max_spatial_resolution are computed for non IN-SITU detectors when a INS<INSTID>_IFOV parameter is defined in the corresponding mission SKD IK file. When missing or not expressed in radians, it can temporarily be defined in an addendum IK file.

In the example below, the IFOV of the MEX_OMEGA_SWIR_C detector (NAIF code -41421) is defined to 0.0012 radians:

\begindata

    INS-41421_IFOV = ( 0.0012 )

\begintext

Target synonyms

Target NAIF body names and synonyms are typically defined in mission SKD FK file. Additional synonyms, sometimes used in PDS data products labels, can be defined in addendum IK files. This allows GEOGEN to use a unique reference target name within the Configuration File (see target), and for naming output Coverage GeoJSON files.

The last target body name defined in the addendum kernel, and loaded in the kernels pool, has precedence over the others.

In the example below, three additional synonyms for CHURYUMOV-GERASIMENKO (NAIF body ID 1000012) are defined: 67P/CHURYUMOV-GERASIMENKO 1 (1969 R1), 67P/CHURYUMOV-GERASIMENKO 1969 R1 and CHURY, where CHURY becomes the GEOGEN reference target name for the Rosetta mission.

\begindata

    NAIF_BODY_NAME += ( '67P/CHURYUMOV-GERASIMENKO 1 (1969 R1)' )
    NAIF_BODY_CODE += ( 1000012 )

    NAIF_BODY_NAME += ( '67P/CHURYUMOV-GERASIMENKO 1969 R1' )
    NAIF_BODY_CODE += ( 1000012 )

    NAIF_BODY_NAME += ( 'CHURY' )
    NAIF_BODY_CODE += ( 1000012 )

\begintext