Time system/scale in GROOPS #160
-
Dear GROOPS Team, The topic of this message concerns the timing information included in the L1B data files of GRACE-FO/GRACE after being converted into GROOPS format using one of the “GraceL1b2…” programs and the input/output files of some GROOPS simulation programs. In the “GRACE-FO Level-1 Data Product User Handbook JPL D-56935” (Wen, et al., 2017) it is mentioned that: [For GRACE-FO, GPS time is defined as seconds past January 1, 2000, 12:00:00. … The GRACE-FO GPS time has the same rate as UTC time, but no leap seconds are applied: Additionally, the parameter “gps_time” included in the aforementioned L1B data files is defined as “Seconds past 12:00:00 noon of January 1, 2000 in GPS Time” (Wen, et al., 2017). The similar timing convention is mentioned for the GRACE mission in the “GRACE Level-1 Data Product User Handbook JPL D-22027” (Case, et al., 2010). This means that the timing information of the L1B data files is set in a way so as for their first data line to always correspond to the “00:00:00.0000 GPS time” of the day they refer to, but the UTC time is “behind” the number of leap seconds applied on this day. I have also verified this with the GRACE-FO Science Team after submitting a question regarding the timing information included in “gps_time” parameter of the L1B data files. As an example, I will use the first data line of the GRACE-C accelerometer data file from 2020-05-01 where as “gps_time” is set: gps_time = 641563200 This corresponds to: 1-MAY-2020 00:00:00.0000 GPS On the other hand, after using the GROOPS program “GraceL1b2Accelerometer”, the “Time [MJD]” column of the first data line is set to: Time [MJD] = 58970.000000000000000000 Following the time conventions described above, I conclude that the aforementioned MJD value represents the GPS time scale. I deduce that GROOPS adopts the MJD time representation of the GPS and UTC time scales, so as to be able to perform the time conversions between them using the GROOPS time functions “gps2utc(mjd)” and “utc2gps(mjd)”. However, in most applications the MJD time representation is connected with the UTC time scale, e.g. the aforementioned “xTime” tool, and there is no indication inside GROOPS format file that the “Time [MJD]” column is a representation of the GPS time scale. This could lead to a confusion when the L1B files are being processed together with other data acquired from other sources with epochs expressed in MJD representing the UTC time scale. Again, by using the first data line of the test case as an example, when it is combined/compared with a modeled acceleration corresponding to the same MJD [58970] which represents the UTC time scale, the two accelerations refer to points which are apart about 137 km given the number of leap seconds [18] and the approximate velocity [7.6 km/s] of the GRACE-C satellite. This would lead to an incorrect comparison given the large difference in position between the two points. In my opinion, a solution to this possible confusion would be to either include some extra information on the title of the epoch’s column, e.g. something like “GPS Time [MJD]”, so as for the user to know which time scale the “Time [MJD]” represents of or to correct all the epochs of the L1B data files converted into GROOPS format so as for their MJD to be a representation of the UTC time scale. For the second case, I found a workaround to perform the aforementioned correction by using the function “gps2utc(mjd)” and a combination of the “InstrumentArcCalculate”, “FunctionsCalculate” and “InstrumentSetType” programs. Attached you will find the “TimingInformationL1b2GroopsFormat.zip” file which includes the ACT1B file for the test date [ACT1B_2020-05-01_C_04.txt] and the “TimingInformationL1b2GroopsFormat.xml” file which is a simple script I created performing the epochs correction for the aforementioned file. Is my understanding correct about the “Time [MJD]” column of the L1B data files converted into GROOPS format representing the GPS time scale? Which is your opinion on the possible confusion when they are processed together with data acquired from other sources and the possible solutions I suggest? Finally, a similar issue is raised with some of the GROOPS simulation programs such as “SimulateAccelerometer”, “SimulateOrbit” and “PreprocessingVariationalEquation” that produce/need output/input files (and/or config elements) which include timing information. Which is the time scale represented in the “Time [MJD]” column of the output files (“outputfileAccelerometer”, “outputfileOrbit” and “outputfileVariational” respectively for the three simulation programs I mention above as examples) of the aforementioned simulation programs? Which is the time scale of the input files and/or config elements, such as “inputfileOrbit”, “inputfileStarCamera”, “inputfileAccelerometer”, “timeSeries” etc., so as for the programs to produce the correct results? Thank you very much in advance for your time and looking forward to your feedback. Best regards, Bibliography: Wen, H. Y., Kruizinga, G., Paik, M., Landerer, F., Bertiger, W., Sakumura, C., Bandikova, T., Mccullough, C. M. (2017, September 11). Gravity Recovery and Climate Experiment Follow-On (GRACE-FO) level-1 data product user handbook JPL D-56935. NASA Jet Propulsion Laboratory - California Institute of Technology. Retrieved February 21, 2023, from PO.DAAC / JPL / NASA: https://podaac-tools.jpl.nasa.gov/drive/files/allData/gracefo/docs/GRACE-FO_L1_Handbook.pdf Case, K., Kruizinga, G., Wu, S.-C. (2010, March 24). GRACE level 1B data product user handbook JPL D-22027. NASA Jet Propulsion Laboratory - California Institute of Technology. Retrieved February 21, 2023, from PO.DAAC / JPL / NASA: https://podaac-tools.jpl.nasa.gov/drive/files/allData/grace/docs/Handbook_1B_v1.3.pdf |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Dear Grigorios, Most GROOPS programs do not rely on the underlying time system. Where information about the time system is needed, GROOPS assumes GPS time (e.g. for the calculation of earth rotation and ephemrides). Almost all programs for reading external file formats convert the times to GPS time. The time and date representation is independent of the time scale. GROOPS uses Modified Julian Date (MJD) throughout for all time systems. The GROOPS instrument file format is a flexible container format without specification of the time system. Since it is possible to store all time systems (e.g. UTC as in your example), it is not useful to specify the system in the header. Additional information: Almost all GROOPS programs assume that the satellite orbits are stored in a Celestial Reference Frame (CRF). regards |
Beta Was this translation helpful? Give feedback.
-
Dear Torsten, Thank you very much for providing detailed information about how the time system/scales work in GROOPS and for the additional tip regarding the satellite orbits. Best regards, |
Beta Was this translation helpful? Give feedback.
Dear Grigorios,
Most GROOPS programs do not rely on the underlying time system. Where information about the time system is needed, GROOPS assumes GPS time (e.g. for the calculation of earth rotation and ephemrides). Almost all programs for reading external file formats convert the times to GPS time.
The time and date representation is independent of the time scale. GROOPS uses Modified Julian Date (MJD) throughout for all time systems.
The GROOPS instrument file format is a flexible container format without specification of the time system. Since it is possible to store all time systems (e.g. UTC as in your example), it is not useful to specify the system in the header.
Additional informa…