KPL/FK Frame (FK) SPICE kernel file for BepiColombo-specific generic frames ============================================================================= This frames kernel defines a number of generic frames used by BepiColmbo mission for Science opportunities identification, data analysis and scientific research. These frames are currently not ``built'' into the SPICE toolkit. The IAU body-fixed rotational frames for Mercury is an exception to this grouping, as they are provided in a separate PCK kernel file. Version and Date ------------------------------------------------------------------------------- Version 0.1 -- July 04, 2016 -- Marc Costa Sitja, ESAC/ESA Updated BEPICOLOMBO MPO IDs from -69 to -121. Version 0.0 -- February 26, 2015 -- Boris Semenov, NAIF Initial version. References ------------------------------------------------------------------------------- 1. ``Frames Required Reading'' 2. ``Kernel Pool Required Reading'' 3. ``C-Kernel Required Reading'' 4. pck00009.tpc, based on IAU 2006 constants 5. pck00010.tpc, based on IAU 2009 constants 6. MERCURY_MME/999999 frame definition provided by Dr. Jonathan McAuliffe, ESA, 20 Feb 2015 BepiColombo Supplementary Frames ------------------------------------------------------------------------------- The following BepiColombo supplementary frames are defined in FK: Name Relative to Type NAIF ID ====================== ===================== ============ ======== Mercury Mean Equator Frames: --------------------------- BC_MME_IAU2006_OF_DATE J2000 DYNAMIC -121921 BC_MME_IAU2006_J2000 J2000 FIXED -121922 BC_MME_IAU2009_OF_DATE J2000 DYNAMIC -121923 BC_MME_IAU2009_J2000 J2000 FIXED -121924 Mercury Mean Equator of Date Frame based on IAU2006 Constants -------------------------------------------------------------- The BC_MME_IAU2006_OF_DATE frame is based on Mean Mercury Equator and IAU vector of date computed using IAU 2006 Mercury rotation constants The BC_MME_IAU2006_OF_DATE frame is implemented as an Euler frame mathematically identical to the PCK frame IAU_MERCURY based on IAU 2006 Mercury rotation constants but without prime meridian rotation terms. The IAU 2006 PCK data from [4] defining the IAU_MERCURY frame are: BODY199_POLE_RA = ( 281.01 -0.033 0. ) BODY199_POLE_DEC = ( 61.45 -0.005 0. ) BODY199_PM = ( 329.548 6.1385025 0. ) Here pole RA/Dec terms in the PCK are in degrees and degreeS/Century; the rates here have been converted to degrees/sec ( = (rate deg/cen)/ (86400.0 * 36525.0)). Prime meridia terms from the PCK are disregarded. The 3x3 transformation matrix M defined by the angles is M = [ 0.0] [angle_2] [angle_3] 3 1 3 Vectors are mapped from the J2000 base frame to the BC_MME_IAU2006_OF_DATE frame via left multiplication by M. The relationship of these Euler angles to RA/Dec for the J2000-to-IAU Mercury Mean Equator and IAU vector of date transformation is as follows: angle_1 is 0.0 angle_2 is 90 - Dec angle_3 is 90 + RA, mapped into the range 0 < angle_3 < 2*pi Since when we define the BC_MME_IAU2006_OF_DATE frame we're defining the *inverse* of the above transformation, the angles for our Euler frame definition are reversed and the signs negated: angle_1 is -90 - RA, mapped into the range 0 < angle_3 < 2*pi angle_2 is -90 + Dec angle_3 is 0.0 Then our frame definition is: \begindata FRAME_BC_MME_IAU2006_OF_DATE = -121921 FRAME_-121921_NAME = 'BC_MME_IAU2006_OF_DATE' FRAME_-121921_CLASS = 5 FRAME_-121921_CLASS_ID = -121921 FRAME_-121921_CENTER = 199 FRAME_-121921_RELATIVE = 'J2000' FRAME_-121921_DEF_STYLE = 'PARAMETERIZED' FRAME_-121921_FAMILY = 'EULER' FRAME_-121921_EPOCH = @2000-JAN-1/12:00:00 FRAME_-121921_AXES = ( 3 1 3 ) FRAME_-121921_UNITS = 'DEGREES' FRAME_-121921_ANGLE_1_COEFFS = ( -11.01 1.0457068978629554e-11 ) FRAME_-121921_ANGLE_2_COEFFS = ( -28.55 -1.5844043907014476e-12 ) FRAME_-121921_ANGLE_3_COEFFS = ( 0.0 ) FRAME_-121921_ROTATION_STATE = 'INERTIAL' \begintext Mercury Mean Equator at J2000 Frame based on IAU2006 Constants -------------------------------------------------------------- The BC_MME_IAU2006_J2000 frame is the BC_MME_IAU2006_OF_DATE frame frozen at J2000 TDB. For efficiency it is defined as a offset frame using pre-computed rotation matrix transforming vectors from BC_MME_IAU2006_OF_DATE to J2000 at J2000 TDB. For consistency with earlier BepiColombo usage the matrix below is from [6]. \begindata FRAME_BC_MME_IAU2006_J2000 = -121922 FRAME_-121922_NAME = 'BC_MME_IAU2006_J2000' FRAME_-121922_CLASS = 4 FRAME_-121922_CLASS_ID = -121922 FRAME_-121922_CENTER = 199 TKFRAME_-121922_RELATIVE = 'J2000' TKFRAME_-121922_SPEC = 'MATRIX' TKFRAME_-121922_MATRIX = ( 0.981593866044678, 0.190980318733265, 1.45064023353692E-15, -0.167757184264224, 0.862232423481673, 0.477925491080635, 0.0912743626173337, -0.469128730471140, 0.878400378515027 ) \begintext Mercury Mean Equator of Date Frame based on IAU2009 Constants ------------------------------------------------------------- The BC_MME_IAU2009_OF_DATE frame is based on Mean Mercury Equator and IAU vector of date computed using IAU 2009 Mercury rotation constants The BC_MME_IAU2009_OF_DATE frame is implemented as as Euler frame mathematically identical to the PCK frame IAU_MERCURY based on IAU 2009 Mercury rotation constants but without prime meridian rotation terms. The IAU 2009 PCK data from [5] defining the IAU_MERCURY frame are: BODY199_POLE_RA = ( 281.0097 -0.0328 0. ) BODY199_POLE_DEC = ( 61.4143 -0.0049 0. ) BODY199_PM = ( 329.5469 6.1385025 0. ) Here pole RA/Dec terms in the PCK are in degrees and degreeS/Century; the rates here have been converted to degrees/sec ( = (rate deg/cen)/ (86400.0 * 36525.0)). Prime meridia terms from the PCK are disregarded. The 3x3 transformation matrix M defined by the angles is M = [ 0.0] [angle_2] [angle_3] 3 1 3 Vectors are mapped from the J2000 base frame to the BC_MME_IAU2009_OF_DATE frame via left multiplication by M. The relationship of these Euler angles to RA/Dec for the J2000-to-IAU Mercury Mean Equator and IAU vector of date transformation is as follows: angle_1 is 0.0 angle_2 is 90 - Dec angle_3 is 90 + RA, mapped into the range 0 < angle_3 < 2*pi Since when we define the BC_MME_IAU2009_OF_DATE frame we're defining the *inverse* of the above transformation, the angles for our Euler frame definition are reversed and the signs negated: angle_1 is -90 - RA, mapped into the range 0 < angle_3 < 2*pi angle_2 is -90 + Dec angle_3 is 0.0 Then our frame definition is: \begindata FRAME_BC_MME_IAU2009_OF_DATE = -121923 FRAME_-121923_NAME = 'BC_MME_IAU2009_OF_DATE' FRAME_-121923_CLASS = 5 FRAME_-121923_CLASS_ID = -121923 FRAME_-121923_CENTER = 199 FRAME_-121923_RELATIVE = 'J2000' FRAME_-121923_DEF_STYLE = 'PARAMETERIZED' FRAME_-121923_FAMILY = 'EULER' FRAME_-121923_EPOCH = @2000-JAN-1/12:00:00 FRAME_-121923_AXES = ( 3 1 3 ) FRAME_-121923_UNITS = 'DEGREES' FRAME_-121923_ANGLE_1_COEFFS = ( -11.0097 1.0393692803001496e-11 ) FRAME_-121923_ANGLE_2_COEFFS = ( -28.5857 -1.5527163028874185e-12 ) FRAME_-121923_ANGLE_3_COEFFS = ( 0.0 ) FRAME_-121921_ROTATION_STATE = 'INERTIAL' \begintext Mercury Mean Equator at J2000 Frame based on IAU2009 Constants -------------------------------------------------------------- The BC_MME_IAU2009_J2000 frame is the BC_MME_IAU2009_OF_DATE frame frozen at J2000 TDB. For efficiency it is defined as a offset frame using pre-computed rotation matrix transforming vectors from BC_MME_IAU2009_OF_DATE to J2000 at J2000 TDB. \begindata FRAME_BC_MME_IAU2009_J2000 = -121924 FRAME_-121924_NAME = 'BC_MME_IAU2009_J2000' FRAME_-121924_CLASS = 4 FRAME_-121924_CLASS_ID = -121924 FRAME_-121924_CENTER = 199 TKFRAME_-121924_RELATIVE = 'J2000' TKFRAME_-121924_SPEC = 'MATRIX' TKFRAME_-121924_MATRIX = ( +9.8159486600183365E-01 +1.9097517911718839E-01 +0.0000000000000000E+00 -1.6769576713227249E-01 +8.6194082826998297E-01 +4.7847271421385607E-01 +9.1376412299678439E-02 -4.6966635979428373E-01 +8.7810242099246349E-01 ) \begintext End of FK file.