KPL/FK Generic Frame Definition Kernel File for Lagrange Point =========================================================================== This frame kernel defines a dynamic one used in the generation of the Lagrange points for the Earth/Moon system. Additionally it includes the NAIF IDs for Lagrange points belonging to Sun/Earth and Earth/Moon systems and that are not ``built'' in the SPICE toolkit. Version and Date ======================================================================== Version 0.0 -- August 24, 2023 -- Alfredo Escalante Lopez, ESAC/ESA Rafael Andres Blasco, ESAC/ESA Implemented Geocentric Solar Orbital reference frame Implemented Moon-centric Earth Orbital reference frame Added NAIF IDs for Lagrange points for Sun/Earth and Earth/Moon systems Initial version. References ======================================================================== 1. ``Frames Required Reading'' 2. ``Kernel Pool Required Reading'' Contact Information ======================================================================== If you have any questions regarding this file contact the ESA SPICE Service (ESS) at ESAC: Alfredo Escalante Lopez (+34) 91-8131-429 spice@sciops.esa.int 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. The SPICELIB routine FURNSH, the CSPICE function furnsh_c and the ICY function cspice_furnsh load a kernel file into the kernel pool as shown below. CALL FURNSH ( 'frame_kernel_name' ) furnsh_c ( "frame_kernel_name" ); cspice_furnsh ( 'frame_kernel_name' ) This file was created and may be updated with a text editor or word processor. ESA/RSSD Generic Frame Names and NAIF ID Codes ======================================================================== The following names and NAIF ID codes are assigned to the generic frames defined in this kernel file: Frame Name NAIF ID Center Description ------------ ------- ------- ------------------------------- GSO 1505399 EARTH Geocentric Solar Orbital LEO 1502301 MOON Moon-centric Earth Orbital General Notes About This File ======================================================================== About Required Data: -------------------- Most of the dynamic frames defined in this file require at least one of the following kernels to be loaded prior to their evaluation, normally during program initialization: - Planetary ephemeris data (SPK), i.e. DE403, DE405, etc. - Planetary Constants data (PCK), i.e. PCK00007.TPC, PCK00008.TPC. Note that loading different kernels will lead to different implementations of the same frame, providing different results from each other, in terms of state vectors referred to these frames. Generic Dynamic Frames ======================================================================== This section contains the definition of the Generic Dynamic Frames. Geocentric Solar Orbital frame (GSO) ---------------------------------------- Definition: ----------- The Geocentric Solar Orbital frame is defined as follows: - The position of the Sun relative to Earth is the primary vector: +X axis points from Earth to the Sun; - The inertial referenced velocity of the Sun relative to Earth is the secondary vector: +Y axis is the component of this velocity vector orthogonal to the +X axis; - +Z axis completes the right-handed system; - the origin of this frame is Earth's center of mass. All vectors are geometric: no corrections are used. Required Data: -------------- This frame is defined as a two-vector frame using two different types of specifications for the primary and secondary vectors. The primary vector is defined as an 'observer-target position' vector, therefore, the ephemeris data required to compute the Earth-Sun vector in J2000 frame have to be loaded before using this frame. The secondary vector is defined as an 'observer-target velocity' vector, therefore, the ephemeris data required to compute the Earth-Sun velocity vector in the J2000 frame have to be loaded before using this frame. Remarks: -------- This frame is defined based on SPK data: different planetary ephemerides (DE families) for Sun, the Earth and the Solar System Barycenter will lead to different frames. \begindata FRAME_GSO = 1505399 FRAME_1505399_NAME = 'GSO' FRAME_1505399_CLASS = 5 FRAME_1505399_CLASS_ID = 1505399 FRAME_1505399_CENTER = 399 FRAME_1505399_RELATIVE = 'J2000' FRAME_1505399_DEF_STYLE = 'PARAMETERIZED' FRAME_1505399_FAMILY = 'TWO-VECTOR' FRAME_1505399_PRI_AXIS = 'X' FRAME_1505399_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_1505399_PRI_OBSERVER = 'EARTH' FRAME_1505399_PRI_TARGET = 'SUN' FRAME_1505399_PRI_ABCORR = 'NONE' FRAME_1505399_SEC_AXIS = 'Y' FRAME_1505399_SEC_VECTOR_DEF = 'OBSERVER_TARGET_VELOCITY' FRAME_1505399_SEC_OBSERVER = 'EARTH' FRAME_1505399_SEC_TARGET = 'SUN' FRAME_1505399_SEC_ABCORR = 'NONE' FRAME_1505399_SEC_FRAME = 'J2000' \begintext Moon-centric Earth Orbital frame (LEO) ---------------------------------------- Definition: ----------- The Moon-centric Earth Orbital frame is defined as follows: - The position of the Earth relative to Moon is the primary vector: +X axis points from Moon to the Earth; - The inertially referenced velocity of the Earth relative to Moon is the secondary vector: +Y axis is the component of this velocity vector orthogonal to the +X axis; - +Z axis completes the right-handed system; - the origin of this frame is Moon' center of mass. All vectors are geometric: no corrections are used. Required Data: -------------- This frame is defined as a two-vector frame using two different types of specifications for the primary and secondary vectors. The primary vector is defined as an 'observer-target position' vector, therefore, the ephemeris data required to compute the Moon-Earth vector in J2000 frame have to be loaded before using this frame. The secondary vector is defined as an 'observer-target velocity' vector, therefore, the ephemeris data required to compute the Moon-Earth velocity vector in the J2000 frame have to be loaded before using this frame. Remarks: -------- This frame is defined based on SPK data: different planetary ephemerides (DE families) for Moon, the Earth and the Solar System Barycenter will lead to different frames. \begindata FRAME_LEO = 1502301 FRAME_1502301_NAME = 'LEO' FRAME_1502301_CLASS = 5 FRAME_1502301_CLASS_ID = 1502301 FRAME_1502301_CENTER = 301 FRAME_1502301_RELATIVE = 'J2000' FRAME_1502301_DEF_STYLE = 'PARAMETERIZED' FRAME_1502301_FAMILY = 'TWO-VECTOR' FRAME_1502301_PRI_AXIS = 'X' FRAME_1502301_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_1502301_PRI_OBSERVER = 'MOON' FRAME_1502301_PRI_TARGET = 'EARTH' FRAME_1502301_PRI_ABCORR = 'NONE' FRAME_1502301_SEC_AXIS = 'Y' FRAME_1502301_SEC_VECTOR_DEF = 'OBSERVER_TARGET_VELOCITY' FRAME_1502301_SEC_OBSERVER = 'MOON' FRAME_1502301_SEC_TARGET = 'EARTH' FRAME_1502301_SEC_ABCORR = 'NONE' FRAME_1502301_SEC_FRAME = 'J2000' \begintext NAIF ID Codes to Name Mapping ------------------------------------------------------------------------------ This section contains name to NAIF ID mappings. Once the contents of this file are loaded into the KERNEL POOL, these mappings become available within SPICE, making it possible to use names instead of ID code in the high level SPICE routine calls. ---------------------- -------- Name ID ---------------------- -------- L1_SUN_EARTH 391 L2_SUN_EARTH 392 L3_SUN_EARTH 393 L4_SUN_EARTH 394 L5_SUN_EARTH 395 L1_EARTH_MOON 302 L2_EARTH_MOON 303 L3_EARTH_MOON 304 L4_EARTH_MOON 305 L5_EARTH_MOON 306 ---------------------- -------- Name-ID Mapping keywords: \begindata NAIF_BODY_NAME += ( 'L1_SUN_EARTH' ) NAIF_BODY_CODE += ( 391 ) NAIF_BODY_NAME += ( 'L2_SUN_EARTH' ) NAIF_BODY_CODE += ( 392 ) NAIF_BODY_NAME += ( 'L3_SUN_EARTH' ) NAIF_BODY_CODE += ( 393 ) NAIF_BODY_NAME += ( 'L4_SUN_EARTH' ) NAIF_BODY_CODE += ( 394 ) NAIF_BODY_NAME += ( 'L5_SUN_EARTH' ) NAIF_BODY_CODE += ( 395 ) NAIF_BODY_NAME += ( 'L1_EARTH_MOON' ) NAIF_BODY_CODE += ( 302 ) NAIF_BODY_NAME += ( 'L2_EARTH_MOON' ) NAIF_BODY_CODE += ( 303 ) NAIF_BODY_NAME += ( 'L3_EARTH_MOON' ) NAIF_BODY_CODE += ( 304 ) NAIF_BODY_NAME += ( 'L4_EARTH_MOON' ) NAIF_BODY_CODE += ( 305 ) NAIF_BODY_NAME += ( 'L5_EARTH_MOON' ) NAIF_BODY_CODE += ( 306 ) \begintext End of FK file.