KPL/FK Frame (FK) SPICE kernel file for BepiColombo science operations frames =============================================================================== This frames kernel defines a number of frames used by the BepiColombo science operations centre to perform mission analysis and attitude dependent science opportunity identification. These frames can be used stand-alone, i.e. referring directly to them and assuming they correspond to the MPO spacecraft reference frame, or in combination with the MPO spacecraft frames. The latter will allow the user to use the existing alignments and instrument frame definitions to perform instrument specific mission analysis and attitude dependent science opportunity identification. Please refer to the section ``Using these frames'' for further details. Version and Date ------------------------------------------------------------------------------- Version 0.1 -- September 6, 2018 -- Marc Costa Sitja (ESAC/ESA) Added MPO_MOI frame to compute MOI attitude. Version 0.0 -- February 15, 2017 -- Marc Costa Sitja (ESAC/ESA) Initial version. References ------------------------------------------------------------------------------- 1. ``Frames Required Reading'' 2. ``Kernel Pool Required Reading'' 3. ``C-Kernel Required Reading'' 4. ``MOI Operations and Resources'', BC-ASD-TN-00390, Issue 6.3, Airbus Defense and Space GmbH, 11th July 2018 Contact Information ------------------------------------------------------------------------------- If you have any questions regarding this file contact SPICE support at ESAC: Marc Costa Sitja (+34) 91-8131-457 mcosta@sciops.esa.int, esa_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. Loading the kernel associates the data items with their names in a data structure called the "kernel pool". The SPICELIB routine 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)* furnsh( frame_kernel_name ) In order for a program or routine to extract data from the pool, the SPICELIB routines GDPOOL, GIPOOL, and GCPOOL are used. See [2] for more details. This file was created and may be updated with a text editor or word processor. * SPICEPY is a non-official, community developed Python wrapper for the NAIF SPICE toolkit. Its development is managed on Github. It is available at: https://github.com/AndrewAnnex/SpiceyPy BepiColombo Science Operations frame names and NAIF ID Codes ------------------------------------------------------------------------------- The following frames are defined in this kernel file: SPICE Frame Name Long-name ------------------------ --------------------------------------------- MPO_MERCURY_NOA MPO Nadir orbit-aligned pointing @ Mercury MPO_MERCURY_NPO MPO Nadir power-optimized pointing @ Mercury MPO_MOI_SUN MPO sun-pointed pointing for Mercury Orbit Insertion These frames have the following centers, frame class and NAIF IDs: SPICE Frame Name Center Class NAIF ID ------------------------ --------------------- ------- ---------- MPO_MERCURY_NOA MPO DYNAMIC -121911 MPO_MERCURY_NPO MPO DYNAMIC -121912 MPO_MOI_SUN MPO DYNAMIC -121913 The keywords implementing these frame definitions are located in the "MPO Science Operations Frame Definitions" section. General Notes About This File ------------------------------------------------------------------------------- About Required Data: -------------------- All the dynamic frames defined in this file require at least one of the following kernel types to be loaded prior to their evaluation, normally during program initialization: - Planetary and Satellite ephemeris data (SPK), i.e. de432, jup300, etc; - Spacecraft ephemeris data (SPK); Note that loading different kernels will lead to different orientations of the same frame at a given epoch, providing different results from each other, in terms of state vectors referred to these frames. Using these frames ------------------ These frames have been implemented to define the different pointing profiles for the MPO spacecraft. These pointing profiles can be used in two different ways: [1] ``As is'' for analysis of offsets between the spacecraft attitude defined in the corresponding CK and a given pointing profile. Loading this kernel in combination with any MPO CK will allow the user to perform this comparison between the MPO_SPACECRAFT frame and any of the different frames defined within this kernel. [2] In combination with the MPO Frames kernel, to define a default pointing profile for the whole duration of the mission together with the spacecraft and instrument frames defined in the MPO FK. In this way, instrument-specific mission analysis activities, for which a particular pointing profile and knowledge of the instruments is required, can be conducted without the need for a spacecraft CK. In order to define such default pointing profile, the latest MPO frames kernel and this file shall be loaded before the selected ``MPO spacecraft frame overwrite'' frame kernel. As an example, imagine that the desired default pointing profile is "Nadir power optimized with respect to Mercury", then the furnish (metakernel) file should contain the following sequence of frames kernels, in the following order: ... $DATA/fk/bc_mpo_v08.tf $DATA/fk/bc_ops_v00.tf $DATA/fk/bc_mpo_sc_mer_npo_v00.tf ... (*) the example presents version 0.0 of the MPO frames and MPO Science Operations frames kernels. Newer versions of these files will produce the same results. By loading the ``bc_mpo_sc_mer_npo.tf'' frames kernel last, the spacecraft frame MPO_SPACECRAFT, which is defined as a CK-based frame in the ``MPO frames kernel'', will be overwritten as a type-4 fixed offset frame, mapping the MPO_SPACECRAFT frame to the MPO_MERCURY_NPO frame defined in the ``MPO Science Operations Frames Kernel'' (this) file. MPO Science Operations Frame Definitions ------------------------------------------------------------------------------- This section contains the definition of the MPO science operations frames. MPO Nadir orbit-aligned pointing frame(s) (MPO__NOA) ------------------------------------------------------------------------ SPICE frame name and literature references: ------------------------------------------- The MPO Nadir orbit-aligned pointing frame(s) are a family of frames that define the Nadir orbit-aligned pointing profile for the different MPO targets. Within the MPO mission, that frame is referred as MPO_MERCURY_NOA (for Mercury Nadir orbit-aligned pointing profile). Definition: ----------- The MPO Nadir orbit-aligned pointing frame is defined as follows: - +Z axis is the primary vector and points from MPO to the center of the target body (Nadir direction); - +Y axis is the secondary vector and is the orthogonal component to the +Z axis of MPO inertially referenced velocity vector relative to the target body; - +X axis completes the right-handed system; - the origin of this frame is the spacecraft'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 and the secondary vector is defined as an 'observer-target' velocity, therefore, the ephemeris data required to compute the MPO-target body state in J2000 frame have to be loaded before using this frame. Remarks: -------- Since the primary and secondary vectors of this frame are defined based on the MPO-target body state vector, the usage of different ephemerides to compute this state vector may lead to different frame orientation at given time. \begindata FRAME_MPO_MERCURY_NOA = -121911 FRAME_-121911_NAME = 'MPO_MERCURY_NOA' FRAME_-121911_CLASS = 5 FRAME_-121911_CLASS_ID = -121911 FRAME_-121911_CENTER = -121 FRAME_-121911_RELATIVE = 'J2000' FRAME_-121911_DEF_STYLE = 'PARAMETERIZED' FRAME_-121911_FAMILY = 'TWO-VECTOR' FRAME_-121911_PRI_AXIS = 'Z' FRAME_-121911_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-121911_PRI_OBSERVER = 'MPO' FRAME_-121911_PRI_TARGET = 'MERCURY' FRAME_-121911_PRI_ABCORR = 'NONE' FRAME_-121911_SEC_AXIS = 'Y' FRAME_-121911_SEC_VECTOR_DEF = 'OBSERVER_TARGET_VELOCITY' FRAME_-121911_SEC_OBSERVER = 'MERCURY' FRAME_-121911_SEC_TARGET = 'MPO' FRAME_-121911_SEC_ABCORR = 'NONE' FRAME_-121911_SEC_FRAME = 'J2000' \begintext MPO Nadir power-optimized pointing frame(s) (MPO__NPO) ------------------------------------------------------------------------ SPICE frame name and literature references: ------------------------------------------- The MPO Nadir power-optimized pointing frame(s) are a family of frames that define the Nadir power-optimized pointing profile for the different MPO targets. Within the MPO mission, that frame is referred as MPO_MERCURY_NPO (for Mercury Nadir power-optimized pointing profile). Definition: ----------- The MPO Nadir power-optimized pointing frame is defined as follows: - +Z axis is the primary vector and points from MPO to the center of the target body (Nadir direction); - -X axis is the secondary vector and is the orthogonal component to the +Z axis of the Sun position relative to MPO; - +Y axis completes the right-handed system; - the original of this frame is the spacecraft'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. Both the primary and the secondary vector are defined as an 'observer-target position' vectors, therefore, the ephemeris data required to compute both the MPO-target body position and the MPO-Sun position in J2000 frame have to be loaded before using this frame. Remarks: -------- Since the primary and secondary vectors of this frame are defined based on the MPO-target body position and MPO-Sun position vectors, the usage of different ephemerides to compute these vectors may lead to different frame orientation at given time. \begindata FRAME_MPO_MERCURY_NPO = -121912 FRAME_-121912_NAME = 'MPO_MERCURY_NPO' FRAME_-121912_CLASS = 5 FRAME_-121912_CLASS_ID = -121912 FRAME_-121912_CENTER = -121 FRAME_-121912_RELATIVE = 'J2000' FRAME_-121912_DEF_STYLE = 'PARAMETERIZED' FRAME_-121912_FAMILY = 'TWO-VECTOR' FRAME_-121912_PRI_AXIS = 'Z' FRAME_-121912_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-121912_PRI_OBSERVER = 'MPO' FRAME_-121912_PRI_TARGET = 'MERCURY' FRAME_-121912_PRI_ABCORR = 'NONE' FRAME_-121912_SEC_AXIS = '-X' FRAME_-121912_SEC_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-121912_SEC_OBSERVER = 'MPO' FRAME_-121912_SEC_TARGET = 'SUN' FRAME_-121912_SEC_ABCORR = 'NONE' FRAME_-121912_SEC_FRAME = 'J2000' \begintext MPO Sun pointing frame for Mercury Orbit Insertion ------------------------------------------------------------------------ Definition: ----------- The MPO Sun pointing frame is defined as follows (from [4]): - +Z axis is the secondary vector and is parallel to the celestial North; - +X axis is the primary vector and points from MPO to the center of the Sun; - +Y axis completes the right-handed system; - the origin of this frame is the spacecraft'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 and the secondary vector is defined as an 'observer-target' velocity, therefore, the ephemeris data required to compute the MPO-target body state in J2000 frame have to be loaded before using this frame. Remarks: -------- Since the primary and secondary vectors of this frame are defined based on the MPO-target body state vector, the usage of different ephemerides to compute this state vector may lead to different frame orientation at given time. \begindata FRAME_MPO_MOI_SUN = -121913 FRAME_-121913_NAME = 'MPO_MOI_SUN' FRAME_-121913_CLASS = 5 FRAME_-121913_CLASS_ID = -121913 FRAME_-121913_CENTER = -121 FRAME_-121913_RELATIVE = 'J2000' FRAME_-121913_DEF_STYLE = 'PARAMETERIZED' FRAME_-121913_FAMILY = 'TWO-VECTOR' FRAME_-121913_PRI_AXIS = 'X' FRAME_-121913_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' FRAME_-121913_PRI_OBSERVER = 'MPO' FRAME_-121913_PRI_TARGET = 'SUN' FRAME_-121913_PRI_ABCORR = 'NONE' FRAME_-121913_SEC_AXIS = 'Z' FRAME_-121913_SEC_VECTOR_DEF = 'CONSTANT' FRAME_-121913_SEC_FRAME = 'J2000' FRAME_-121913_SEC_SPEC = 'RECTANGULAR' FRAME_-121913_SEC_VECTOR = ( 0, 0, 1 ) \begintext End of FK file.