Keyword.java

  1. /* Copyright 2002-2020 CS GROUP
  2.  * Licensed to CS GROUP (CS) under one or more
  3.  * contributor license agreements.  See the NOTICE file distributed with
  4.  * this work for additional information regarding copyright ownership.
  5.  * CS licenses this file to You under the Apache License, Version 2.0
  6.  * (the "License"); you may not use this file except in compliance with
  7.  * the License.  You may obtain a copy of the License at
  8.  *
  9.  *   http://www.apache.org/licenses/LICENSE-2.0
  10.  *
  11.  * Unless required by applicable law or agreed to in writing, software
  12.  * distributed under the License is distributed on an "AS IS" BASIS,
  13.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14.  * See the License for the specific language governing permissions and
  15.  * limitations under the License.
  16.  */
  17. package org.orekit.files.ccsds;

  18. /** Keywords for CCSDS Navigation Data Messages.<p>
  19.  * Only these should be used.<p>
  20.  *  The enumeration is split in 3 parts:<p>
  21.  *  - Common NDM keywords;<p>
  22.  *  - Orbit Data Messages (ODM) specific keywords;<p>
  23.  *  - Tracking Data Messages (TDM) specific keywords.<p>
  24.  * References:<p>
  25.  * - <a href="https://public.ccsds.org/Pubs/502x0b2c1.pdf">CCSDS 502.0-B-2 recommended standard</a> ("Orbit Data Messages", Blue Book, Issue 2.0, November 2009).<p>
  26.  * - <a href="https://public.ccsds.org/Pubs/503x0b1c1.pdf">CCSDS 503.0-B-1 recommended standard</a> ("Tracking Data Message", Blue Book, Issue 1.0, November 2007).
  27.  * @author sports
  28.  * @author Maxime Journot
  29.  * @since 6.1
  30.  */
  31. public enum Keyword {

  32.     // ---------------------------------------------------
  33.     // Common NDM (Navigation Data Message) CCSDS keywords
  34.     // ---------------------------------------------------

  35.     /** Comments specific to ODM and ADM file. */
  36.     COMMENT,
  37.     /** File creation date in UTC. */
  38.     CREATION_DATE,
  39.     /** Creating agency or operator. */
  40.     ORIGINATOR,
  41.     /** Spacecraft name for which the orbit state is provided. */
  42.     OBJECT_NAME,
  43.     /** Object identifier of the object for which the orbit state is provided. */
  44.     OBJECT_ID,
  45.     /** Origin of reference frame. */
  46.     CENTER_NAME,
  47.     /** Time system used for state vector, maneuver, and covariance data. */
  48.     TIME_SYSTEM,
  49.     /** Epoch of state vector and optional Keplerian elements.
  50.      *  Or epoch of a TDM observation.
  51.      */
  52.     EPOCH,
  53.     /** Start of total time span covered by: <p>
  54.      * - Ephemerides data and covariance data;<p>
  55.      * - Tracking data session.
  56.      */
  57.     START_TIME,
  58.     /** End of total time span covered by: <p>
  59.      * - Ephemerides data and covariance data;<p>
  60.      * - Tracking data session.
  61.      */
  62.     STOP_TIME,
  63.     /** User defined parameter, where X is replaced by a variable length user specified character
  64.      *  string. Any number of user defined parameters may be included, if necessary to provide
  65.      *  essential information that cannot be conveyed in COMMENT statements. */
  66.     USER_DEFINED_X,
  67.     /** Keyword used to delineate the start of a Meta-data block. */
  68.     META_START,
  69.     /** Keyword used to delineate the end of a Meta-data block. */
  70.     META_STOP,
  71.     /** Maneuver duration (If = 0, impulsive maneuver). */
  72.     MAN_DURATION,
  73.     /** Coordinate system for velocity increment vector. Its value can either be RSW, RTN (both
  74.      * indicating "Radial, Transverse, Normal") or TNW. */
  75.     MAN_REF_FRAME,
  76.     /** Start of useable time span covered by ephemerides data, it may be
  77.      * necessary to allow for proper interpolation. */
  78.     USEABLE_START_TIME,
  79.     /** End of useable time span covered by ephemerides data, it may be
  80.      * necessary to allow for proper interpolation. */
  81.     USEABLE_STOP_TIME,
  82.     /** The interpolation degree. */
  83.     INTERPOLATION_DEGREE,

  84.     // -------------------------------------------
  85.     // Orbit Data Messages (ODM) specific keywords
  86.     // -------------------------------------------

  87.     /** CCSDS OPM format version. */
  88.     CCSDS_OPM_VERS,
  89.     /** CCSDS OMM format version. */
  90.     CCSDS_OMM_VERS,
  91.     /** CCSDS OEM format version. */
  92.     CCSDS_OEM_VERS,
  93.     /** Name of the reference frame in which the state vector and optional Keplerian element data are given. */
  94.     REF_FRAME,
  95.     /** Epoch of reference frame, if not intrinsic to the definition of the reference frame. */
  96.     REF_FRAME_EPOCH,
  97.     /** Mean element theory. */
  98.     MEAN_ELEMENT_THEORY,
  99.     /** Position vector X-component. */
  100.     X,
  101.     /** Position vector Y-component. */
  102.     Y,
  103.     /** Position vector Z-component. */
  104.     Z,
  105.     /** Velocity vector X-component. */
  106.     X_DOT,
  107.     /** Velocity vector Y-component. */
  108.     Y_DOT,
  109.     /** Velocity vector Z-component. */
  110.     Z_DOT,
  111.     /** Orbit semi-major axis. */
  112.     SEMI_MAJOR_AXIS,
  113.     /** Mean Motion. */
  114.     MEAN_MOTION,
  115.     /** Orbit eccentricity. */
  116.     ECCENTRICITY,
  117.     /** Orbit inclination. */
  118.     INCLINATION,
  119.     /** Orbit right ascension of ascending node. */
  120.     RA_OF_ASC_NODE,
  121.     /** Orbit argument of pericenter. */
  122.     ARG_OF_PERICENTER,
  123.     /** Orbit true anomaly. */
  124.     TRUE_ANOMALY,
  125.     /** Orbit mean anomaly.*/
  126.     MEAN_ANOMALY,
  127.     /** Gravitational coefficient. */
  128.     GM,
  129.     /** Spacecraft mass. */
  130.     MASS,
  131.     /** Solar radiation pressure area. */
  132.     SOLAR_RAD_AREA,
  133.     /** Solar radiation pressure coefficient. */
  134.     SOLAR_RAD_COEFF,
  135.     /** Drag area. */
  136.     DRAG_AREA,
  137.     /** Drag coefficient. */
  138.     DRAG_COEFF,
  139.     /** Ephemeris type. */
  140.     EPHEMERIS_TYPE,
  141.     /** Classification type. */
  142.     CLASSIFICATION_TYPE,
  143.     /** NORAD catalogue number. */
  144.     NORAD_CAT_ID,
  145.     /** Element set number of the satellite. */
  146.     ELEMENT_SET_NO,
  147.     /** Revolution Number. */
  148.     REV_AT_EPOCH,
  149.     /** SGP/SGP4 drag-like coefficient. */
  150.     BSTAR,
  151.     /** First Time Derivative of the Mean Motion. */
  152.     MEAN_MOTION_DOT,
  153.     /** Second Time Derivative of the Mean Motion. */
  154.     MEAN_MOTION_DDOT,
  155.     /** Coordinate system for covariance matrix. Its value can either be RSW, RTN (both indicating
  156.     /* "Radial, Transverse, Normal") or TNW. */
  157.     COV_REF_FRAME,
  158.     /** Covariance matrix [1, 1] element. */
  159.     CX_X,
  160.     /** Covariance matrix [2, 1] element. */
  161.     CY_X,
  162.     /** Covariance matrix [2, 2] element. */
  163.     CY_Y,
  164.     /** Covariance matrix [3, 1] element. */
  165.     CZ_X,
  166.     /** Covariance matrix [3, 2] element. */
  167.     CZ_Y,
  168.     /** Covariance matrix [3, 3] element. */
  169.     CZ_Z,
  170.     /** Covariance matrix [4, 1] element. */
  171.     CX_DOT_X,
  172.     /** Covariance matrix [4, 2] element. */
  173.     CX_DOT_Y,
  174.     /** Covariance matrix [4, 3] element. */
  175.     CX_DOT_Z,
  176.     /** Covariance matrix [4, 4] element. */
  177.     CX_DOT_X_DOT,
  178.     /** Covariance matrix [5, 1] element. */
  179.     CY_DOT_X,
  180.     /** Covariance matrix [5, 2] element. */
  181.     CY_DOT_Y,
  182.     /** Covariance matrix [5, 3] element. */
  183.     CY_DOT_Z,
  184.     /** Covariance matrix [5, 4] element. */
  185.     CY_DOT_X_DOT,
  186.     /** Covariance matrix [5, 5] element. */
  187.     CY_DOT_Y_DOT,
  188.     /** Covariance matrix [6, 1] element. */
  189.     CZ_DOT_X,
  190.     /** Covariance matrix [6, 2] element. */
  191.     CZ_DOT_Y,
  192.     /** Covariance matrix [6, 3] element. */
  193.     CZ_DOT_Z,
  194.     /** Covariance matrix [6, 4] element. */
  195.     CZ_DOT_X_DOT,
  196.     /** Covariance matrix [6, 5] element. */
  197.     CZ_DOT_Y_DOT,
  198.     /** Covariance matrix [6, 6] element. */
  199.     CZ_DOT_Z_DOT,
  200.     /** Epoch of ignition. */
  201.     MAN_EPOCH_IGNITION,
  202.     /** Mass change during maneuver (value is &lt; 0). */
  203.     MAN_DELTA_MASS,
  204.     /** First component of the velocity increment. */
  205.     MAN_DV_1,
  206.     /** Second component of the velocity increment. */
  207.     MAN_DV_2,
  208.     /** Third component of the velocity increment. */
  209.     MAN_DV_3,
  210.     /** This keyword must appear before the first line of the covariance matrix data. */
  211.     COVARIANCE_START,
  212.     /** The interpolation method to be used. */
  213.     INTERPOLATION,
  214.     /** This keyword must appear after the last line of the covariance matrix data. */
  215.     COVARIANCE_STOP,

  216.     // -------------------------------------------
  217.     // Attitude Data Messages (ADM) specific keywords
  218.     // -------------------------------------------

  219.     /** CCSDS APM format version. */
  220.     CCSDS_APM_VERS,
  221.     /** CCSDS AEM format version. */
  222.     CCSDS_AEM_VERS,
  223.     /** Name of the reference frame specifying one frame of the transformation. */
  224.     Q_FRAME_A,
  225.     /** Name of the reference frame specifying the second portion of the transformation. */
  226.     Q_FRAME_B,
  227.     /** Rotation direction of the attitude quaternion. */
  228.     Q_DIR,
  229.     /** e1 * sin(φ/2)   φ = rotation angle. */
  230.     Q1,
  231.     /** e2 * sin(φ/2)   φ = rotation angle. */
  232.     Q2,
  233.     /** e3 * sin(φ/2)   φ = rotation angle. */
  234.     Q3,
  235.     /** cos(φ/2)   φ = rotation angle. */
  236.     QC,
  237.     /** Derivative of Q1. */
  238.     Q1_DOT,
  239.     /** Derivative of Q2. */
  240.     Q2_DOT,
  241.     /** Derivative of Q3. */
  242.     Q3_DOT,
  243.     /** Derivative of QC. */
  244.     QC_DOT,
  245.     /**  Name of the reference frame specifying one frame of the transformation. */
  246.     EULER_FRAME_A,
  247.     /** Name of the reference frame specifying the second portion of the transformation. */
  248.     EULER_FRAME_B,
  249.     /** Rotation direction of the attitude Euler angle. */
  250.     EULER_DIR,
  251.     /** Rotation order of the EULER_FRAME_A to EULER_FRAME_B or vice versa. */
  252.     EULER_ROT_SEQ,
  253.     /** The value of this keyword expresses the relevant keyword to use that denotes the
  254.      *  frame of reference in which the X_RATE, Y_RATE and Z_RATE are expressed. */
  255.     RATE_FRAME,
  256.     /** X body rotation angle. */
  257.     X_ANGLE,
  258.     /** Y body rotation angle. */
  259.     Y_ANGLE,
  260.     /** Z body rotation angle. */
  261.     Z_ANGLE,
  262.     /** X body rotation rate. */
  263.     X_RATE,
  264.     /** Y body rotation rate. */
  265.     Y_RATE,
  266.     /** Z body rotation rate. */
  267.     Z_RATE,
  268.     /**  Name of the reference frame specifying one frame of the transformation. */
  269.     SPIN_FRAME_A,
  270.     /** Name of the reference frame specifying the second portion of the transformation. */
  271.     SPIN_FRAME_B,
  272.     /** Rotation direction of the Spin angles .*/
  273.     SPIN_DIR,
  274.     /** Right ascension of spin axis vector. */
  275.     SPIN_ALPHA,
  276.     /** Declination of the spin axis vector.*/
  277.     SPIN_DELTA,
  278.     /** Phase of the satellite about the spin axis. */
  279.     SPIN_ANGLE,
  280.     /** Angular velocity of satellite around spin axis. */
  281.     SPIN_ANGLE_VEL,
  282.     /** Nutation angle of spin axis. */
  283.     NUTATION,
  284.     /** Body nutation period of the spin axis. */
  285.     NUTATION_PER,
  286.     /** Inertial nutation phase. */
  287.     NUTATION_PHASE,
  288.     /** Coordinate system for the inertia tensor. */
  289.     INERTIA_REF_FRAME,
  290.     /** Moment of Inertia about the 1-axis. */
  291.     I11,
  292.     /** Moment of Inertia about the 2-axis. */
  293.     I22,
  294.     /** Moment of Inertia about the 3-axis. */
  295.     I33,
  296.     /** Inertia Cross Product of the 1 and 2 axes. */
  297.     I12,
  298.     /** Inertia Cross Product of the 1 and 3 axes. */
  299.     I13,
  300.     /** Inertia Cross Product of the 2 and 3 axes. */
  301.     I23,
  302.     /** Epoch of start of maneuver. */
  303.     MAN_EPOCH_START,
  304.     /** First component of the torque vector. */
  305.     MAN_TOR_1,
  306.     /** Second component of the torque vector. */
  307.     MAN_TOR_2,
  308.     /** Third component of the torque vector. */
  309.     MAN_TOR_3,
  310.     /** Name of the reference frame specifying one frame of the transformation. */
  311.     REF_FRAME_A,
  312.     /** Name of the reference frame specifying the second portion of the transformation. */
  313.     REF_FRAME_B,
  314.     /** Rotation direction of the attitude. */
  315.     ATTITUDE_DIR,
  316.     /** The format of the data lines in the message. */
  317.     ATTITUDE_TYPE,
  318.     /** The placement of the scalar portion of the quaternion (QC) in the attitude data. */
  319.     QUATERNION_TYPE,
  320.     /** Recommended interpolation method for attitude ephemeris data. */
  321.     INTERPOLATION_METHOD,

  322.     // ----------------------------------------------
  323.     // Tracking Data Messages (TDM) specific keywords
  324.     // ----------------------------------------------

  325.     // TDM Header section
  326.     // ------------------

  327.     /** Header: TDM format version in the form of ‘x.y’, where ‘y’ shall be incremented for
  328.      *  corrections and minor changes, and ‘x’ shall be incremented for major changes.
  329.      *  <p>Obligatory: YES
  330.      */
  331.     CCSDS_TDM_VERS,

  332.     // TDM meta-data section
  333.     // ---------------------

  334.     /** Meta-data: PARTICIPANT_n, n = {1, 2, 3, 4, 5}.<p>
  335.      *  Participants in a tracking data sessions (spacecraft(s), ground station(s)...)
  336.      * <p>Obligatory: YES (at least 1)
  337.      */
  338.     PARTICIPANT_1,
  339.     /** Participant 2. */
  340.     PARTICIPANT_2,
  341.     /** Participant 3. */
  342.     PARTICIPANT_3,
  343.     /** Participant 4. */
  344.     PARTICIPANT_4,
  345.     /** Participant 5. */
  346.     PARTICIPANT_5,
  347.     /** Meta-data: Tracking mode associated with data section of the segment.<p>
  348.      *  - SEQUENTIAL: Applies only for range, Doppler, angles, and LOS ionosphere calibrations.
  349.      *                The name implies a sequential signal path between tracking participants;<p>
  350.      *  - SINGLE_DIFF: Applies for differenced data;<p>
  351.      *  - In other cases, such as troposphere, weather, clocks, etc., use of the MODE keyword does not apply.
  352.      *  <p>Obligatory: NO
  353.      */
  354.     MODE,
  355.     /** Meta-data: The PATH keywords shall reflect the signal path by listing the index of each PARTICIPANT
  356.      * in order, separated by commas, with no inserted white space.<p>
  357.      * The first entry in the PATH shall be the transmit participant.<p>
  358.      * The non-indexed ‘PATH’ keyword shall be used if the MODE is SEQUENTIAL.<p>
  359.      * The indexed ‘PATH_1’ and ‘PATH_2’ keywords shall be used where the MODE is SINGLE_DIFF.<p>
  360.      * Examples:<p>
  361.      *  - 1,2 = one-way;<p>
  362.      *  - 2,1,2 = two-way;<p>
  363.      *  - 3,2,1 = three-way;<p>
  364.      *  - 1,2,3,4 = four-way;<p>
  365.      *  - 1,2,3,2,1 = turn-around range with 1=primary station, 2=satellite, 3=secondary station.
  366.      *  <p>Obligatory: NO
  367.      */
  368.     PATH,
  369.     /** Path 1. */
  370.     PATH_1,
  371.     /** Path 2. */
  372.     PATH_2,
  373.     /** Frequency band for transmitted frequencies.
  374.      * <p>Obligatory: NO
  375.      */
  376.     TRANSMIT_BAND,
  377.     /** Meta-data: Frequency band for received frequencies.
  378.      * <p>Obligatory: NO
  379.      */
  380.     RECEIVE_BAND,
  381.     /** Meta-data: Turn-around ratio numerator. <p>
  382.      *  Numerator of the turn-around ratio that is necessary to calculate the coherent downlink from the uplink frequency.
  383.      *  <p>Obligatory: NO
  384.      */
  385.     TURNAROUND_NUMERATOR,
  386.     /** Meta-data: Turn-around ratio denominator.
  387.      * <p>Obligatory: NO
  388.      */
  389.     TURNAROUND_DENOMINATOR,
  390.     /** Meta-data: Timetag reference.<p>
  391.      *  Provides a reference for time tags in the tracking data.<p>
  392.      *  It indicates whether the timetag associated with the data is the transmit time or the receive time.
  393.      *  <p>Obligatory: NO
  394.      */
  395.     TIMETAG_REF,
  396.     /** Meta-data: Integration interval.<p>
  397.      *  Provides the Doppler count time in seconds for Doppler data or for the creation
  398.      *  of normal points.
  399.      *  <p>Obligatory: NO
  400.      */
  401.     INTEGRATION_INTERVAL,
  402.     /** Meta-data: Integration reference.<p>
  403.      *  Used in conjunction with timetag reference and integration interval.<p>
  404.      *  Indicates whether the timetag represents the start, middle or end of the integration interval.
  405.      *  <p>Obligatory: NO
  406.      */
  407.     INTEGRATION_REF,

  408.     /** Meta-data: Frequency offset.<p>
  409.      *  A frequency in Hz that must be added to every RECEIVE_FREQ to reconstruct it.
  410.      *  <p>Obligatory: NO
  411.      */
  412.     FREQ_OFFSET,
  413.     /** Meta-data: Range mode.<p>
  414.      *  COHERENT, CONSTANT or ONE_WAY.
  415.      *  <p>Obligatory: NO
  416.      */
  417.     RANGE_MODE,
  418.     /** Meta-data: Range modulus.<p>
  419.      *  Modulus of the range observable in the units as specified by the RANGE_UNITS keyword.
  420.      *  <p>Obligatory: NO
  421.      */
  422.     RANGE_MODULUS,
  423.     /** Meta-data: The RANGE_UNITS keyword specifies the units for the range observable.<p>
  424.      * ‘km’ shall be used if the range is measured in kilometers.<p>
  425.      * ‘s’ shall be used if the range is measured in seconds.<p>
  426.      * 'RU' for "range units'
  427.      * <p>Obligatory: NO
  428.      */
  429.     RANGE_UNITS,
  430.     /** Meta-data: The ANGLE_TYPE keyword shall indicate the type of antenna geometry represented in the angle data (ANGLE_1 and ANGLE_2 keywords).<p>
  431.      * The value shall be one of the following:<p>
  432.      * - AZEL for azimuth, elevation (local horizontal);<p>
  433.      * - RADEC for right ascension, declination or hour angle, declination (needs to be referenced to an inertial frame);<p>
  434.      * - XEYN for x-east, y-north;<p>
  435.      * - XSYE for x-south, y-east.
  436.      * <p>Obligatory: NO
  437.      */
  438.     ANGLE_TYPE,
  439.     /** Reference frame in which data are given: used in combination with ANGLE_TYPE=RADEC.
  440.      * <p>Obligatory: NO
  441.      */
  442.     REFERENCE_FRAME,
  443.     /** Meta-data: Transmit delays list (up to 5).<p>
  444.      *  Specifies a fixed interval of time, in seconds, for the signal to travel from the transmitting
  445.      *  electronics to the transmit point. Each item in the list corresponds to the each participants.
  446.      *  <p>Obligatory: NO
  447.      */
  448.     TRANSMIT_DELAY_1,
  449.     /** Second. */
  450.     TRANSMIT_DELAY_2,
  451.     /** Second. */
  452.     TRANSMIT_DELAY_3,
  453.     /** Second. */
  454.     TRANSMIT_DELAY_4,
  455.     /** Second. */
  456.     TRANSMIT_DELAY_5,
  457.     /** Meta-data: Receive delays list.<p>
  458.      *  Specifies a fixed interval of time, in seconds, for the signal to travel from the tracking
  459.      *  point to the receiving electronics. Each item in the list corresponds to the each participants.
  460.      *  <p>Obligatory: NO
  461.      */
  462.     RECEIVE_DELAY_1,
  463.     /** Second. */
  464.     RECEIVE_DELAY_2,
  465.     /** Second. */
  466.     RECEIVE_DELAY_3,
  467.     /** Second. */
  468.     RECEIVE_DELAY_4,
  469.     /** Second. */
  470.     RECEIVE_DELAY_5,
  471.     /** Meta-data: Data quality.<p>
  472.      *  Estimate of the quality of the data: RAW, DEGRADED or VALIDATED.
  473.      *  <p>Obligatory: NO
  474.      */
  475.     DATA_QUALITY,
  476.     /** Meta-data: Correction angle 1.<p>
  477.      *  Angle correction that has been added or should be added to the ANGLE_1 data.
  478.      *  <p>Obligatory: NO
  479.      */
  480.     CORRECTION_ANGLE_1,
  481.     /** Meta-data: Correction angle 2.<p>
  482.      *  Angle correction that has been added or should be added to the ANGLE_2 data.
  483.      *  <p>Obligatory: NO
  484.      */
  485.     CORRECTION_ANGLE_2,
  486.     /** Meta-data: Correction Doppler.<p>
  487.      *  Doppler correction that has been added or should be added to the DOPPLER data.
  488.      *  <p>Obligatory: NO
  489.      */
  490.     CORRECTION_DOPPLER,
  491.     /** Meta-data: Correction Range.<p>
  492.      *  Range correction that has been added or should be added to the RANGE data.
  493.      *  <p>Obligatory: NO
  494.      */
  495.     CORRECTION_RANGE,
  496.     /** Meta-data: Correction receive.<p>
  497.      *  Receive correction that has been added or should be added to the RECEIVE data.
  498.      *  <p>Obligatory: NO
  499.      */
  500.     CORRECTION_RECEIVE,
  501.     /** Meta-data: Correction transmit.<p>
  502.      *  Transmit correction that has been added or should be added to the TRANSMIT data.
  503.      *  <p>Obligatory: NO
  504.      */
  505.     CORRECTION_TRANSMIT,
  506.     /** Meta-data: Correction applied ? YES/NO<p>
  507.      *  Indicate whethers or not the values associated with the CORRECTION_* keywords have been
  508.      *  applied to the tracking data.
  509.      *  <p>Obligatory: NO
  510.      */
  511.     CORRECTIONS_APPLIED,


  512.     // TDM Data section
  513.     // ----------------

  514.     // Signal related keywords.
  515.     /** Data: Carrier power [dBW].<p>
  516.      *  Strength of the radio signal transmitted by the spacecraft as received at the ground station or at another spacecraft.
  517.      */
  518.     CARRIER_POWER,
  519.     /** Data: Doppler instantaneous [km/s].<p>
  520.      *  Instantaneous range rate of the spacecraft.
  521.      */
  522.     DOPPLER_INSTANTANEOUS,
  523.     /** Data: Doppler integrated [km/s].<p>
  524.      *  Mean range rate of the spacecraft over the INTEGRATION_INTERVAL specified in the meta-data section.
  525.      */
  526.     DOPPLER_INTEGRATED,
  527.     /** Data: Carrier power to noise spectral density ratio (Pc/No) [dBHz]. */
  528.     PC_N0,
  529.     /** Data: Ranging power to noise spectral density ratio (Pr/No) [dBHz]. */
  530.     PR_N0,
  531.     /** Data: Range value [km, s or RU].
  532.      * @see #RANGE_UNITS
  533.      */
  534.     RANGE,
  535.     /** Data: Received frequencies [Hz].<p>
  536.      * The RECEIVE_FREQ keyword shall be used to indicate that the values represent measurements of the received frequency.<p>
  537.      * The keyword is indexed to accommodate a scenario in which multiple downlinks are used.<p>
  538.      * RECEIVE_FREQ_n (n = 1, 2, 3, 4, 5)
  539.      */
  540.     RECEIVE_FREQ_1,
  541.     /** Received frequency 2. */
  542.     RECEIVE_FREQ_2,
  543.     /** Received frequency 3. */
  544.     RECEIVE_FREQ_3,
  545.     /** Received frequency 4. */
  546.     RECEIVE_FREQ_4,
  547.     /** Received frequency 5. */
  548.     RECEIVE_FREQ_5,
  549.     /** Data: Received frequency [Hz].<p>
  550.      *  Case without an index; where the frequency cannot be associated with a particular participant.
  551.      */
  552.     RECEIVE_FREQ,
  553.     /** Data: Transmitted frequencies [Hz].<p>
  554.      * The TRANSMIT_FREQ keyword shall be used to indicate that the values represent measurements of a transmitted frequency, e.g., from an uplink operation.<p>
  555.      * The TRANSMIT_FREQ keyword is indexed to accommodate scenarios in which multiple transmitters are used.<p>
  556.      * TRANSMIT_FREQ_n (n = 1, 2, 3, 4, 5)
  557.      */
  558.     TRANSMIT_FREQ_1,
  559.     /** Transmitted frequency 2. */
  560.     TRANSMIT_FREQ_2,
  561.     /** Transmitted frequency 3. */
  562.     TRANSMIT_FREQ_3,
  563.     /** Transmitted frequency 4. */
  564.     TRANSMIT_FREQ_4,
  565.     /** Transmitted frequency 5. */
  566.     TRANSMIT_FREQ_5,
  567.     /** Data: Transmitted frequencies rates [Hz/s].<p>
  568.      * The value associated with the TRANSMIT_FREQ_RATE_n keyword is the linear rate of
  569.      * change of the frequency TRANSMIT_FREQ_n starting at the timetag and continuing
  570.      *  until the next TRANSMIT_FREQ_RATE_n timetag (or until the end of the data).<p>
  571.      * TRANSMIT_FREQ_RATE_n (n = 1, 2, 3, 4, 5)
  572.      */
  573.     TRANSMIT_FREQ_RATE_1,
  574.     /** Transmitted frequency rate 2. */
  575.     TRANSMIT_FREQ_RATE_2,
  576.     /** Transmitted frequency rate 3. */
  577.     TRANSMIT_FREQ_RATE_3,
  578.     /** Transmitted frequency rate 4. */
  579.     TRANSMIT_FREQ_RATE_4,
  580.     /** Transmitted frequency rate 5. */
  581.     TRANSMIT_FREQ_RATE_5,

  582.     // VLBI/Delta-DOR Related Keywords
  583.     /** Data: DOR [s].<p>
  584.      * the DOR keyword represents the range measured via PATH_2 minus the range measured via PATH_1.
  585.      */
  586.     DOR,
  587.     /** Data: VLBI delay [s].<p>
  588.      * The observable associated with the VLBI_DELAY keyword represents the time of signal
  589.      * arrival via PATH_2 minus the time of signal arrival via PATH_1.
  590.      */
  591.     VLBI_DELAY,

  592.     // Angle Related Keywords
  593.     /** Data: ANGLE_1 in degrees and in [-180, +360[ [deg].<p>
  594.      * The value assigned to the ANGLE_1 keyword represents the azimuth, right ascension, or ‘X’
  595.      * angle of the measurement, depending on the value of the ANGLE_TYPE keyword.<p>
  596.      * The angle measurement shall be a double precision value as follows: -180.0 &le; ANGLE_1 &lt; 360.0<p>
  597.      * Units shall be degrees.<p>
  598.      * See meta-data keyword ANGLE_TYPE for the definition of the angles.
  599.      */
  600.     ANGLE_1,
  601.     /** Data: ANGLE_2 in degrees and in [-180, +360[ [deg].<p>
  602.      * The value assigned to the ANGLE_2 keyword represents the elevation, declination, or ‘Y’
  603.      * angle of the measurement, depending on the value of the ANGLE_TYPE keyword.<p>
  604.      * The angle measurement shall be a double precision value as follows: -180.0 &le; ANGLE_2 &lt; 360.0.<p>
  605.      * Units shall be degrees.<p>
  606.      * See meta-data keyword ANGLE_TYPE for the definition of the angles.
  607.      */
  608.     ANGLE_2,

  609.     // Time Related Keywords
  610.     /** Data: Clock bias [s].<p>
  611.      * The CLOCK_BIAS keyword can be used by the message recipient to adjust timetag
  612.      * measurements by a specified amount with respect to a common reference.
  613.      */
  614.     CLOCK_BIAS,
  615.     /** Data: Clock drift [s/s].<p>
  616.      * The CLOCK_DRIFT keyword should be used to adjust timetag measurements by an amount that is a function of time with
  617.      * respect to a common reference, normally UTC (as opposed to the CLOCK_BIAS, which is meant to be a constant adjustment).
  618.      */
  619.     CLOCK_DRIFT,

  620.     // Media Related Keywords
  621.     /** Data: STEC - Slant Total Electron Count [TECU].
  622.      * The STEC keyword shall be used to convey the line of sight,
  623.      * one way charged particle delay or total electron count (TEC) at the timetag associated with a
  624.      * tracking measurement, which is calculated by integrating the electron density along the
  625.      * propagation path (electrons/m2).
  626.      */
  627.     STEC,
  628.     /** Data: TROPO DRY [m].<p>
  629.      * Dry zenith delay through the troposphere measured at the timetag.
  630.      */
  631.     TROPO_DRY,
  632.     /** Data: TROPO WET [m].<p>
  633.      * Wet zenith delay through the troposphere measured at the timetag.
  634.      */
  635.     TROPO_WET,

  636.     // Meteorological Related Keywords
  637.     /** Data: Pressure [hPa].<p>
  638.      * Atmospheric pressure observable as measured at the tracking participant.
  639.      */
  640.     PRESSURE,
  641.     /** Data: Relative humidity [%].<p>
  642.      * Relative humidity observable as measured at the tracking participant.
  643.      */
  644.     RHUMIDITY,
  645.     /** Data: Temperature [K].<p>
  646.      * Temperature observable as measured at the tracking participant.
  647.      */
  648.     TEMPERATURE,

  649.     // Miscellaneous KEYVALUE keywords
  650.     /** Keyword used to delineate the start of a Data block in Keyvalue files. */
  651.     DATA_START,
  652.     /** Keyword used to delineate the end of a Data block in Keyvalue files.. */
  653.     DATA_STOP,

  654.     // XML TDM start/end keywords
  655.     /** TDM first keyword. */
  656.     tdm,
  657.     /** Header keyword. */
  658.     header,
  659.     /** Body keyword. */
  660.     body,
  661.     /** Segment keyword. */
  662.     segment,
  663.     /** Meta-data keyword. */
  664.     metadata,
  665.     /** Data keyword. */
  666.     data,
  667.     /** Observation keyword. */
  668.     observation;
  669. }