<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#F0FFE1" bgcolor="#535353">
    <tt>This week's tip: GLONASS system time and broadcast time
      parameters</tt>
    <div class="moz-forward-container">
      <pre>I hadn't really planned on covering this, but a teqc user on this list hinted
at this topic, so let's get into it, although, thankfully, (and here's the tip)
most users don't need to be concerned since all or most issues are taken care of
by some combination of the receiver firmware and conversion (to RINEX or another
format).

The GLONASS system time, which I'll denote as GLNT, is based on UTC(SU) --
or sometimes referred to as UTC Moscow.  The important point is that UTC(SU)
is off by +3 hours (and + or - whatever small part of a second) from normal
UTC (Greenwich), or UTC(SU) = UTC + 3 hours.  For example, the GLONASS ephemerides
discussed in last week's tip <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002457.html">https://postal.unavco.org/pipermail/teqc/2018/002457.html</a>
have each time of ephemeris (ToE) in UTC(SU).  However, in the GLONASS RINEX nav
format (e.g. <a class="moz-txt-link-freetext" href="ftp://igs.org/pub/data/format/rinex211.txt">ftp://igs.org/pub/data/format/rinex211.txt</a> for RINEX 2.11), the
GLONASS ToE (which is also always equal to the time of SV clock, or ToC, for
GLONASS) is converted to normal UTC.  (This was probably done to avoid confusion,
but I can't tell you for certain because the history of this decision preceded
my involvement with RINEX and my collaboration with Werner Gurtner on the
RINEX format.)

Thus GLNT, being based on UTC, will have a minute of 61 seconds in length
whenever a leap second is inserted into UTC (which occurs in all realizations
of UTC, like UTC(SU), by agreement).  And, of course, to convert GLNT to the
time systems of the other GNSS systems, one has to account for the accumulated
leap seconds inserted into UTC since the beginning of the other GNSS time
system.  (For example, as of 1.0 Jan 2017 and until the next leap second is
inserted into UTC, GPST = UTC + 18 seconds.)  Reminder: leap seconds were covered
in an earlier tip: <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002215.html">https://postal.unavco.org/pipermail/teqc/2017/002215.html</a>

For most users, this is all probably too much information already.  But for all
you truly hardcore geeks, let's delve further into what GLONASS actually broadcasts.

GLONASS broadcasts an integer "day number", NT in an ephemeris or NA in an almanac,
which is unique within any 4-year interval starting with a leap year.  Starting
with GLONASS-M (which first launched in 2003) the broadcast ephemeris and almanac
also include a 5-bit unsigned integer, N4, uniquely indicating which 4-year interval.
(Prior to GLONASS-M, the 4-year interval was ambiguous and had to be specified or
determined by other means.)  The GLONASS ICDs for GLONASS-M or later imply a
starting year of 1996 and even a starting date of 1 Jan 1996 UTC(SU) -- but this
is just formulistic, since there is, in fact, no equivalent starting epoch for
GLONASS as with the other GNSS systems (e.g. 6.0 Jan 1980 for GPS).  An N4 = 1
means the 4-year interval starting with leap year 1996 and going through to the
end of 1999; N4 = 5 means the 4-year interval starting with the leap year 2012
going through to the end of the year 2015.  There are only broadcast N4 values
of 1-31.

(Why didn't GLONASS-M start with a N4 value of 0 and a "starting year" of 2000
since GLONASS-M didn't first launch until 2003?  Good question.  I don't know.
The math would have been slightly different, but it seems like those values would
have worked.  These are some of the minor man-made mysteries of the universe that
keep me up at night ...  Perhaps the designers wanted at least one non-zero bit
in all usable N4 values, and perhaps they had all of this designed prior to 2000
but the first launch of GLONASS-M was delayed until after 2000.)

All GLONASS 4-year intervals start with a leap year.  A value of NT = 1 means
1 Jan of that leap year and NT = 1461 means 31 Dec at the end of the 4-year interval.
As examples:
   N4 = 5 and NT = 898 means 17 June 2014 UTC(SU)
   N4 = 6 and NT = 1461 means 31 Dec 2019 UTC(SU)
(This approach happens to be conveniently aided by the fact that 2000 A.D. --
being divisible by 400 -- was a leap year.  Exactly what might happen for N4 = 27
in 2100 A.D -- which will _not_ be a leap year -- is unclear to me, assuming GLONASS
is still viable in 2100.)

The time of applicability of a GLONASS navigation message is given by tb, which
is the time of the UTC(SU) day, in minutes, for the center of validity of the ephemeris,
i.e. the ToE of the navigation message in the terminology of the other GNSSs.

For those of you familiar with BINEX, the GLONASS navigation message in BINEX
0x01-02 stores NT and tb*60 (i.e. tb in units of seconds rather than minutes).
Also, the GLONASS-M N4 value is not stored, even if known, since, unfortunately,
BINEX 0x01-02 was defined before GLONASS-M existed.  For reference, see:
<a class="moz-txt-link-freetext" href="http://binex.unavco.org/binex_record_01.html#01_02">http://binex.unavco.org/binex_record_01.html#01_02</a>

-------------

There, aren't most of you glad you don't have to know any of this? :)

Happy teqc-ing!

cheers,
--lou

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Louis H. Estey, Ph.D.              office:  [+001] 303-381-7456
UNAVCO, 6350 Nautilus Drive           FAX:  [+001] 303-381-7451
Boulder, CO  80301-5554            e-mail:  lou  unavco.org

"If the universe is the answer, what is the question?"
                                               -- Leon Lederman
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Past helpful tips:

week 1894: using teqc config files - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002067.html">http://postal.unavco.org/pipermail/teqc/2016/002067.html</a>
week 1895: qc of high-rate data - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002071.html">http://postal.unavco.org/pipermail/teqc/2016/002071.html</a>
week 1896: UNIX/Linux shells for Windows - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002072.html">http://postal.unavco.org/pipermail/teqc/2016/002072.html</a>
week 1897: '-' vs. '+' teqc options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002076.html">http://postal.unavco.org/pipermail/teqc/2016/002076.html</a>
week 1898: auto-identification of formats - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002092.html">http://postal.unavco.org/pipermail/teqc/2016/002092.html</a>
week 1899: auto-identification vs. format flags - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002096.html">http://postal.unavco.org/pipermail/teqc/2016/002096.html</a>
week 1900: square brackets in options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002105.html">http://postal.unavco.org/pipermail/teqc/2016/002105.html</a>
week 1901: using option '+mds' - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002108.html">http://postal.unavco.org/pipermail/teqc/2016/002108.html</a>
week 1902: qc results w/ problematic nav messages - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002113.html">http://postal.unavco.org/pipermail/teqc/2016/002113.html</a>
week 1903: '-no_orb[it]' and '-no_pos[ition]' options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002115.html">http://postal.unavco.org/pipermail/teqc/2016/002115.html</a>
week 1904: '-week' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002117.html">http://postal.unavco.org/pipermail/teqc/2016/002117.html</a>
week 1905: using '+bcf' for XYZ/geodetic conversion - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002126.html">http://postal.unavco.org/pipermail/teqc/2016/002126.html</a>
week 1906: the '+v[erify]' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002128.html">http://postal.unavco.org/pipermail/teqc/2016/002128.html</a>
week 1907: '+C2', '+L5', "+L6', '+L7', '+L8', '+all' options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002130.html">http://postal.unavco.org/pipermail/teqc/2016/002130.html</a>
week 1908: getting RINEX doppler and L2 - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002131.html">http://postal.unavco.org/pipermail/teqc/2016/002131.html</a>
week 1909: using paths w/ file names - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002132.html">http://postal.unavco.org/pipermail/teqc/2016/002132.html</a>
week 1910: the (un)importance of file names - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002133.html">http://postal.unavco.org/pipermail/teqc/2016/002133.html</a>
week 1911: notices, warnings, and errors - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002134.html">http://postal.unavco.org/pipermail/teqc/2016/002134.html</a>
week 1912: the '-max_rx_SVs' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002137.html">http://postal.unavco.org/pipermail/teqc/2016/002137.html</a>
week 1913: the end of '++igs' and '+igs' - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002140.html">http://postal.unavco.org/pipermail/teqc/2016/002140.html</a>
week 1914: splicing together RINEX files - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002144.html">http://postal.unavco.org/pipermail/teqc/2016/002144.html</a>
week 1915: using '-O.int' and '-O.dec' - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002145.html">http://postal.unavco.org/pipermail/teqc/2016/002145.html</a>
week 1916: '+doy' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002146.html">http://postal.unavco.org/pipermail/teqc/2016/002146.html</a>
week 1917: '-tbin' and '-ast' options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002152.html">http://postal.unavco.org/pipermail/teqc/2016/002152.html</a>
week 1918: mp12 RMS before/after Oct 2013 - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002158.html">http://postal.unavco.org/pipermail/teqc/2016/002158.html</a>
week 1919: the global windowing options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002159.html">http://postal.unavco.org/pipermail/teqc/2016/002159.html</a>
week 1920: '-M.dec' and '-N.dec' options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002163.html">http://postal.unavco.org/pipermail/teqc/2016/002163.html</a>
week 1921: combining time filtering options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002176.html">http://postal.unavco.org/pipermail/teqc/2016/002176.html</a>
week 1922: helping me (or someone else on the list) help you - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002187.html">http://postal.unavco.org/pipermail/teqc/2016/002187.html</a>
week 1923: the "build" line - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002190.html">http://postal.unavco.org/pipermail/teqc/2016/002190.html</a>
week 1924: the qc '-w[idth]' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002193.html">http://postal.unavco.org/pipermail/teqc/2016/002193.html</a>
week 1925: qc with explicit time windowing - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002194.html">http://postal.unavco.org/pipermail/teqc/2016/002194.html</a>
week 1926: the '+rx_state' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002200.html">http://postal.unavco.org/pipermail/teqc/2016/002200.html</a>
week 1927: the '-O.sum' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002204.html">http://postal.unavco.org/pipermail/teqc/2016/002204.html</a>
week 1928: the '+meta' and '+mds' options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2016/002206.html">http://postal.unavco.org/pipermail/teqc/2016/002206.html</a>
week 1930: more on '-O.sum' - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002207.html">http://postal.unavco.org/pipermail/teqc/2017/002207.html</a>
week 1931: the '-O.s[ystem]' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002208.html">http://postal.unavco.org/pipermail/teqc/2017/002208.html</a>
week 1932: leap seconds - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002215.html">http://postal.unavco.org/pipermail/teqc/2017/002215.html</a>
week 1936: what you can (and shouldn't) do in a RINEX obs file - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002229.html">http://postal.unavco.org/pipermail/teqc/2017/002229.html</a>
week 1938: the '+psp' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002231.html">http://postal.unavco.org/pipermail/teqc/2017/002231.html</a>
week 1939: the '+diag' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002235.html">http://postal.unavco.org/pipermail/teqc/2017/002235.html</a>
week 1951: '-n_<system>' and SV filtering options - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002277.html">http://postal.unavco.org/pipermail/teqc/2017/002277.html</a>
week 1953: more with '+diag' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002287.html">http://postal.unavco.org/pipermail/teqc/2017/002287.html</a>
week 1954: using '+diag' output to split raw files - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002290.html">http://postal.unavco.org/pipermail/teqc/2017/002290.html</a>
week 1955: current qc notation - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002302.html">http://postal.unavco.org/pipermail/teqc/2017/002302.html</a>
week 1956: the '+qcq' option - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002304.html">http://postal.unavco.org/pipermail/teqc/2017/002304.html</a>
week 1957: using Trimble formats - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002305.html">http://postal.unavco.org/pipermail/teqc/2017/002305.html</a>
week 1958: ToC != ToE messages - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002310.html">http://postal.unavco.org/pipermail/teqc/2017/002310.html</a>
week 1959: receivers vs. formats - <a class="moz-txt-link-freetext" href="http://postal.unavco.org/pipermail/teqc/2017/002311.html">http://postal.unavco.org/pipermail/teqc/2017/002311.html</a>
week 1960: when the '-week' option is very wrong to use - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002314.html">https://postal.unavco.org/pipermail/teqc/2017/002314.html</a>
week 1961: "less" is usually best - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002315.html">https://postal.unavco.org/pipermail/teqc/2017/002315.html</a>
week 1962: using GPS L2C with teqc - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002316.html">https://postal.unavco.org/pipermail/teqc/2017/002316.html</a>
week 1964: the '+eds' options - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002317.html">https://postal.unavco.org/pipermail/teqc/2017/002317.html</a>
week 1965: handling RINEX comment lines - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002324.html">https://postal.unavco.org/pipermail/teqc/2017/002324.html</a>
week 1966: the '+dUTC_p' options - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002331.html">https://postal.unavco.org/pipermail/teqc/2017/002331.html</a>
week 1967: the strange position from '+meta' - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002355.html">https://postal.unavco.org/pipermail/teqc/2017/002355.html</a>
week 1972: what shows up as metadata in RINEX headers - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002362.html">https://postal.unavco.org/pipermail/teqc/2017/002362.html</a>
week 1973: GPS L2C navigation messages - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002363.html">https://postal.unavco.org/pipermail/teqc/2017/002363.html</a>
week 1974: the '+ion_p' options - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002370.html">https://postal.unavco.org/pipermail/teqc/2017/002370.html</a>
week 1975: the '+event' options - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002372.html">https://postal.unavco.org/pipermail/teqc/2017/002372.html</a>
week 1976: options '+smtt' (default) vs. '-smtt' - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002374.html">https://postal.unavco.org/pipermail/teqc/2017/002374.html</a>
week 1977: the reported interval with '+meta' for a RINEX obs file - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002377.html">https://postal.unavco.org/pipermail/teqc/2017/002377.html</a>
week 1978: the '-N.dUTC' options - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002378.html">https://postal.unavco.org/pipermail/teqc/2017/002378.html</a>
week 1979: the various qc elevation angles - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002383.html">https://postal.unavco.org/pipermail/teqc/2017/002383.html</a>
week 1980: avoid in RINEX: Transit data - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002385.html">https://postal.unavco.org/pipermail/teqc/2017/002385.html</a>
week 1981: avoid in RINEX: epoch flag = 6 - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2017/002389.html">https://postal.unavco.org/pipermail/teqc/2017/002389.html</a>
week 1982: avoid in RINEX: RCV CLOCK OFFS APPL = 1 - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002392.html">https://postal.unavco.org/pipermail/teqc/2018/002392.html</a>
week 1983: don't count on in RINEX: receiver clock offset per epoch - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002393.html">https://postal.unavco.org/pipermail/teqc/2018/002393.html</a>
week 1984: requirements for multiple target files/stdin - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002410.html">https://postal.unavco.org/pipermail/teqc/2018/002410.html</a>
week 1985: default output for various input - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002412.html">https://postal.unavco.org/pipermail/teqc/2018/002412.html</a>
week 1986: the '+latency' options - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002419.html">https://postal.unavco.org/pipermail/teqc/2018/002419.html</a>
week 1987: the 'O.px and 'O.pg' options - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002422.html">https://postal.unavco.org/pipermail/teqc/2018/002422.html</a>
week 1988: the '+relax' option - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002423.html">https://postal.unavco.org/pipermail/teqc/2018/002423.html</a>
week 1992: the '+x_tilt' options - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002452.html">https://postal.unavco.org/pipermail/teqc/2018/002452.html</a>
week 1993: GLONASS: slot and freq. chnl. numbers - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002453.html">https://postal.unavco.org/pipermail/teqc/2018/002453.html</a>
week 1994: GLONASS: slot numbers > 24 - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002454.html">https://postal.unavco.org/pipermail/teqc/2018/002454.html</a>
week 1995: GLONASS: signals - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002456.html">https://postal.unavco.org/pipermail/teqc/2018/002456.html</a>
week 1996: GLONASS: broadcast ephemeris - <a class="moz-txt-link-freetext" href="https://postal.unavco.org/pipermail/teqc/2018/002457.html">https://postal.unavco.org/pipermail/teqc/2018/002457.html</a>

</pre>
    </div>
  </body>
</html>