1   /* Copyright 2002-2019 CS Systèmes d'Information
2    * Licensed to CS Systèmes d'Information (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  
19  /** Keywords for CCSDS Navigation Data Messages.<p>
20   * Only these should be used.<p>
21   *  The enumeration is split in 3 parts:<p>
22   *  - Common NDM keywords;<p>
23   *  - Orbit Data Messages (ODM) specific keywords;<p>
24   *  - Tracking Data Messages (TDM) specific keywords.<p>
25   * References:<p>
26   * - <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>
27   * - <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).
28   * @author sports
29   * @author Maxime Journot
30   * @since 6.1
31   */
32  public enum Keyword {
33  
34      // ---------------------------------------------------
35      // Common NDM (Navigation Data Message) CCSDS keywords
36      // ---------------------------------------------------
37  
38      /** Comments specific to a ODM file. */
39      COMMENT,
40      /** CCSDS OEM format version. */
41      CREATION_DATE,
42      /** Creating agency or operator. */
43      ORIGINATOR,
44      /** Time system used for state vector, maneuver, and covariance data. */
45      TIME_SYSTEM,
46      /** Epoch of state vector and optional Keplerian elements.
47       *  Or epoch of a TDM observation.
48       */
49      EPOCH,
50      /** Start of total time span covered by: <p>
51       * - Ephemerides data and covariance data;<p>
52       * - Tracking data session.
53       */
54      START_TIME,
55      /** End of total time span covered by: <p>
56       * - Ephemerides data and covariance data;<p>
57       * - Tracking data session.
58       */
59      STOP_TIME,
60      /** User defined parameter, where X is replaced by a variable length user specified character
61       *  string. Any number of user defined parameters may be included, if necessary to provide
62       *  essential information that cannot be conveyed in COMMENT statements. */
63      USER_DEFINED_X,
64      /** Keyword used to delineate the start of a Meta-data block. */
65      META_START,
66      /** Keyword used to delineate the end of a Meta-data block. */
67      META_STOP,
68  
69      // -------------------------------------------
70      // Orbit Data Messages (ODM) specific keywords
71      // -------------------------------------------
72  
73      /** CCSDS OPM format version. */
74      CCSDS_OPM_VERS,
75      /** CCSDS OMM format version. */
76      CCSDS_OMM_VERS,
77      /** File creation date in UTC. */
78      CCSDS_OEM_VERS,
79      /** Spacecraft name for which the orbit state is provided. */
80      OBJECT_NAME,
81      /** Object identifier of the object for which the orbit state is provided. */
82      OBJECT_ID,
83      /** Origin of reference frame. */
84      CENTER_NAME,
85      /** Name of the reference frame in which the state vector and optional Keplerian element data are given. */
86      REF_FRAME,
87      /** Epoch of reference frame, if not intrinsic to the definition of the reference frame. */
88      REF_FRAME_EPOCH,
89      /** Mean element theory. */
90      MEAN_ELEMENT_THEORY,
91      /** Position vector X-component. */
92      X,
93      /** Position vector Y-component. */
94      Y,
95      /** Position vector Z-component. */
96      Z,
97      /** Velocity vector X-component. */
98      X_DOT,
99      /** Velocity vector Y-component. */
100     Y_DOT,
101     /** Velocity vector Z-component. */
102     Z_DOT,
103     /** Orbit semi-major axis. */
104     SEMI_MAJOR_AXIS,
105     /** Mean Motion. */
106     MEAN_MOTION,
107     /** Orbit eccentricity. */
108     ECCENTRICITY,
109     /** Orbit inclination. */
110     INCLINATION,
111     /** Orbit right ascension of ascending node. */
112     RA_OF_ASC_NODE,
113     /** Orbit argument of pericenter. */
114     ARG_OF_PERICENTER,
115     /** Orbit true anomaly. */
116     TRUE_ANOMALY,
117     /** Orbit mean anomaly.*/
118     MEAN_ANOMALY,
119     /** Gravitational coefficient. */
120     GM,
121     /** Spacecraft mass. */
122     MASS,
123     /** Solar radiation pressure area. */
124     SOLAR_RAD_AREA,
125     /** Solar radiation pressure coefficient. */
126     SOLAR_RAD_COEFF,
127     /** Drag area. */
128     DRAG_AREA,
129     /** Drag coefficient. */
130     DRAG_COEFF,
131     /** Ephemeris type. */
132     EPHEMERIS_TYPE,
133     /** Classification type. */
134     CLASSIFICATION_TYPE,
135     /** NORAD catalogue number. */
136     NORAD_CAT_ID,
137     /** Element set number of the satellite. */
138     ELEMENT_SET_NO,
139     /** Revolution Number. */
140     REV_AT_EPOCH,
141     /** SGP/SGP4 drag-like coefficient. */
142     BSTAR,
143     /** First Time Derivative of the Mean Motion. */
144     MEAN_MOTION_DOT,
145     /** Second Time Derivative of the Mean Motion. */
146     MEAN_MOTION_DDOT,
147     /** Coordinate system for covariance matrix. Its value can either be RSW, RTN (both indicating
148     /* "Radial, Transverse, Normal") or TNW. */
149     COV_REF_FRAME,
150     /** Covariance matrix [1, 1] element. */
151     CX_X,
152     /** Covariance matrix [2, 1] element. */
153     CY_X,
154     /** Covariance matrix [2, 2] element. */
155     CY_Y,
156     /** Covariance matrix [3, 1] element. */
157     CZ_X,
158     /** Covariance matrix [3, 2] element. */
159     CZ_Y,
160     /** Covariance matrix [3, 3] element. */
161     CZ_Z,
162     /** Covariance matrix [4, 1] element. */
163     CX_DOT_X,
164     /** Covariance matrix [4, 2] element. */
165     CX_DOT_Y,
166     /** Covariance matrix [4, 3] element. */
167     CX_DOT_Z,
168     /** Covariance matrix [4, 4] element. */
169     CX_DOT_X_DOT,
170     /** Covariance matrix [5, 1] element. */
171     CY_DOT_X,
172     /** Covariance matrix [5, 2] element. */
173     CY_DOT_Y,
174     /** Covariance matrix [5, 3] element. */
175     CY_DOT_Z,
176     /** Covariance matrix [5, 4] element. */
177     CY_DOT_X_DOT,
178     /** Covariance matrix [5, 5] element. */
179     CY_DOT_Y_DOT,
180     /** Covariance matrix [6, 1] element. */
181     CZ_DOT_X,
182     /** Covariance matrix [6, 2] element. */
183     CZ_DOT_Y,
184     /** Covariance matrix [6, 3] element. */
185     CZ_DOT_Z,
186     /** Covariance matrix [6, 4] element. */
187     CZ_DOT_X_DOT,
188     /** Covariance matrix [6, 5] element. */
189     CZ_DOT_Y_DOT,
190     /** Covariance matrix [6, 6] element. */
191     CZ_DOT_Z_DOT,
192     /** Epoch of ignition. */
193     MAN_EPOCH_IGNITION,
194     /** Maneuver duration (If = 0, impulsive maneuver). */
195     MAN_DURATION,
196     /** Mass change during maneuver (value is &lt; 0). */
197     MAN_DELTA_MASS,
198     /** Coordinate system for velocity increment vector. Its value can either be RSW, RTN (both
199      * indicating "Radial, Transverse, Normal") or TNW. */
200     MAN_REF_FRAME,
201     /** First component of the velocity increment. */
202     MAN_DV_1,
203     /** Second component of the velocity increment. */
204     MAN_DV_2,
205     /** Third component of the velocity increment. */
206     MAN_DV_3,
207     /** This keyword must appear before the first line of the covariance matrix data. */
208     COVARIANCE_START,
209     /** Start of useable time span covered by ephemerides data, it may be
210      * necessary to allow for proper interpolation. */
211     USEABLE_START_TIME,
212     /** End of useable time span covered by ephemerides data, it may be
213      * necessary to allow for proper interpolation. */
214     USEABLE_STOP_TIME,
215     /** The interpolation method to be used. */
216     INTERPOLATION,
217     /** The interpolation degree. */
218     INTERPOLATION_DEGREE,
219     /** This keyword must appear after the last line of the covariance matrix data. */
220     COVARIANCE_STOP,
221 
222 
223     // ----------------------------------------------
224     // Tracking Data Messages (TDM) specific keywords
225     // ----------------------------------------------
226 
227     // TDM Header section
228     // ------------------
229 
230     /** Header: TDM format version in the form of ‘x.y’, where ‘y’ shall be incremented for
231      *  corrections and minor changes, and ‘x’ shall be incremented for major changes.
232      *  <p>Obligatory: YES
233      */
234     CCSDS_TDM_VERS,
235 
236     // TDM meta-data section
237     // ---------------------
238 
239     /** Meta-data: PARTICIPANT_n, n = {1, 2, 3, 4, 5}.<p>
240      *  Participants in a tracking data sessions (spacecraft(s), ground station(s)...)
241      * <p>Obligatory: YES (at least 1)
242      */
243     PARTICIPANT_1,
244     /** Participant 2. */
245     PARTICIPANT_2,
246     /** Participant 3. */
247     PARTICIPANT_3,
248     /** Participant 4. */
249     PARTICIPANT_4,
250     /** Participant 5. */
251     PARTICIPANT_5,
252     /** Meta-data: Tracking mode associated with data section of the segment.<p>
253      *  - SEQUENTIAL: Applies only for range, Doppler, angles, and LOS ionosphere calibrations.
254      *                The name implies a sequential signal path between tracking participants;<p>
255      *  - SINGLE_DIFF: Applies for differenced data;<p>
256      *  - In other cases, such as troposphere, weather, clocks, etc., use of the MODE keyword does not apply.
257      *  <p>Obligatory: NO
258      */
259     MODE,
260     /** Meta-data: The PATH keywords shall reflect the signal path by listing the index of each PARTICIPANT
261      * in order, separated by commas, with no inserted white space.<p>
262      * The first entry in the PATH shall be the transmit participant.<p>
263      * The non-indexed ‘PATH’ keyword shall be used if the MODE is SEQUENTIAL.<p>
264      * The indexed ‘PATH_1’ and ‘PATH_2’ keywords shall be used where the MODE is SINGLE_DIFF.<p>
265      * Examples:<p>
266      *  - 1,2 = one-way;<p>
267      *  - 2,1,2 = two-way;<p>
268      *  - 3,2,1 = three-way;<p>
269      *  - 1,2,3,4 = four-way;<p>
270      *  - 1,2,3,2,1 = turn-around range with 1=primary station, 2=satellite, 3=secondary station.
271      *  <p>Obligatory: NO
272      */
273     PATH,
274     /** Path 1. */
275     PATH_1,
276     /** Path 2. */
277     PATH_2,
278     /** Frequency band for transmitted frequencies.
279      * <p>Obligatory: NO
280      */
281     TRANSMIT_BAND,
282     /** Meta-data: Frequency band for received frequencies.
283      * <p>Obligatory: NO
284      */
285     RECEIVE_BAND,
286     /** Meta-data: Turn-around ratio numerator. <p>
287      *  Numerator of the turn-around ratio that is necessary to calculate the coherent downlink from the uplink frequency.
288      *  <p>Obligatory: NO
289      */
290     TURNAROUND_NUMERATOR,
291     /** Meta-data: Turn-around ratio denominator.
292      * <p>Obligatory: NO
293      */
294     TURNAROUND_DENOMINATOR,
295     /** Meta-data: Timetag reference.<p>
296      *  Provides a reference for time tags in the tracking data.<p>
297      *  It indicates whether the timetag associated with the data is the transmit time or the receive time.
298      *  <p>Obligatory: NO
299      */
300     TIMETAG_REF,
301     /** Meta-data: Integration interval.<p>
302      *  Provides the Doppler count time in seconds for Doppler data or for the creation
303      *  of normal points.
304      *  <p>Obligatory: NO
305      */
306     INTEGRATION_INTERVAL,
307     /** Meta-data: Integration reference.<p>
308      *  Used in conjunction with timetag reference and integration interval.<p>
309      *  Indicates whether the timetag represents the start, middle or end of the integration interval.
310      *  <p>Obligatory: NO
311      */
312     INTEGRATION_REF,
313 
314     /** Meta-data: Frequency offset.<p>
315      *  A frequency in Hz that must be added to every RECEIVE_FREQ to reconstruct it.
316      *  <p>Obligatory: NO
317      */
318     FREQ_OFFSET,
319     /** Meta-data: Range mode.<p>
320      *  COHERENT, CONSTANT or ONE_WAY.
321      *  <p>Obligatory: NO
322      */
323     RANGE_MODE,
324     /** Meta-data: Range modulus.<p>
325      *  Modulus of the range observable in the units as specified by the RANGE_UNITS keyword.
326      *  <p>Obligatory: NO
327      */
328     RANGE_MODULUS,
329     /** Meta-data: The RANGE_UNITS keyword specifies the units for the range observable.<p>
330      * ‘km’ shall be used if the range is measured in kilometers.<p>
331      * ‘s’ shall be used if the range is measured in seconds.<p>
332      * 'RU' for "range units'
333      * <p>Obligatory: NO
334      */
335     RANGE_UNITS,
336     /** 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>
337      * The value shall be one of the following:<p>
338      * - AZEL for azimuth, elevation (local horizontal);<p>
339      * - RADEC for right ascension, declination or hour angle, declination (needs to be referenced to an inertial frame);<p>
340      * - XEYN for x-east, y-north;<p>
341      * - XSYE for x-south, y-east.
342      * <p>Obligatory: NO
343      */
344     ANGLE_TYPE,
345     /** Reference frame in which data are given: used in combination with ANGLE_TYPE=RADEC.
346      * <p>Obligatory: NO
347      */
348     REFERENCE_FRAME,
349     /** Meta-data: Transmit delays list (up to 5).<p>
350      *  Specifies a fixed interval of time, in seconds, for the signal to travel from the transmitting
351      *  electronics to the transmit point. Each item in the list corresponds to the each participants.
352      *  <p>Obligatory: NO
353      */
354     TRANSMIT_DELAY_1,
355     /** Second. */
356     TRANSMIT_DELAY_2,
357     /** Second. */
358     TRANSMIT_DELAY_3,
359     /** Second. */
360     TRANSMIT_DELAY_4,
361     /** Second. */
362     TRANSMIT_DELAY_5,
363     /** Meta-data: Receive delays list.<p>
364      *  Specifies a fixed interval of time, in seconds, for the signal to travel from the tracking
365      *  point to the receiving electronics. Each item in the list corresponds to the each participants.
366      *  <p>Obligatory: NO
367      */
368     RECEIVE_DELAY_1,
369     /** Second. */
370     RECEIVE_DELAY_2,
371     /** Second. */
372     RECEIVE_DELAY_3,
373     /** Second. */
374     RECEIVE_DELAY_4,
375     /** Second. */
376     RECEIVE_DELAY_5,
377     /** Meta-data: Data quality.<p>
378      *  Estimate of the quality of the data: RAW, DEGRADED or VALIDATED.
379      *  <p>Obligatory: NO
380      */
381     DATA_QUALITY,
382     /** Meta-data: Correction angle 1.<p>
383      *  Angle correction that has been added or should be added to the ANGLE_1 data.
384      *  <p>Obligatory: NO
385      */
386     CORRECTION_ANGLE_1,
387     /** Meta-data: Correction angle 2.<p>
388      *  Angle correction that has been added or should be added to the ANGLE_2 data.
389      *  <p>Obligatory: NO
390      */
391     CORRECTION_ANGLE_2,
392     /** Meta-data: Correction Doppler.<p>
393      *  Doppler correction that has been added or should be added to the DOPPLER data.
394      *  <p>Obligatory: NO
395      */
396     CORRECTION_DOPPLER,
397     /** Meta-data: Correction Range.<p>
398      *  Range correction that has been added or should be added to the RANGE data.
399      *  <p>Obligatory: NO
400      */
401     CORRECTION_RANGE,
402     /** Meta-data: Correction receive.<p>
403      *  Receive correction that has been added or should be added to the RECEIVE data.
404      *  <p>Obligatory: NO
405      */
406     CORRECTION_RECEIVE,
407     /** Meta-data: Correction transmit.<p>
408      *  Transmit correction that has been added or should be added to the TRANSMIT data.
409      *  <p>Obligatory: NO
410      */
411     CORRECTION_TRANSMIT,
412     /** Meta-data: Correction applied ? YES/NO<p>
413      *  Indicate whethers or not the values associated with the CORRECTION_* keywords have been
414      *  applied to the tracking data.
415      *  <p>Obligatory: NO
416      */
417     CORRECTIONS_APPLIED,
418 
419 
420     // TDM Data section
421     // ----------------
422 
423     // Signal related keywords.
424     /** Data: Carrier power [dBW].<p>
425      *  Strength of the radio signal transmitted by the spacecraft as received at the ground station or at another spacecraft.
426      */
427     CARRIER_POWER,
428     /** Data: Doppler instantaneous [km/s].<p>
429      *  Instantaneous range rate of the spacecraft.
430      */
431     DOPPLER_INSTANTANEOUS,
432     /** Data: Doppler integrated [km/s].<p>
433      *  Mean range rate of the spacecraft over the INTEGRATION_INTERVAL specified in the meta-data section.
434      */
435     DOPPLER_INTEGRATED,
436     /** Data: Carrier power to noise spectral density ratio (Pc/No) [dBHz]. */
437     PC_N0,
438     /** Data: Ranging power to noise spectral density ratio (Pr/No) [dBHz]. */
439     PR_N0,
440     /** Data: Range value [km, s or RU].
441      * @see #RANGE_UNITS
442      */
443     RANGE,
444     /** Data: Received frequencies [Hz].<p>
445      * The RECEIVE_FREQ keyword shall be used to indicate that the values represent measurements of the received frequency.<p>
446      * The keyword is indexed to accommodate a scenario in which multiple downlinks are used.<p>
447      * RECEIVE_FREQ_n (n = 1, 2, 3, 4, 5)
448      */
449     RECEIVE_FREQ_1,
450     /** Received frequency 2. */
451     RECEIVE_FREQ_2,
452     /** Received frequency 3. */
453     RECEIVE_FREQ_3,
454     /** Received frequency 4. */
455     RECEIVE_FREQ_4,
456     /** Received frequency 5. */
457     RECEIVE_FREQ_5,
458     /** Data: Received frequency [Hz].<p>
459      *  Case without an index; where the frequency cannot be associated with a particular participant.
460      */
461     RECEIVE_FREQ,
462     /** Data: Transmitted frequencies [Hz].<p>
463      * 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>
464      * The TRANSMIT_FREQ keyword is indexed to accommodate scenarios in which multiple transmitters are used.<p>
465      * TRANSMIT_FREQ_n (n = 1, 2, 3, 4, 5)
466      */
467     TRANSMIT_FREQ_1,
468     /** Transmitted frequency 2. */
469     TRANSMIT_FREQ_2,
470     /** Transmitted frequency 3. */
471     TRANSMIT_FREQ_3,
472     /** Transmitted frequency 4. */
473     TRANSMIT_FREQ_4,
474     /** Transmitted frequency 5. */
475     TRANSMIT_FREQ_5,
476     /** Data: Transmitted frequencies rates [Hz/s].<p>
477      * The value associated with the TRANSMIT_FREQ_RATE_n keyword is the linear rate of
478      * change of the frequency TRANSMIT_FREQ_n starting at the timetag and continuing
479      *  until the next TRANSMIT_FREQ_RATE_n timetag (or until the end of the data).<p>
480      * TRANSMIT_FREQ_RATE_n (n = 1, 2, 3, 4, 5)
481      */
482     TRANSMIT_FREQ_RATE_1,
483     /** Transmitted frequency rate 2. */
484     TRANSMIT_FREQ_RATE_2,
485     /** Transmitted frequency rate 3. */
486     TRANSMIT_FREQ_RATE_3,
487     /** Transmitted frequency rate 4. */
488     TRANSMIT_FREQ_RATE_4,
489     /** Transmitted frequency rate 5. */
490     TRANSMIT_FREQ_RATE_5,
491 
492     // VLBI/Delta-DOR Related Keywords
493     /** Data: DOR [s].<p>
494      * the DOR keyword represents the range measured via PATH_2 minus the range measured via PATH_1.
495      */
496     DOR,
497     /** Data: VLBI delay [s].<p>
498      * The observable associated with the VLBI_DELAY keyword represents the time of signal
499      * arrival via PATH_2 minus the time of signal arrival via PATH_1.
500      */
501     VLBI_DELAY,
502 
503     // Angle Related Keywords
504     /** Data: ANGLE_1 in degrees and in [-180, +360[ [deg].<p>
505      * The value assigned to the ANGLE_1 keyword represents the azimuth, right ascension, or ‘X’
506      * angle of the measurement, depending on the value of the ANGLE_TYPE keyword.<p>
507      * The angle measurement shall be a double precision value as follows: -180.0 &le; ANGLE_1 &lt; 360.0<p>
508      * Units shall be degrees.<p>
509      * See meta-data keyword ANGLE_TYPE for the definition of the angles.
510      */
511     ANGLE_1,
512     /** Data: ANGLE_2 in degrees and in [-180, +360[ [deg].<p>
513      * The value assigned to the ANGLE_2 keyword represents the elevation, declination, or ‘Y’
514      * angle of the measurement, depending on the value of the ANGLE_TYPE keyword.<p>
515      * The angle measurement shall be a double precision value as follows: -180.0 &le; ANGLE_2 &lt; 360.0.<p>
516      * Units shall be degrees.<p>
517      * See meta-data keyword ANGLE_TYPE for the definition of the angles.
518      */
519     ANGLE_2,
520 
521     // Time Related Keywords
522     /** Data: Clock bias [s].<p>
523      * The CLOCK_BIAS keyword can be used by the message recipient to adjust timetag
524      * measurements by a specified amount with respect to a common reference.
525      */
526     CLOCK_BIAS,
527     /** Data: Clock drift [s/s].<p>
528      * The CLOCK_DRIFT keyword should be used to adjust timetag measurements by an amount that is a function of time with
529      * respect to a common reference, normally UTC (as opposed to the CLOCK_BIAS, which is meant to be a constant adjustment).
530      */
531     CLOCK_DRIFT,
532 
533     // Media Related Keywords
534     /** Data: STEC - Slant Total Electron Count [TECU].
535      * The STEC keyword shall be used to convey the line of sight,
536      * one way charged particle delay or total electron count (TEC) at the timetag associated with a
537      * tracking measurement, which is calculated by integrating the electron density along the
538      * propagation path (electrons/m2).
539      */
540     STEC,
541     /** Data: TROPO DRY [m].<p>
542      * Dry zenith delay through the troposphere measured at the timetag.
543      */
544     TROPO_DRY,
545     /** Data: TROPO WET [m].<p>
546      * Wet zenith delay through the troposphere measured at the timetag.
547      */
548     TROPO_WET,
549 
550     // Meteorological Related Keywords
551     /** Data: Pressure [hPa].<p>
552      * Atmospheric pressure observable as measured at the tracking participant.
553      */
554     PRESSURE,
555     /** Data: Relative humidity [%].<p>
556      * Relative humidity observable as measured at the tracking participant.
557      */
558     RHUMIDITY,
559     /** Data: Temperature [K].<p>
560      * Temperature observable as measured at the tracking participant.
561      */
562     TEMPERATURE,
563 
564     // Miscellaneous KEYVALUE keywords
565     /** Keyword used to delineate the start of a Data block in Keyvalue files. */
566     DATA_START,
567     /** Keyword used to delineate the end of a Data block in Keyvalue files.. */
568     DATA_STOP,
569 
570     // XML TDM start/end keywords
571     /** TDM first keyword. */
572     tdm,
573     /** Header keyword. */
574     header,
575     /** Body keyword. */
576     body,
577     /** Segment keyword. */
578     segment,
579     /** Meta-data keyword. */
580     metadata,
581     /** Data keyword. */
582     data,
583     /** Observation keyword. */
584     observation;
585 }