KPL/FK Topocentric Frame kernel for the ESA ground stations ==================================================== This is a frame kernel defining a topocentric reference frame for the ESA ground stations. Location data used to define this frame are taken from the ESA web pages. Version and Date ----------------------------------------------------------------------------- Version 0.4 -- April 7, 2021 -- Alfredo Escalante Lopez, ESAC/ESA Fixed minor typos and updated contact information. Added Goonhilly GHY-6 station. Version 0.3 -- February 20, 2020 -- Boris Semenov, JPL Marc Costa Sitja, ESAC/ESA Improved ESTRACK stations coordinates for Kiruna 1, Kourou, Maspalomas, Perth, Redu, Santa Maria, Villafranca, New Norcia, Cebreros and Malargue. Version 0.2 -- January 10, 2020 -- Alfredo Escalante Lopez, ESAC/ESA Marc Costa Sitja, ESAC/ESA Improved ESTRACK stations coordinates for Kiruna 1, Kourou, Maspalomas, Perth, Redu, Santa Maria, Villafranca, New Norcia, Cebreros and Malargue. Added Kiruna 2 and New Norcia 2 stations. Version 0.1 -- November 21, 2012 -- Jose Luis Vazquez, ESAC/ESA Added Malargue definition. Version 0.0 -- March 22, 2011 -- Jose Luis Vazquez, ESAC/ESA Preliminary Version. References ----------------------------------------------------------------------------- 1. ``Frames Required Reading'', NAIF 2. ``Kernel Pool Required Reading'', NAIF 3. ``C-Kernel Required Reading'', NAIF 4. ESTRACK NOW webpage. http://estracknow.esa.int/#/2019-10 Contact Information ----------------------------------------------------------------------------- If you have any questions regarding this file contact the ESA SPICE Service at ESAC: Alfredo Escalante Lopez (+34) 91-8131-429 alfredo.escalante@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. * SPICEYPY 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 ESTRACK Stations Frames ----------------------------------------------------------------------------- The topocentric frame defines the z axis as the normal outward at the station site, the x axis points at local north (geographic) with the y axis completing the right handed frame. Positive azimuth is measured counter clockwise from the x axis. The equatorial radius and flattening factor for the ITRF93 reference ellipsoid are radius = 6378.1363 flattening = 1.0/298.257 Please note that all rotations mean the rotation of the coordinate frames about an axis and not of the vectors. The rotation defined in this file transforms vectors from the topocentric frame defined as z - normal to the surface at the site x - local north y - local west to an earth-fixed frame defined as x - along the line of zero longitude intersecting the equator z - along the spin axis y - completing the right hand coordinate frame This is a 3-2-3 rotation with angles defined as the negative of the site longitude, the negative of the site colatitude, 180 degrees. This file uses the reference frame alias EARTH_FIXED. In order to use this file in a SPICE-based program, the alias must be mapped to the frames ITRF93 or IAU_EARTH by a text kernel. An example of the text kernel assignments mapping EARTH_FIXED to ITRF93 is: TKFRAME_EARTH_FIXED_RELATIVE = 'ITRF93' TKFRAME_EARTH_FIXED_SPEC = 'MATRIX' TKFRAME_EARTH_FIXED_MATRIX = ( 1 0 0 0 1 0 0 0 1 ) These assignments must be preceded by the \begindata marker alone on a line. See the Frames Required Reading for details. The ITRF93 frame should be used for high-accuracy work. A binary high-precision earth PCK file should be used to convert the station location from terrestrial to inertial coordinates. Disclaimer: ~~~~~~~~~~~ Please note that the accuracy of these coordinates is in accordance with the public information provided by ESTRACK. Higher precision information for the New Norcia ground station exists and is available in NEW_NORCIA_TOPO.TF, that shall be used along with NEW_NORCIA.BSP. The data for the ground stations topocentric frames is defined as follows. \begindata NAIF_BODY_CODE += ( 399500 ) NAIF_BODY_NAME += ( 'KI1' ) NAIF_BODY_CODE += ( 399500 ) NAIF_BODY_NAME += ( 'KIRUNA1' ) FRAME_KIRUNA1_TOPO = 1399500 FRAME_1399500_NAME = 'KIRUNA1_TOPO' FRAME_1399500_CLASS = 4 FRAME_1399500_CLASS_ID = 1399500 FRAME_1399500_CENTER = 399500 OBJECT_399500_FRAME = 'KIRUNA1_TOPO' TKFRAME_KIRUNA1_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_KIRUNA1_TOPO_SPEC = 'ANGLES' TKFRAME_KIRUNA1_TOPO_UNITS = 'DEGREES' TKFRAME_KIRUNA1_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_KIRUNA1_TOPO_ANGLES = ( -20.964325, -22.1428757, 180.0 ) NAIF_BODY_CODE += ( 399513 ) NAIF_BODY_NAME += ( 'KI2' ) NAIF_BODY_CODE += ( 399513 ) NAIF_BODY_NAME += ( 'KIRUNA2' ) FRAME_KIRUNA2_TOPO = 1399513 FRAME_1399513_NAME = 'KIRUNA2_TOPO' FRAME_1399513_CLASS = 4 FRAME_1399513_CLASS_ID = 1399513 FRAME_1399513_CENTER = 399513 OBJECT_399513_FRAME = 'KIRUNA2_TOPO' TKFRAME_KIRUNA2_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_KIRUNA2_TOPO_SPEC = 'ANGLES' TKFRAME_KIRUNA2_TOPO_UNITS = 'DEGREES' TKFRAME_KIRUNA2_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_KIRUNA2_TOPO_ANGLES = ( -20.9668808, -22.141571, 180.0 ) NAIF_BODY_CODE += ( 399501 ) NAIF_BODY_NAME += ( 'KRU' ) NAIF_BODY_CODE += ( 399501 ) NAIF_BODY_NAME += ( 'KOUROU' ) FRAME_KOUROU_TOPO = 1399501 FRAME_1399501_NAME = 'KOUROU_TOPO' FRAME_1399501_CLASS = 4 FRAME_1399501_CLASS_ID = 1399501 FRAME_1399501_CENTER = 399501 OBJECT_399501_FRAME = 'KOUROU_TOPO' TKFRAME_KOUROU_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_KOUROU_TOPO_SPEC = 'ANGLES' TKFRAME_KOUROU_TOPO_UNITS = 'DEGREES' TKFRAME_KOUROU_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_KOUROU_TOPO_ANGLES = ( 52.8046646, -84.7485609, 180.0 ) NAIF_BODY_CODE += ( 399502 ) NAIF_BODY_NAME += ( 'MSP' ) NAIF_BODY_CODE += ( 399502 ) NAIF_BODY_NAME += ( 'MASPALOMAS' ) FRAME_MASPALOMAS_TOPO = 1399502 FRAME_1399502_NAME = 'MASPALOMAS_TOPO' FRAME_1399502_CLASS = 4 FRAME_1399502_CLASS_ID = 1399502 FRAME_1399502_CENTER = 399502 OBJECT_399502_FRAME = 'MASPALOMAS_TOPO' TKFRAME_MASPALOMAS_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_MASPALOMAS_TOPO_SPEC = 'ANGLES' TKFRAME_MASPALOMAS_TOPO_UNITS = 'DEGREES' TKFRAME_MASPALOMAS_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_MASPALOMAS_TOPO_ANGLES = ( 15.633800, -62.237111, 180.0 ) NAIF_BODY_CODE += ( 399503 ) NAIF_BODY_NAME += ( 'PER' ) NAIF_BODY_CODE += ( 399503 ) NAIF_BODY_NAME += ( 'PERTH' ) FRAME_PERTH_TOPO = 1399503 FRAME_1399503_NAME = 'PERTH_TOPO' FRAME_1399503_CLASS = 4 FRAME_1399503_CLASS_ID = 1399503 FRAME_1399503_CENTER = 399503 OBJECT_399503_FRAME = 'PERTH_TOPO' TKFRAME_PERTH_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_PERTH_TOPO_SPEC = 'ANGLES' TKFRAME_PERTH_TOPO_UNITS = 'DEGREES' TKFRAME_PERTH_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_PERTH_TOPO_ANGLES = ( -115.885161, -121.802522, 180.0 ) NAIF_BODY_CODE += ( 399504 ) NAIF_BODY_NAME += ( 'RED' ) NAIF_BODY_CODE += ( 399504 ) NAIF_BODY_NAME += ( 'REDU' ) FRAME_REDU_TOPO = 1399504 FRAME_1399504_NAME = 'REDU_TOPO' FRAME_1399504_CLASS = 4 FRAME_1399504_CLASS_ID = 1399504 FRAME_1399504_CENTER = 399504 OBJECT_399504_FRAME = 'REDU_TOPO' TKFRAME_REDU_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_REDU_TOPO_SPEC = 'ANGLES' TKFRAME_REDU_TOPO_UNITS = 'DEGREES' TKFRAME_REDU_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_REDU_TOPO_ANGLES = ( -5.1453438, -39.9995422, 180.0 ) NAIF_BODY_CODE += ( 399505 ) NAIF_BODY_NAME += ( 'SMA' ) NAIF_BODY_CODE += ( 399505 ) NAIF_BODY_NAME += ( 'STA_MARIA' ) FRAME_STA_MARIA_TOPO = 1399505 FRAME_1399505_NAME = 'STA_MARIA_TOPO' FRAME_1399505_CLASS = 4 FRAME_1399505_CLASS_ID = 1399505 FRAME_1399505_CENTER = 399505 OBJECT_399505_FRAME = 'STA_MARIA_TOPO' TKFRAME_STA_MARIA_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_STA_MARIA_TOPO_SPEC = 'ANGLES' TKFRAME_STA_MARIA_TOPO_UNITS = 'DEGREES' TKFRAME_STA_MARIA_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_STA_MARIA_TOPO_ANGLES = ( 25.1357212, -53.0027504, 180.0 ) NAIF_BODY_CODE += ( 399506 ) NAIF_BODY_NAME += ( 'VFA' ) NAIF_BODY_CODE += ( 399506 ) NAIF_BODY_NAME += ( 'V_FRANCA' ) FRAME_V_FRANCA_TOPO = 1399506 FRAME_1399506_NAME = 'V_FRANCA_TOPO' FRAME_1399506_CLASS = 4 FRAME_1399506_CLASS_ID = 1399506 FRAME_1399506_CENTER = 399506 OBJECT_399506_FRAME = 'V_FRANCA_TOPO' TKFRAME_V_FRANCA_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_V_FRANCA_TOPO_SPEC = 'ANGLES' TKFRAME_V_FRANCA_TOPO_UNITS = 'DEGREES' TKFRAME_V_FRANCA_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_V_FRANCA_TOPO_ANGLES = ( 3.9515833, -49.5574361, 180.0 ) NAIF_BODY_CODE += ( 398990 ) NAIF_BODY_NAME += ( 'NNO' ) NAIF_BODY_CODE += ( 398990 ) NAIF_BODY_NAME += ( 'NNORCIA' ) NAIF_BODY_CODE += ( 398990 ) NAIF_BODY_NAME += ( 'NEW_NORCIA' ) FRAME_NEW_NORCIA_TOPO = 1398990 FRAME_1398990_NAME = 'NEW_NORCIA_TOPO' FRAME_1398990_CLASS = 4 FRAME_1398990_CLASS_ID = 1398990 FRAME_1398990_CENTER = 398990 OBJECT_398990_FRAME = 'NEW_NORCIA_TOPO' TKFRAME_NEW_NORCIA_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_NEW_NORCIA_TOPO_SPEC = 'ANGLES' TKFRAME_NEW_NORCIA_TOPO_UNITS = 'DEGREES' TKFRAME_NEW_NORCIA_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_NEW_NORCIA_TOPO_ANGLES = (-116.1914978, -121.0482254, 180.0) NAIF_BODY_CODE += ( 398991 ) NAIF_BODY_NAME += ( 'NNO2' ) NAIF_BODY_CODE += ( 398991 ) NAIF_BODY_NAME += ( 'NNORCIA2' ) NAIF_BODY_CODE += ( 398991 ) NAIF_BODY_NAME += ( 'NEW_NORCIA2' ) NAIF_BODY_CODE += ( 398991 ) NAIF_BODY_NAME += ( 'NEW_NORCIA_2' ) FRAME_NNORCIA2_TOPO = 1398991 FRAME_1398991_NAME = 'NNORCIA2_TOPO' FRAME_1398991_CLASS = 4 FRAME_1398991_CLASS_ID = 1398991 FRAME_1398991_CENTER = 398991 OBJECT_398991_FRAME = 'NNORCIA2_TOPO' TKFRAME_NNORCIA2_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_NNORCIA2_TOPO_SPEC = 'ANGLES' TKFRAME_NNORCIA2_TOPO_UNITS = 'DEGREES' TKFRAME_NNORCIA2_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_NNORCIA2_TOPO_ANGLES = (-116.1888123, -121.0488949, 180.0) NAIF_BODY_CODE += ( 399508 ) NAIF_BODY_NAME += ( 'CEB' ) NAIF_BODY_CODE += ( 399508 ) NAIF_BODY_NAME += ( 'CEBREROS' ) FRAME_CEBREROS_TOPO = 1399508 FRAME_1399508_NAME = 'CEBREROS_TOPO' FRAME_1399508_CLASS = 4 FRAME_1399508_CLASS_ID = 1399508 FRAME_1399508_CENTER = 399508 OBJECT_399508_FRAME = 'CEBREROS_TOPO' TKFRAME_CEBREROS_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_CEBREROS_TOPO_SPEC = 'ANGLES' TKFRAME_CEBREROS_TOPO_UNITS = 'DEGREES' TKFRAME_CEBREROS_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_CEBREROS_TOPO_ANGLES = ( 4.3675499, -49.5473099, 180.0 ) NAIF_BODY_CODE += ( 399509 ) NAIF_BODY_NAME += ( 'MLI' ) NAIF_BODY_CODE += ( 399509 ) NAIF_BODY_NAME += ( 'MALINDI' ) FRAME_MALINDI_TOPO = 1399509 FRAME_1399509_NAME = 'MALINDI_TOPO' FRAME_1399509_CLASS = 4 FRAME_1399509_CLASS_ID = 1399509 FRAME_1399509_CENTER = 399509 OBJECT_399509_FRAME = 'MALINDI_TOPO' TKFRAME_MALINDI_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_MALINDI_TOPO_SPEC = 'ANGLES' TKFRAME_MALINDI_TOPO_UNITS = 'DEGREES' TKFRAME_MALINDI_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_MALINDI_TOPO_ANGLES = ( -40.196, -92.996, 180.0 ) NAIF_BODY_CODE += ( 399510 ) NAIF_BODY_NAME += ( 'SGO' ) NAIF_BODY_CODE += ( 399510 ) NAIF_BODY_NAME += ( 'SANTIAGO' ) FRAME_SANTIAGO_TOPO = 1399510 FRAME_1399510_NAME = 'SANTIAGO_TOPO' FRAME_1399510_CLASS = 4 FRAME_1399510_CLASS_ID = 1399510 FRAME_1399510_CENTER = 399510 OBJECT_399510_FRAME = 'SANTIAGO_TOPO' TKFRAME_SANTIAGO_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_SANTIAGO_TOPO_SPEC = 'ANGLES' TKFRAME_SANTIAGO_TOPO_UNITS = 'DEGREES' TKFRAME_SANTIAGO_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_SANTIAGO_TOPO_ANGLES = ( 70.668, -123.151, 180.0 ) NAIF_BODY_CODE += ( 399511 ) NAIF_BODY_NAME += ( 'SVB' ) NAIF_BODY_CODE += ( 399511 ) NAIF_BODY_NAME += ( 'SVALBARD' ) FRAME_SVALBARD_TOPO = 1399511 FRAME_1399511_NAME = 'SVALBARD_TOPO' FRAME_1399511_CLASS = 4 FRAME_1399511_CLASS_ID = 1399511 FRAME_1399511_CENTER = 399511 OBJECT_399511_FRAME = 'SVALBARD_TOPO' TKFRAME_SVALBARD_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_SVALBARD_TOPO_SPEC = 'ANGLES' TKFRAME_SVALBARD_TOPO_UNITS = 'DEGREES' TKFRAME_SVALBARD_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_SVALBARD_TOPO_ANGLES = ( -15.408, -11.77, 180.0 ) NAIF_BODY_CODE += ( 399512 ) NAIF_BODY_NAME += ( 'MLG' ) NAIF_BODY_CODE += ( 399512 ) NAIF_BODY_NAME += ( 'MALARGUE' ) FRAME_MALARGUE_TOPO = 1399512 FRAME_1399512_NAME = 'MALARGUE_TOPO' FRAME_1399512_CLASS = 4 FRAME_1399512_CLASS_ID = 1399512 FRAME_1399512_CENTER = 399512 OBJECT_399512_FRAME = 'MALARGUE_TOPO' TKFRAME_MALARGUE_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_MALARGUE_TOPO_SPEC = 'ANGLES' TKFRAME_MALARGUE_TOPO_UNITS = 'DEGREES' TKFRAME_MALARGUE_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_MALARGUE_TOPO_ANGLES = ( 69.3981934, -125.7760086, 180.0 ) NAIF_BODY_CODE += ( 399514 ) NAIF_BODY_NAME += ( 'GHY' ) NAIF_BODY_CODE += ( 399514 ) NAIF_BODY_NAME += ( 'GOONHILLY' ) FRAME_GOONHILLY_TOPO = 1399514 FRAME_1399514_NAME = 'GOONHILLY_TOPO' FRAME_1399514_CLASS = 4 FRAME_1399514_CLASS_ID = 1399514 FRAME_1399514_CENTER = 399514 OBJECT_399514_FRAME = 'GOONHILLY_TOPO' TKFRAME_GOONHILLY_TOPO_RELATIVE = 'EARTH_FIXED' TKFRAME_GOONHILLY_TOPO_SPEC = 'ANGLES' TKFRAME_GOONHILLY_TOPO_UNITS = 'DEGREES' TKFRAME_GOONHILLY_TOPO_AXES = ( 3, 2, 3 ) TKFRAME_GOONHILLY_TOPO_ANGLES = ( -5.183271, -39.949564, 180.0 ) \begintext End of FK file.