KPL/IK L'RALPH Instrument Kernel ============================================================================== This instrument kernel (I-kernel) contains Lucy Visible/IR integrated imaging and spectroscopy remote sensing package (L'RALPH) optics, detector, and field-of-view parameters. Version and Date ---------------------------------------------------------- Version 0.3 -- September 1, 2021 -- Matt Barnes, NAIF Updated MVIC and LEISA based on [7] and [8]. Added FOV definitions for the 23 LEISA channels as LUCY_RALPH_LEISA-C[04-26] (-49240 -> -49262) per [8]. Version 0.2 -- May 12, 2020 -- Boris Semenov, NAIF Added Ralph radiator FOV definition (for LUCY_RALPH_RAD/-49290) Version 0.1 -- March 2, 2020 -- Boris Semenov, NAIF - Renamed LUCY_RALPH_MVIC_FT to LUCY_RALPH_MVIC to be consistent with the updated FK (lucy_v01.tf) Version 0.0 -- October 15, 2019 -- Boris Semenov, NAIF - Initial version heavily based on [4] References ---------------------------------------------------------- 1. Kernel Pool Required Reading 2. Frames Required Reading 3. Lucy Frames Kernel, latest version 4. New Horizons RALPH IK, nh_ralph_v100u.ti, NH SPICE data set NH-J/P/SS-SPICE-6-V1.0 5. L'RALPH Instrument CDR materials, LRalph_CDR_Day1_v2.pptx and LRalph_CDR_Day2_v2.pptx 6. Lucy Spacecraft to L'RALPH ICD, LUCY-RQ-17-SE-5A, latest version 7. LRalph_detectors.pptx, Emma Birath, SWRI, August 16, 2021 8. LVFs.xlsx, Amy Simon, GFSC, Aug 24, 2021 Contact Information ---------------------------------------------------------- Matt Barnes, NAIF/JPL, (818)-354-5942, Matthew.J.Barnes@jpl.nasa.gov Boris Semenov, NAIF/JPL, (818)-354-8136, Boris.Semenov@jpl.nasa.gov Implementation Notes ---------------------------------------------------------- This file is used by the SPICE system as follows: programs that make use of this frame kernel must `load' the kernel, normally during program initialization. Loading the kernel associates the data items with their names in a data structure called the "kernel pool". The SPICE API FURNSH loads a kernel into the pool as shown below: FORTRAN (SPICELIB): CALL FURNSH ( 'frame_kernel_name' ) C (CSPICE): furnsh_c ( "frame_kernel_name" ); IDL (ICY): cspice_furnsh, 'frame_kernel_name' MATLAB (MICE): cspice_furnsh ( 'frame_kernel_name' ) PYTHON (SPICEYPY): spiceypy.furnsh( 'frame_kernel_name' ) This file was created and may be updated with a text editor or word processor. Naming Conventions ---------------------------------------------------------- All names referencing values in this I-kernel start with the characters `INS' followed by the NAIF Lucy spacecraft ID number (-49) followed by a NAIF three digit ID code for the L'RALPH instrument, defined in [3] as: LUCY_RALPH -49200 LUCY_RALPH_LEISA -49210 LUCY_RALPH_LEISA_LVF1 -49211 LUCY_RALPH_LEISA_LVF2 -49212 LUCY_RALPH_LEISA_LVF3 -49213 LUCY_RALPH_LEISA_C04 -49240 LUCY_RALPH_LEISA_C05 -49241 LUCY_RALPH_LEISA_C06 -49242 LUCY_RALPH_LEISA_C07 -49243 LUCY_RALPH_LEISA_C08 -49244 LUCY_RALPH_LEISA_C09 -49245 LUCY_RALPH_LEISA_C10 -49246 LUCY_RALPH_LEISA_C11 -49247 LUCY_RALPH_LEISA_C12 -49248 LUCY_RALPH_LEISA_C13 -49249 LUCY_RALPH_LEISA_C14 -49250 LUCY_RALPH_LEISA_C15 -49251 LUCY_RALPH_LEISA_C16 -49252 LUCY_RALPH_LEISA_C17 -49253 LUCY_RALPH_LEISA_C18 -49254 LUCY_RALPH_LEISA_C19 -49255 LUCY_RALPH_LEISA_C20 -49256 LUCY_RALPH_LEISA_C21 -49257 LUCY_RALPH_LEISA_C22 -49258 LUCY_RALPH_LEISA_C23 -49259 LUCY_RALPH_LEISA_C24 -49260 LUCY_RALPH_LEISA_C25 -49261 LUCY_RALPH_LEISA_C26 -49262 LUCY_RALPH_SCP -49220 LUCY_RALPH_MVIC -49230 LUCY_RALPH_MVIC_PAN -49231 LUCY_RALPH_MVIC_VIOLET -49236 LUCY_RALPH_MVIC_GREEN -49235 LUCY_RALPH_MVIC_ORANGE -49234 LUCY_RALPH_MVIC_PHYLLO -49233 LUCY_RALPH_MVIC_NIR -49232 LUCY_RALPH_SUNKOZ -49299 LUCY_RALPH_RAD -49290 The remainder of the name is an underscore character followed by the unique name of the data item. For example, the Ralph boresight direction in the Ralph LEISA frame (``LUCY_RALPH_LEISA'' -- see [3]) is specified by: INS-49210_BORESIGHT The upper bound on the length of the name of any data item is 32 characters. If the same item is included in more than one file, or if the same item appears more than once within a single file, the latest value supersedes any earlier values. L'RALPH description ---------------------------------------------------------- From [?]: TBD -- description in this section should be similar in scope to the description provided in [4] L'RALPH Field of View Parameters ---------------------------------------------------------- The detectors that constitute Ralph are MVIC, LEISA, and SCP. MVIC and LEISA have several focal plane arrays. - Multispectral Visible Imaging Camera (MVIC) - MVIC full array - MVIC Pan Array (PAN) - MVIC Violet Array (VIOLET) - MVIC Green Array (GREEN) - MVIC Orange Array (ORANGE) - MVIC Phyllo Array (PHYLLO) - MVIC Near Infrared Array (NIR) - Linear Etalon Imaging Spectral Array (LEISA) - LEISA LVF1 Array (LVF1) - LEISA LVF2 Array (LVF2) - LEISA LVF3 Array (LVF3) - LEISA Channel 04 (C04) - LEISA Channel 05 (C05) - LEISA Channel 06 (C06) - LEISA Channel 07 (C07) - LEISA Channel 08 (C08) - LEISA Channel 09 (C09) - LEISA Channel 10 (C10) - LEISA Channel 11 (C11) - LEISA Channel 12 (C12) - LEISA Channel 13 (C13) - LEISA Channel 14 (C14) - LEISA Channel 15 (C15) - LEISA Channel 16 (C16) - LEISA Channel 17 (C17) - LEISA Channel 18 (C18) - LEISA Channel 19 (C19) - LEISA Channel 20 (C20) - LEISA Channel 21 (C21) - LEISA Channel 22 (C22) - LEISA Channel 23 (C23) - LEISA Channel 24 (C24) - LEISA Channel 25 (C25) - LEISA Channel 26 (C26) - Solar Calibration Port (SCP) The field of view sizes for the above detectors/arrays based on pixel IFOVs and array sizes provided [7] are given in the tables below. Rectangular FOVs (coordinates in parenthesis are in the IPP frame): ---------- ----------------- ----------------- -------------- Detector Horizontal Vertical Cone Axis (cross scan) ---------- ----------------- ----------------- -------------- MVIC FT 8.2489 deg (in Y) 0.8894 deg (in Z) boresight (-X) PAN 8.2489 deg (in Y) 0.1056 deg (in Z) boresight (-X) VIOLET 8.2489 deg (in Y) 0.1056 deg (in Z) boresight (-X) GREEN 8.2489 deg (in Y) 0.1056 deg (in Z) boresight (-X) ORANGE 8.2489 deg (in Y) 0.1056 deg (in Z) boresight (-X) PHYLLO 8.2489 deg (in Y) 0.1056 deg (in Z) boresight (-X) NIR 8.2489 deg (in Y) 0.1056 deg (in Z) boresight (-X) LEISA 2.3468 deg (in Y) 3.3736 deg (in Z) boresight (-X) LVF1 2.3468 deg (in Y) 0.9901 deg (in Z) boresight (-X) LVF2 2.3468 deg (in Y) 0.9992 deg (in Z) boresight (-X) LVF3 2.3468 deg (in Y) 1.3178 deg (in Z) boresight (-X) C** 2.3468 deg (in Y) 0.1467 deg (in Z) boresight (-X) ---------- ----------------- ----------------- -------------- Circular FOV: ---------- ---------------- ---------------- Detector Diameter Cone Axis ---------- ---------------- ---------------- SCP 5.0 degrees near +Y ---------- ---------------- ---------------- The MVIC and LEISA full array boresights are coaligned, and they are as a result not through the full detector sensing area central pixel for either array. The boresights are at cross-track pixel 704 of LEISA which corresponds to cross-track pixel 2585 on MVIC. Along-track, the boresight is at pixel 1130 of LEISA and at the FOV center for MVIC (between bands 3/GREEN and 4/ORANGE). This means that MVIC FOV is centered in the along-track direction but not centered in the cross-track direction, and that LEISA FOV is centered in the cross-track direction but not the along-track direction. For MVIC individual Spectral Arrays, the boresights are through the same cross-track pixel 2585 as the full array and through the along-track central pixel of the Spectral Array. For LEISA LVF Arrays and individual channels, the boresights are through the central pixel of the array or channel. The SCP cone axis is the IPP spacecraft ZX plane right-hand rotated by 38 degrees around the Y axis from the MVIC and LEISA boresights. The INS[ID]_FOV_FRAME, INS[ID]_FOV_SHAPE, INS[ID]_BORESIGHT, and FOV ANGLES specification keywords defined below are used to describe the instrument field of view. Since the SCP detector has a circular field of view, and the MVIC, LEISA, and their arrays have rectangular ones, the INS[ID]_FOV_SHAPE will either be 'CIRCLE' or 'RECTANGLE'. For SCP, GETFOV returns a single vector that lies along the edge of the circular cone, and for the MVIC arrays and LEISA, GETFOV returns four boundary corner vectors. Multispectral Visible Imaging Camera (MVIC) FOV Definitions Since the MVIC full array's angular size in Z is 0.8894 degrees (half extent 0.4447 degrees), looking along the Y axis in the instrument frame we have: (Note we are arbitrarily choosing vectors that terminate in the X=-1 plane.) ^ Z | inst | |. | | `. | | `. | | o. | 0.4447 `. | <---------------x -X | ,' Y (in) inst | ,' inst | ,' | ,' |' |--- 1.0 ---| Plane Y = 0 The MVIC full array's angular size in Y is 8.2489 degrees, of which 4.2441 degrees is in the +Y direction and 4.0048 is in the -Y direction. Looking down the Z axis in the instrument frame, we have: (Note we are arbitrarily choosing vectors that terminate in the X=-1 plane.) ^ Y | inst | |. | | `. | | `. | | o. | 4.2441 `. | <---------------o -X | o ,' Z (out) inst 4.0048,' inst | ,' | ,' |' |--- 1.0 ---| Plane Z = 0 These FOV half extent values for the MVIC full array are given in the keywords below: \begindata INS-49230_FOV_FRAME = 'LUCY_RALPH_MVIC' INS-49230_FOV_SHAPE = 'RECTANGLE' INS-49230_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49230_FOV_CLASS_SPEC = 'CORNERS' INS-49230_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.070011655207 0.007761755863 -1.000000000000 0.074209376105 0.007761755863 -1.000000000000 0.074209376105 -0.007761755863 -1.000000000000 -0.070011655207 -0.007761755863 ) \begintext The angular size in Z for each of the TDI arrays is 0.1056 degrees (half extent 0.0528 degrees). Looking along the Y axis in the TDI array frame we have: (Note we are arbitrarily choosing vectors that terminate in the X=-1 plane.) ^ Z | array | |. | | `. | | `. | | o. | 0.0528 `. | <---------------x -X | ,' Y (in) array | ,' array | ,' | ,' |' |--- 1.0 ---| Plane Y = 0 Which leads to the following field of view definitions: \begindata INS-49231_FOV_FRAME = 'LUCY_RALPH_MVIC_PAN' INS-49231_FOV_SHAPE = 'RECTANGLE' INS-49231_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49231_FOV_CLASS_SPEC = 'CORNERS' INS-49231_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.070011655207 0.000921600261 -1.000000000000 0.074209376105 0.000921600261 -1.000000000000 0.074209376105 -0.000921600261 -1.000000000000 -0.070011655207 -0.000921600261 ) INS-49236_FOV_FRAME = 'LUCY_RALPH_MVIC_VIOLET' INS-49236_FOV_SHAPE = 'RECTANGLE' INS-49236_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49236_FOV_CLASS_SPEC = 'CORNERS' INS-49236_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.070011655207 0.000921600261 -1.000000000000 0.074209376105 0.000921600261 -1.000000000000 0.074209376105 -0.000921600261 -1.000000000000 -0.070011655207 -0.000921600261 ) INS-49235_FOV_FRAME = 'LUCY_RALPH_MVIC_GREEN' INS-49235_FOV_SHAPE = 'RECTANGLE' INS-49235_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49235_FOV_CLASS_SPEC = 'CORNERS' INS-49235_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.070011655207 0.000921600261 -1.000000000000 0.074209376105 0.000921600261 -1.000000000000 0.074209376105 -0.000921600261 -1.000000000000 -0.070011655207 -0.000921600261 ) INS-49234_FOV_FRAME = 'LUCY_RALPH_MVIC_ORANGE' INS-49234_FOV_SHAPE = 'RECTANGLE' INS-49234_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49234_FOV_CLASS_SPEC = 'CORNERS' INS-49234_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.070011655207 0.000921600261 -1.000000000000 0.074209376105 0.000921600261 -1.000000000000 0.074209376105 -0.000921600261 -1.000000000000 -0.070011655207 -0.000921600261 ) INS-49233_FOV_FRAME = 'LUCY_RALPH_MVIC_PHYLLO' INS-49233_FOV_SHAPE = 'RECTANGLE' INS-49233_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49233_FOV_CLASS_SPEC = 'CORNERS' INS-49233_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.070011655207 0.000921600261 -1.000000000000 0.074209376105 0.000921600261 -1.000000000000 0.074209376105 -0.000921600261 -1.000000000000 -0.070011655207 -0.000921600261 ) INS-49232_FOV_FRAME = 'LUCY_RALPH_MVIC_NIR' INS-49232_FOV_SHAPE = 'RECTANGLE' INS-49232_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49232_FOV_CLASS_SPEC = 'CORNERS' INS-49232_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.070011655207 0.000921600261 -1.000000000000 0.074209376105 0.000921600261 -1.000000000000 0.074209376105 -0.000921600261 -1.000000000000 -0.070011655207 -0.000921600261 ) \begintext Linear Etalon Imaging Spectral Array (LEISA) FOV Definition Since the LEISA's angular size in Z is 3.3736 degrees, of which 2.0031 degrees is in the +Z direction and 1.3705 degrees is in the -Z direction, looking along the Y axis in the instrument frame we have: (Note we are arbitrarily choosing vectors that terminate in the X=-1 plane.) ^ Z | inst | |. | | `. | | `. | | o. | 2.0031 `. | <---------------x -X | o ,' Y (in) inst 1.3705,' inst | ,' | ,' |' |--- 1.0 ---| Plane Y = 0 And since the LEISA's angular size in Y is 2.3468 degrees (half extent 1.1734 degrees), looking down the Z axis in the instrument frame, we have: (Note we are arbitrarily choosing vectors that terminate in the X=-1 plane.) ^ Y | inst | |. | | `. | | `. | | o. | 1.1734 `. | <---------------o -X | ,' Z (out) inst | ,' inst | ,' | ,' |' |--- 1.0 ---| Plane Z = 0 These FOV half extent values for LEISA are given in the keywords below: \begindata INS-49210_FOV_FRAME = 'LUCY_RALPH_LEISA' INS-49210_FOV_SHAPE = 'RECTANGLE' INS-49210_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49210_FOV_CLASS_SPEC = 'CORNERS' INS-49210_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.034974249689 -1.000000000000 0.020482863792 0.034974249689 -1.000000000000 0.020482863792 -0.023924563118 -1.000000000000 -0.020482863792 -0.023924563118 ) \begintext The angular size in Z for the LEISA LVF1, LVF2, and LVF3 arrays are 0.9901 (half is 0.4950), 0.9992 (half is 0.4996), and 1.3178 (half is 0.6589) degrees, respectively. Looking along the Y axis in the array frames we have: (Note we are arbitrarily choosing vectors that terminate in the X=-1 plane.) LVF1: ^ Z | array | |. | | `. | | `. | | o. | 0.4950 `. | <---------------x -X | ,' Y (in) array | ,' array | ,' | ,' |' |--- 1.0 ---| Plane Y = 0 LVF2: ^ Z | array | |. | | `. | | `. | | o. | 0.4996 `. | <---------------x -X | ,' Y (in) array | ,' array | ,' | ,' |' |--- 1.0 ---| Plane Y = 0 LVF3: ^ Z | array | |. | | `. | | `. | | o. | 0.6589 `. | <---------------x -X | ,' Y (in) array | ,' array | ,' | ,' |' |--- 1.0 ---| Plane Y = 0 Which leads to the following field of view definitions: \begindata INS-49211_FOV_FRAME = 'LUCY_RALPH_LEISA_LVF1' INS-49211_FOV_SHAPE = 'RECTANGLE' INS-49211_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49211_FOV_CLASS_SPEC = 'CORNERS' INS-49211_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.008640214997 -1.000000000000 0.020482863792 0.008640214997 -1.000000000000 0.020482863792 -0.008640214997 -1.000000000000 -0.020482863792 -0.008640214997 ) INS-49212_FOV_FRAME = 'LUCY_RALPH_LEISA_LVF2' INS-49212_FOV_SHAPE = 'RECTANGLE' INS-49212_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49212_FOV_CLASS_SPEC = 'CORNERS' INS-49212_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.008720221025 -1.000000000000 0.020482863792 0.008720221025 -1.000000000000 0.020482863792 -0.008720221025 -1.000000000000 -0.020482863792 -0.008720221025 ) INS-49213_FOV_FRAME = 'LUCY_RALPH_LEISA_LVF3' INS-49213_FOV_SHAPE = 'RECTANGLE' INS-49213_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49213_FOV_CLASS_SPEC = 'CORNERS' INS-49213_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.011500506985 -1.000000000000 0.020482863792 0.011500506985 -1.000000000000 0.020482863792 -0.011500506985 -1.000000000000 -0.020482863792 -0.011500506985 ) \begintext The angular size in Z for each of the LEISA Channel C[04-26] FOVs is 0.1467 (half is 0.0733) degrees. Looking along the Y axis in the array frames we have: (Note we are arbitrarily choosing vectors that terminate in the X=-1 plane.) C**: ^ Z | array | |. | | `. | | `. | | o. | 0.0733 `. | <---------------x -X | ,' Y (in) array | ,' array | ,' | ,' |' |--- 1.0 ---| Plane Y = 0 Which leads to the following field of view definitions: \begindata INS-49240_FOV_FRAME = 'LUCY_RALPH_LEISA_C04' INS-49240_FOV_SHAPE = 'RECTANGLE' INS-49240_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49240_FOV_CLASS_SPEC = 'CORNERS' INS-49240_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49241_FOV_FRAME = 'LUCY_RALPH_LEISA_C05' INS-49241_FOV_SHAPE = 'RECTANGLE' INS-49241_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49241_FOV_CLASS_SPEC = 'CORNERS' INS-49241_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49242_FOV_FRAME = 'LUCY_RALPH_LEISA_C06' INS-49242_FOV_SHAPE = 'RECTANGLE' INS-49242_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49242_FOV_CLASS_SPEC = 'CORNERS' INS-49242_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49243_FOV_FRAME = 'LUCY_RALPH_LEISA_C07' INS-49243_FOV_SHAPE = 'RECTANGLE' INS-49243_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49243_FOV_CLASS_SPEC = 'CORNERS' INS-49243_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49244_FOV_FRAME = 'LUCY_RALPH_LEISA_C08' INS-49244_FOV_SHAPE = 'RECTANGLE' INS-49244_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49244_FOV_CLASS_SPEC = 'CORNERS' INS-49244_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49245_FOV_FRAME = 'LUCY_RALPH_LEISA_C09' INS-49245_FOV_SHAPE = 'RECTANGLE' INS-49245_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49245_FOV_CLASS_SPEC = 'CORNERS' INS-49245_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49246_FOV_FRAME = 'LUCY_RALPH_LEISA_C10' INS-49246_FOV_SHAPE = 'RECTANGLE' INS-49246_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49246_FOV_CLASS_SPEC = 'CORNERS' INS-49246_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49247_FOV_FRAME = 'LUCY_RALPH_LEISA_C11' INS-49247_FOV_SHAPE = 'RECTANGLE' INS-49247_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49247_FOV_CLASS_SPEC = 'CORNERS' INS-49247_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49248_FOV_FRAME = 'LUCY_RALPH_LEISA_C12' INS-49248_FOV_SHAPE = 'RECTANGLE' INS-49248_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49248_FOV_CLASS_SPEC = 'CORNERS' INS-49248_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49249_FOV_FRAME = 'LUCY_RALPH_LEISA_C13' INS-49249_FOV_SHAPE = 'RECTANGLE' INS-49249_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49249_FOV_CLASS_SPEC = 'CORNERS' INS-49249_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49250_FOV_FRAME = 'LUCY_RALPH_LEISA_C14' INS-49250_FOV_SHAPE = 'RECTANGLE' INS-49250_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49250_FOV_CLASS_SPEC = 'CORNERS' INS-49250_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49251_FOV_FRAME = 'LUCY_RALPH_LEISA_C15' INS-49251_FOV_SHAPE = 'RECTANGLE' INS-49251_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49251_FOV_CLASS_SPEC = 'CORNERS' INS-49251_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49252_FOV_FRAME = 'LUCY_RALPH_LEISA_C16' INS-49252_FOV_SHAPE = 'RECTANGLE' INS-49252_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49252_FOV_CLASS_SPEC = 'CORNERS' INS-49252_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49253_FOV_FRAME = 'LUCY_RALPH_LEISA_C17' INS-49253_FOV_SHAPE = 'RECTANGLE' INS-49253_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49253_FOV_CLASS_SPEC = 'CORNERS' INS-49253_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49254_FOV_FRAME = 'LUCY_RALPH_LEISA_C18' INS-49254_FOV_SHAPE = 'RECTANGLE' INS-49254_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49254_FOV_CLASS_SPEC = 'CORNERS' INS-49254_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49255_FOV_FRAME = 'LUCY_RALPH_LEISA_C19' INS-49255_FOV_SHAPE = 'RECTANGLE' INS-49255_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49255_FOV_CLASS_SPEC = 'CORNERS' INS-49255_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49256_FOV_FRAME = 'LUCY_RALPH_LEISA_C20' INS-49256_FOV_SHAPE = 'RECTANGLE' INS-49256_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49256_FOV_CLASS_SPEC = 'CORNERS' INS-49256_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49257_FOV_FRAME = 'LUCY_RALPH_LEISA_C21' INS-49257_FOV_SHAPE = 'RECTANGLE' INS-49257_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49257_FOV_CLASS_SPEC = 'CORNERS' INS-49257_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49258_FOV_FRAME = 'LUCY_RALPH_LEISA_C22' INS-49258_FOV_SHAPE = 'RECTANGLE' INS-49258_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49258_FOV_CLASS_SPEC = 'CORNERS' INS-49258_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49259_FOV_FRAME = 'LUCY_RALPH_LEISA_C23' INS-49259_FOV_SHAPE = 'RECTANGLE' INS-49259_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49259_FOV_CLASS_SPEC = 'CORNERS' INS-49259_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49260_FOV_FRAME = 'LUCY_RALPH_LEISA_C24' INS-49260_FOV_SHAPE = 'RECTANGLE' INS-49260_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49260_FOV_CLASS_SPEC = 'CORNERS' INS-49260_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49261_FOV_FRAME = 'LUCY_RALPH_LEISA_C25' INS-49261_FOV_SHAPE = 'RECTANGLE' INS-49261_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49261_FOV_CLASS_SPEC = 'CORNERS' INS-49261_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) INS-49262_FOV_FRAME = 'LUCY_RALPH_LEISA_C26' INS-49262_FOV_SHAPE = 'RECTANGLE' INS-49262_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49262_FOV_CLASS_SPEC = 'CORNERS' INS-49262_FOV_BOUNDARY_CORNERS = ( -1.000000000000 -0.020482863792 0.001280000699 -1.000000000000 0.020482863792 0.001280000699 -1.000000000000 0.020482863792 -0.001280000699 -1.000000000000 -0.020482863792 -0.001280000699 ) \begintext Solar Calibration Port (SCP) FOV Definition The SCP frame is defined such that the boresight is the port frame's Z axis. The field of view is circular with a 5 degree (half extent 2.5 degrees) angular size [TBD -- tentatively set to the SIA size from [4]]. A cross section is illustrated below. (Note we are arbitrarily choosing vectors that terminate in the Z=1 plane.) Y ^ scp | | | | | _.-| | _.-' o| |_.-' 2.5 | x--------------> X (in)`~._ | Z scp `~._ | scp `~.| |--- 1.0 ---| Plane X = 0 Because the SCP field of view is circular, the FOV reference vector (keyword FOV_REF_VECTOR) is any vector with a component that lies in a plane normal to the field of view boresight. We chose the +Y axis of the instrument frame. This FOV half extent value is given in the keywords below: \begindata INS-49220_FOV_FRAME = 'LUCY_RALPH_SCP' INS-49220_FOV_SHAPE = 'CIRCLE' INS-49220_BORESIGHT = ( 0.0, 0.0, 1.0 ) INS-49220_FOV_CLASS_SPEC = 'ANGLES' INS-49220_FOV_REF_VECTOR = ( 0.0, 1.0, 0.0 ) INS-49220_FOV_REF_ANGLE = ( 2.5 ) INS-49220_FOV_ANGLE_UNITS = 'DEGREES' \begintext Sun Damage Keep-out Zone (SUNKOZ) FOV Definition Per [6], SUNKOZ FOV is an 16 x 16 degree rectangle centered on the instrument frame's -X axis: ^ Z | inst | |. | | `. | | `. | | o`. | | 8.0 `. | <---------------x -X | ,' Y (in) inst | ,' inst | ,' | ,' |' |--- 1.0 ---| Plane Y = 0 This FOV is defined below: \begindata INS-49299_FOV_CLASS_SPEC = 'ANGLES' INS-49299_FOV_SHAPE = 'RECTANGLE' INS-49299_FOV_FRAME = 'LUCY_RALPH' INS-49299_BORESIGHT = ( -1.0, 0.0, 0.0 ) INS-49299_FOV_REF_VECTOR = ( 0.0, 0.0, 1.0 ) INS-49299_FOV_REF_ANGLE = ( 8.0 ) INS-49299_FOV_CROSS_ANGLE = ( 8.0 ) INS-49299_FOV_ANGLE_UNITS = ( 'DEGREES' ) \begintext Radiator (RAD) FOV Definition The radiator FOV is a 2pi steradian cone centered on the radiator frame's +Z axis: ^ X | rad | . | . ' | . | o | ' 180.0 | <---------------x +Z . Y (in) rad . rad . | ' . | | Plane Y = 0 To work around a limitation in the GFTFOV routine this FOV is defined below as a polygon with 8 boundary vectors, with the opposite vectors 179.8 degrees apart: \begindata INS-49290_FOV_FRAME = 'LUCY_RALPH_RAD' INS-49290_FOV_SHAPE = 'POLYGON' INS-49290_BORESIGHT = ( 0.0 0.0 1.0 ) INS-49290_FOV_BOUNDARY_CORNERS = ( 0.999998476913 0.000000000000 0.001745328366 0.707105704202 0.707105704202 0.001745328366 0.000000000000 0.999998476913 0.001745328366 -0.707105704202 0.707105704202 0.001745328366 -0.999998476913 0.000000000000 0.001745328366 -0.707105704202 -0.707105704202 0.001745328366 -0.000000000000 -0.999998476913 0.001745328366 0.707105704202 -0.707105704202 0.001745328366 ) \begintext L'RALPH Detector Parameters ---------------------------------------------------------- From [5], the MVIC pixels are 13 microns wide with a single pixel FOV of 28.8 microradians. The FT array is 5024 x 539 pixels while the TDI array sizes are 5024 x 64 pixels with 31 pixels gaps in between. These values are captured for each of the MVIC arrays in the keywords below. \begindata INS-49230_PIXEL_SIZE = ( 13.0 ) INS-49230_IFOV = ( 28.8 ) INS-49230_PIXEL_SAMPLES = ( 5024 ) INS-49230_PIXEL_LINES = ( 539 ) INS-49231_PIXEL_SIZE = ( 13.0 ) INS-49231_IFOV = ( 28.8 ) INS-49231_PIXEL_SAMPLES = ( 5024 ) INS-49231_PIXEL_LINES = ( 64 ) INS-49232_PIXEL_SIZE = ( 13.0 ) INS-49232_IFOV = ( 28.8 ) INS-49232_PIXEL_SAMPLES = ( 5024 ) INS-49232_PIXEL_LINES = ( 64 ) INS-49233_PIXEL_SIZE = ( 13.0 ) INS-49233_IFOV = ( 28.8 ) INS-49233_PIXEL_SAMPLES = ( 5024 ) INS-49233_PIXEL_LINES = ( 64 ) INS-49234_PIXEL_SIZE = ( 13.0 ) INS-49234_IFOV = ( 28.8 ) INS-49234_PIXEL_SAMPLES = ( 5024 ) INS-49234_PIXEL_LINES = ( 64 ) INS-49235_PIXEL_SIZE = ( 13.0 ) INS-49235_IFOV = ( 28.8 ) INS-49235_PIXEL_SAMPLES = ( 5024 ) INS-49235_PIXEL_LINES = ( 64 ) INS-49236_PIXEL_SIZE = ( 13.0 ) INS-49236_IFOV = ( 28.8 ) INS-49236_PIXEL_SAMPLES = ( 5024 ) INS-49236_PIXEL_LINES = ( 64 ) \begintext From [5], the LEISA pixels are 18 microns wide with a single pixel FOV of 40 microradians. The full LEISA array is 1024 x 1472 pixels, while the LVF1, LVF2, and LVF3 arrays are 1024 x 432, 1024 x 436, and 1024 x 575 pixels. Each Channel is 1024 x 64 pixels. These values are captured for each of the LVF arrays in the keywords below. \begindata INS-49210_PIXEL_SIZE = ( 18.0 ) INS-49210_IFOV = ( 40.0 ) INS-49210_PIXEL_SAMPLES = ( 1024 ) INS-49210_PIXEL_LINES = ( 1472 ) INS-49211_PIXEL_SIZE = ( 18.0 ) INS-49211_IFOV = ( 40.0 ) INS-49211_PIXEL_SAMPLES = ( 1024 ) INS-49211_PIXEL_LINES = ( 432 ) INS-49212_PIXEL_SIZE = ( 18.0 ) INS-49212_IFOV = ( 40.0 ) INS-49212_PIXEL_SAMPLES = ( 1024 ) INS-49212_PIXEL_LINES = ( 436 ) INS-49213_PIXEL_SIZE = ( 18.0 ) INS-49213_IFOV = ( 40.0 ) INS-49213_PIXEL_SAMPLES = ( 1024 ) INS-49213_PIXEL_LINES = ( 575 ) INS-49240_PIXEL_SIZE = ( 18.0 ) INS-49240_IFOV = ( 40.0 ) INS-49240_PIXEL_SAMPLES = ( 1024 ) INS-49240_PIXEL_LINES = ( 64 ) INS-49241_PIXEL_SIZE = ( 18.0 ) INS-49241_IFOV = ( 40.0 ) INS-49241_PIXEL_SAMPLES = ( 1024 ) INS-49241_PIXEL_LINES = ( 64 ) INS-49242_PIXEL_SIZE = ( 18.0 ) INS-49242_IFOV = ( 40.0 ) INS-49242_PIXEL_SAMPLES = ( 1024 ) INS-49242_PIXEL_LINES = ( 64 ) INS-49243_PIXEL_SIZE = ( 18.0 ) INS-49243_IFOV = ( 40.0 ) INS-49243_PIXEL_SAMPLES = ( 1024 ) INS-49243_PIXEL_LINES = ( 64 ) INS-49244_PIXEL_SIZE = ( 18.0 ) INS-49244_IFOV = ( 40.0 ) INS-49244_PIXEL_SAMPLES = ( 1024 ) INS-49244_PIXEL_LINES = ( 64 ) INS-49245_PIXEL_SIZE = ( 18.0 ) INS-49245_IFOV = ( 40.0 ) INS-49245_PIXEL_SAMPLES = ( 1024 ) INS-49245_PIXEL_LINES = ( 64 ) INS-49246_PIXEL_SIZE = ( 18.0 ) INS-49246_IFOV = ( 40.0 ) INS-49246_PIXEL_SAMPLES = ( 1024 ) INS-49246_PIXEL_LINES = ( 64 ) INS-49247_PIXEL_SIZE = ( 18.0 ) INS-49247_IFOV = ( 40.0 ) INS-49247_PIXEL_SAMPLES = ( 1024 ) INS-49247_PIXEL_LINES = ( 64 ) INS-49248_PIXEL_SIZE = ( 18.0 ) INS-49248_IFOV = ( 40.0 ) INS-49248_PIXEL_SAMPLES = ( 1024 ) INS-49248_PIXEL_LINES = ( 64 ) INS-49249_PIXEL_SIZE = ( 18.0 ) INS-49249_IFOV = ( 40.0 ) INS-49249_PIXEL_SAMPLES = ( 1024 ) INS-49249_PIXEL_LINES = ( 64 ) INS-49250_PIXEL_SIZE = ( 18.0 ) INS-49250_IFOV = ( 40.0 ) INS-49250_PIXEL_SAMPLES = ( 1024 ) INS-49250_PIXEL_LINES = ( 64 ) INS-49251_PIXEL_SIZE = ( 18.0 ) INS-49251_IFOV = ( 40.0 ) INS-49251_PIXEL_SAMPLES = ( 1024 ) INS-49251_PIXEL_LINES = ( 64 ) INS-49252_PIXEL_SIZE = ( 18.0 ) INS-49252_IFOV = ( 40.0 ) INS-49252_PIXEL_SAMPLES = ( 1024 ) INS-49252_PIXEL_LINES = ( 64 ) INS-49253_PIXEL_SIZE = ( 18.0 ) INS-49253_IFOV = ( 40.0 ) INS-49253_PIXEL_SAMPLES = ( 1024 ) INS-49253_PIXEL_LINES = ( 64 ) INS-49254_PIXEL_SIZE = ( 18.0 ) INS-49254_IFOV = ( 40.0 ) INS-49254_PIXEL_SAMPLES = ( 1024 ) INS-49254_PIXEL_LINES = ( 64 ) INS-49255_PIXEL_SIZE = ( 18.0 ) INS-49255_IFOV = ( 40.0 ) INS-49255_PIXEL_SAMPLES = ( 1024 ) INS-49255_PIXEL_LINES = ( 64 ) INS-49256_PIXEL_SIZE = ( 18.0 ) INS-49256_IFOV = ( 40.0 ) INS-49256_PIXEL_SAMPLES = ( 1024 ) INS-49256_PIXEL_LINES = ( 64 ) INS-49257_PIXEL_SIZE = ( 18.0 ) INS-49257_IFOV = ( 40.0 ) INS-49257_PIXEL_SAMPLES = ( 1024 ) INS-49257_PIXEL_LINES = ( 64 ) INS-49258_PIXEL_SIZE = ( 18.0 ) INS-49258_IFOV = ( 40.0 ) INS-49258_PIXEL_SAMPLES = ( 1024 ) INS-49258_PIXEL_LINES = ( 64 ) INS-49259_PIXEL_SIZE = ( 18.0 ) INS-49259_IFOV = ( 40.0 ) INS-49259_PIXEL_SAMPLES = ( 1024 ) INS-49259_PIXEL_LINES = ( 64 ) INS-49260_PIXEL_SIZE = ( 18.0 ) INS-49260_IFOV = ( 40.0 ) INS-49260_PIXEL_SAMPLES = ( 1024 ) INS-49260_PIXEL_LINES = ( 64 ) INS-49261_PIXEL_SIZE = ( 18.0 ) INS-49261_IFOV = ( 40.0 ) INS-49261_PIXEL_SAMPLES = ( 1024 ) INS-49261_PIXEL_LINES = ( 64 ) INS-49262_PIXEL_SIZE = ( 18.0 ) INS-49262_IFOV = ( 40.0 ) INS-49262_PIXEL_SAMPLES = ( 1024 ) INS-49262_PIXEL_LINES = ( 64 ) \begintext End of IK file.