CGGTTS
Rust package to parse and generate CGGTTS data.
CGGTTS is a file format to describe a local clock behavior against a single or the combination of clocks embedded in Satellite Vehicles (SV).
Exchanging CGGTTS files enables so called "Common View" Time Transfer.
CGGTTS is specified by the Bureau International des Poids & des Mesures (BIPM): CGGTTS 2E specifications
This library only supports revision 2E, and will reject other revisions.
Ecosystem
CGGTTS heavily relies on Hifitime for accurate Epoch representation
and Timescales knowledge.
Check out Christopher's amazing libraries right here.
The RNX2CGGTTS application is the "goto" application when it comes to generate CGTTTS files. Use it to generate synchronous CGGTTS tracks from coherent RINEX contexts. You can then use "cggtts-cli" to compare two remote clocks.
Crate achitecture
CGGTTSis the main structure, it supports construction from a local file or dumping into a local fileCGGTTSis made of several attributes and a list ofTrackswhich are actuall data- a
Trackis made of several attributes, the actual data that allows clock comparison is store in itsTrackData
CGGTTS track scheduling
If you compiled the crate with the scheduler feature, you can access the
Scheduler structure that helps you generate synchronous CGGTTS tracks.
Synchronous CGGTTS is convenient because it allows direct exchange of CGGTTS files and therefore, direct remote clocks comparison.
The Scheduler structure works according to the BIPM definitions but we allow for a different
tracking duration. The default being 980s, you can use shorter tracking duration and faster
CGGTTS generation. You can only modify the tracking duration if you can do so on both remote clocks,
so they share the same production parameters at all times.
System Time delays
A built in API allows accurate system delay description as defined in CGGTTS.
CGGTTS-CLI
A command line application is developed to process one or two CGGTTS file for clock comparison.