[teqc] helpful tip of week 2029

Lou Estey lou at unavco.org
Thu Nov 29 10:21:13 MST 2018

This week's tip: the '-ns' and '-ne' time windowing options

The '-ns' and '-ne' time windowing options, which stand for "next start" and
"next end", respectively, have been around inside teqc (to some degree) since
July 1999, but weren't mentioned to the outside world until July 2008. I also
tend to forget about these two options -- or else they would have been mentioned
prior to, and been included in, the tip of week 2024 on the main "filtering"
possibilities for qc, https://postal.unavco.org/pipermail/teqc/2018/002557.html.

So what are the differences between '-ns' and '-ne' and the normal '-st' and '-e'
time windowing options (where the latter two were covered to some extent in the
tip of week 1919, https://postal.unavco.org/pipermail/teqc/2016/002159.html)?
There are two main differences:

The first difference is that '-st' and '-e' options can be used to fully specify
a time (i.e. year, month, day, hour, minute, and second) or be used in a "mask" mode,
whereas the '-ns' and '-ne' options can only be used in a limited "mask" mode.

A "mask" mode is where one does not include one or more significant parts of a fully
specified time, and the parts that are specified mask over and replace the initial
data epoch that is found. For example, one could use '-st 03-12:00:00' which means
"start on the same year and month as the start time of the data, but output epochs
starting at day-of-month 3 and 12h00m00s or later". In this case one has dropped
the year and month and has a mask and replacement values for the day, hour, minute,
and second. The mask mode can go down to the second or subsecond level, so that
'-st 00.05' means "start on the same year, month, day, hour, and minute as the start
time of the data, but output epochs starting at 00.05s or later".

The '-ns' and '-ne' options only mask at the hour, minute, and second levels.

The second difference is functional -- and the main reason for even having these two
"next" options -- and probably best explained by example.

Let's say that you are piping a stream of data into teqc. This process might
have started any time, so the first epoch could be anything, but let's say for the
sake of argument that the first GNSS observation epoch was at 03h12m47s.

If for such a streamed input one uses '-st 00:00' this means to start at the
same hour as the start time (03h) and at 03h00m00s or later. Since 03h12m47s
is after 03h00m00s, teqc immediately start using the input.

However, if for this same streamed input one uses '-ns 00:00', this means to start
the _next_ time, or after, that 00m00s is reached, i.e. 04h00m00s. Therefore
teqc does not start doing anything with the input until an epoch at or after
04h00m00s. In other words, it starts at the next 00m00s epoch or, if there is no
epoch at 04h00m00s, then it starts at the first epoch after that.

Or think of the '-ns' option the following way:

'-ns 00' means that teqc will start the next _minute_ when the second reaches 00s
or later, unless the initial epoch is at 00s in which case teqc starts immediately;

'-ns 00:00' means that teqc will start the next _hour_ when the minute and second reach 00m00s
or later, unless the initial epoch is at 00m00s in which case teqc starts immediately;

'-ns 00:00:00' means that teqc will start the next _day_ when the hour, minute and second reach 00h00m00s
or later, unless the initial epoch is at 00h00m00s in which case teqc starts immediately.

Assuming no missing epochs and an epoch at 00s each minute, using '-ns' masking:

- at the second level ensures that processing starts at the beginning of a minute,

- at the minute level ensures that processing starts at the beginning of a hour,

- at the hour level ensures that processing starts at the beginning of a day.

The '-ne' option works the same way as the '-ns' option, except that '-ne' is setting the
end time instead of the start time. This also means that you should not use the same mask
in both '-ns' and '-ne' in the same command unless you want, at most, exactly one epoch.

If you want to specify a window length with either '-ns' or '-ne', you could use the
'-e' or '-st' options, respectively, or, alternatively, use one of the 'dX' variants,
for example:

'-ns 00:00 +dh 1' to start at the beginning of the next hour and set a 1-hour window beyond that
'-ne 00:00 +dh 1' to end at the beginning of the next hour and set (at most) a 1-hour window before that.

You can probably see where the '-ns' option is well-suited to processing a nice chunk
of data from a stream.

Now that I have you all excited about these two options, you should be forewarned
that '-ns' and '-ne' are not as well exercised as the other windowing options, so
you may well encounter some cases where they do not work as advertised, particularly
when using them during a qc command on non-RINEX. However, I'm aware of at least
most of the major holes and I'm working on fixes for the next teqc release.

Happy teqc-ing!


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 - https://postal.unavco.org/pipermail/teqc/2016/002067.html
week 1895: qc of high-rate data - https://postal.unavco.org/pipermail/teqc/2016/002071.html
week 1896: UNIX/Linux shells for Windows - https://postal.unavco.org/pipermail/teqc/2016/002072.html
week 1897: '-' vs. '+' teqc options - https://postal.unavco.org/pipermail/teqc/2016/002076.html
week 1898: auto-identification of formats - https://postal.unavco.org/pipermail/teqc/2016/002092.html
week 1899: auto-identification vs. format flags - https://postal.unavco.org/pipermail/teqc/2016/002096.html
week 1900: square brackets in options - https://postal.unavco.org/pipermail/teqc/2016/002105.html
week 1901: using option '+mds' - https://postal.unavco.org/pipermail/teqc/2016/002108.html
week 1902: qc results w/ problematic nav messages - https://postal.unavco.org/pipermail/teqc/2016/002113.html
week 1903: '-no_orb[it]' and '-no_pos[ition]' options - https://postal.unavco.org/pipermail/teqc/2016/002115.html
week 1904: '-week' option - https://postal.unavco.org/pipermail/teqc/2016/002117.html
week 1905: using '+bcf' for XYZ/geodetic conversion - https://postal.unavco.org/pipermail/teqc/2016/002126.html
week 1906: the '+v[erify]' option - https://postal.unavco.org/pipermail/teqc/2016/002128.html
week 1907: '+C2', '+L5', "+L6', '+L7', '+L8', '+all' options - https://postal.unavco.org/pipermail/teqc/2016/002130.html
week 1908: getting RINEX doppler and L2 - https://postal.unavco.org/pipermail/teqc/2016/002131.html
week 1909: using paths w/ file names - https://postal.unavco.org/pipermail/teqc/2016/002132.html
week 1910: the (un)importance of file names - https://postal.unavco.org/pipermail/teqc/2016/002133.html
week 1911: notices, warnings, and errors - https://postal.unavco.org/pipermail/teqc/2016/002134.html
week 1912: the '-max_rx_SVs' option - https://postal.unavco.org/pipermail/teqc/2016/002137.html
week 1913: the end of '++igs' and '+igs' - https://postal.unavco.org/pipermail/teqc/2016/002140.html
week 1914: splicing together RINEX files - https://postal.unavco.org/pipermail/teqc/2016/002144.html
week 1915: using '-O.int' and '-O.dec' - https://postal.unavco.org/pipermail/teqc/2016/002145.html
week 1916: '+doy' option - https://postal.unavco.org/pipermail/teqc/2016/002146.html
week 1917: '-tbin' and '-ast' options - https://postal.unavco.org/pipermail/teqc/2016/002152.html
week 1918: mp12 RMS before/after Oct 2013 - https://postal.unavco.org/pipermail/teqc/2016/002158.html
week 1919: the global windowing options - https://postal.unavco.org/pipermail/teqc/2016/002159.html
week 1920: '-M.dec' and '-N.dec' options - https://postal.unavco.org/pipermail/teqc/2016/002163.html
week 1921: combining time filtering options - https://postal.unavco.org/pipermail/teqc/2016/002176.html
week 1922: helping me (or someone else on the list) help you - https://postal.unavco.org/pipermail/teqc/2016/002187.html
week 1923: the "build" line - https://postal.unavco.org/pipermail/teqc/2016/002190.html
week 1924: the qc '-w[idth]' option - https://postal.unavco.org/pipermail/teqc/2016/002193.html
week 1925: qc with explicit time windowing - https://postal.unavco.org/pipermail/teqc/2016/002194.html
week 1926: the '+rx_state' option - https://postal.unavco.org/pipermail/teqc/2016/002200.html
week 1927: the '-O.sum' option - https://postal.unavco.org/pipermail/teqc/2016/002204.html
week 1928: the '+meta' and '+mds' options - https://postal.unavco.org/pipermail/teqc/2016/002206.html
week 1930: more on '-O.sum' - https://postal.unavco.org/pipermail/teqc/2017/002207.html
week 1931: the '-O.s[ystem]' option - https://postal.unavco.org/pipermail/teqc/2017/002208.html
week 1932: leap seconds - https://postal.unavco.org/pipermail/teqc/2017/002215.html
week 1936: what you can (and shouldn't) do in a RINEX obs file - https://postal.unavco.org/pipermail/teqc/2017/002229.html
week 1938: the '+psp' option - https://postal.unavco.org/pipermail/teqc/2017/002231.html
week 1939: the '+diag' option - https://postal.unavco.org/pipermail/teqc/2017/002235.html
week 1951: '-n_<system>' and SV filtering options - https://postal.unavco.org/pipermail/teqc/2017/002277.html
week 1953: more with '+diag' option - https://postal.unavco.org/pipermail/teqc/2017/002287.html
week 1954: using '+diag' output to split raw files - https://postal.unavco.org/pipermail/teqc/2017/002290.html
week 1955: current qc notation - https://postal.unavco.org/pipermail/teqc/2017/002302.html
week 1956: the '+qcq' option - https://postal.unavco.org/pipermail/teqc/2017/002304.html
week 1957: using Trimble formats - https://postal.unavco.org/pipermail/teqc/2017/002305.html
week 1958: ToC != ToE messages - https://postal.unavco.org/pipermail/teqc/2017/002310.html
week 1959: receivers vs. formats - https://postal.unavco.org/pipermail/teqc/2017/002311.html
week 1960: when the '-week' option is very wrong to use - https://postal.unavco.org/pipermail/teqc/2017/002314.html
week 1961: "less" is usually best - https://postal.unavco.org/pipermail/teqc/2017/002315.html
week 1962: using GPS L2C with teqc - https://postal.unavco.org/pipermail/teqc/2017/002316.html
week 1964: the '+eds' options - https://postal.unavco.org/pipermail/teqc/2017/002317.html
week 1965: handling RINEX comment lines - https://postal.unavco.org/pipermail/teqc/2017/002324.html
week 1966: the '+dUTC_p' options - https://postal.unavco.org/pipermail/teqc/2017/002331.html
week 1967: the strange position from '+meta' - https://postal.unavco.org/pipermail/teqc/2017/002355.html
week 1972: what shows up as metadata in RINEX headers - https://postal.unavco.org/pipermail/teqc/2017/002362.html
week 1973: GPS L2C navigation messages - https://postal.unavco.org/pipermail/teqc/2017/002363.html
week 1974: the '+ion_p' options - https://postal.unavco.org/pipermail/teqc/2017/002370.html
week 1975: the '+event' options - https://postal.unavco.org/pipermail/teqc/2017/002372.html
week 1976: options '+smtt' (default) vs. '-smtt' - https://postal.unavco.org/pipermail/teqc/2017/002374.html
week 1977: the reported interval with '+meta' for a RINEX obs file - https://postal.unavco.org/pipermail/teqc/2017/002377.html
week 1978: the '-N.dUTC' options - https://postal.unavco.org/pipermail/teqc/2017/002378.html
week 1979: the various qc elevation angles - https://postal.unavco.org/pipermail/teqc/2017/002383.html
week 1980: avoid in RINEX: Transit data - https://postal.unavco.org/pipermail/teqc/2017/002385.html
week 1981: avoid in RINEX: epoch flag = 6 - https://postal.unavco.org/pipermail/teqc/2017/002389.html
week 1982: avoid in RINEX: RCV CLOCK OFFS APPL = 1 - https://postal.unavco.org/pipermail/teqc/2018/002392.html
week 1983: don't count on in RINEX: receiver clock offset per epoch - https://postal.unavco.org/pipermail/teqc/2018/002393.html
week 1984: requirements for multiple target files/stdin - https://postal.unavco.org/pipermail/teqc/2018/002410.html
week 1985: default output for various input - https://postal.unavco.org/pipermail/teqc/2018/002412.html
week 1986: the '+latency' options - https://postal.unavco.org/pipermail/teqc/2018/002419.html
week 1987: the 'O.px and 'O.pg' options - https://postal.unavco.org/pipermail/teqc/2018/002422.html
week 1988: the '+relax' option - https://postal.unavco.org/pipermail/teqc/2018/002423.html
week 1992: the '+x_tilt' options - https://postal.unavco.org/pipermail/teqc/2018/002452.html
week 1993: GLONASS: slot and freq. chnl. numbers - https://postal.unavco.org/pipermail/teqc/2018/002453.html
week 1994: GLONASS: slot numbers > 24 - https://postal.unavco.org/pipermail/teqc/2018/002454.html
week 1995: GLONASS: signals - https://postal.unavco.org/pipermail/teqc/2018/002456.html
week 1996: GLONASS: broadcast ephemeris - https://postal.unavco.org/pipermail/teqc/2018/002457.html
week 1997: GLONASS: system time and broadcast time parameters - https://postal.unavco.org/pipermail/teqc/2018/002458.html
week 1998: qc: 'lite' vs. 'full' - https://postal.unavco.org/pipermail/teqc/2018/002470.html
week 1999: qc: the 'full' point-position and the antenna 'height' - https://postal.unavco.org/pipermail/teqc/2018/002474.html
week 2000: qc: what's a "complete observation"? - https://postal.unavco.org/pipermail/teqc/2018/002475.html
week 2001: qc: percentage of actual to expected complete observations - https://postal.unavco.org/pipermail/teqc/2018/002483.html
week 2014: qc: interpreting slips - https://postal.unavco.org/pipermail/teqc/2018/002521.html
week 2015: qc: loss-of-lock - https://postal.unavco.org/pipermail/teqc/2018/002524.html
week 2016: qc: observations per slip - https://postal.unavco.org/pipermail/teqc/2018/002526.html
week 2017: qc: multipath rms - https://postal.unavco.org/pipermail/teqc/2018/002527.html
week 2018: qc: signal-to-noise - https://postal.unavco.org/pipermail/teqc/2018/002532.html
week 2019: qc: the ASCII time plot - https://postal.unavco.org/pipermail/teqc/2018/002534.html
week 2020: qc: little known (but sometimes useful) options - https://postal.unavco.org/pipermail/teqc/2018/002535.html
week 2021: qc: qc full: the '-dn' and '+dn' ASCII time plot lines, part I - https://postal.unavco.org/pipermail/teqc/2018/002544.html
week 2022: qc: qc full: the '-dn' and '+dn' ASCII time plot lines, part II - https://postal.unavco.org/pipermail/teqc/2018/002554.html
week 2023: qc: point-position elevation restrictions - https://postal.unavco.org/pipermail/teqc/2018/002556.html
week 2024: qc: main "filtering" possibilities - https://postal.unavco.org/pipermail/teqc/2018/002557.html
week 2025: qc: expectations for teqc's PP in Solar Cycle 25 - https://postal.unavco.org/pipermail/teqc/2018/002558.html
week 2026: qc: when the antenna is moving (a lot) - https://postal.unavco.org/pipermail/teqc/2018/002564.html
week 2027: qc: direct quality check of raw data - https://postal.unavco.org/pipermail/teqc/2018/002569.html
week 2028: navigation message intervals and using '-tbin' - https://ls.unavco.org/pipermail/teqc/2018/002578.html

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://postal.unavco.org/pipermail/teqc/attachments/20181129/c9a40e75/attachment-0001.html>

More information about the teqc mailing list