[teqc] helpful tip of week 2040

Lou Estey lou at unavco.org
Wed Feb 13 07:58:09 MST 2019

This week's tip: meteorological observations

I thought it would be helpful to summarize using meteorological (or just 'met') observations
with teqc.  To start, occasionally a novice use thinks that met observables can be extracted
somehow from the data that any GNSS receiver is collecting, when, of course, the met observables
need to be independently measured with an external "met pack" -- a unit capable of measuring
one or more local atmospheric quantities. These might be:

- atmospheric pressure
- dry atmospheric temperature
- relative humidity
- wind direction
- wind speed
- rain fall (e.g. increment from last measurement epoch)
- hail indicator (e.g. indicator from last measurement epoch)

... all of which can be represented as observables in a RINEX meteorologic file. (*)

Once the met pack has made measurements, how do these get to the GNSS receiver? Typically
the met pack is connected to the receiver via an interface using a standard communication
protocol.  The norm has been to use the RS232 interface, although I'm sure there must be
more modern alternatives by now. The GNSS receiver is then configured to query the met pack
at some interval, say, every N minutes.  The met pack then sends back the last met measurements
made. A common format for these was the NMEA 0183 standard where the message is ASCII.
In fact, all cases of returned data from a met pack that I've ever seen are ASCII, even if
they are not NMEA 0183. So we often refer to the met data for a particular observation epoch
as the "met string" for that epoch.

The GNSS receiver then bundles the "met string" in some type of record or message designed
for an "external data record", assuming the format used by the receiver accommodates such
a use case.  Teqc's job is to detect one of these special records or messages, extract the
met string, and then try to decode the met string according to whatever ASCII protocol the
string seems to be.  (I say "try to decode" because the strings can be truncated or corrupted
in unpredictable ways and sometimes this causes problems.)

This brings us to teqc options for dealing with met data. The first set are the '+eds'
options, previously discussed in tip of week 1964:
This can be used to show the "external data strings" from a met pack or other external
data measuring unit to which the receiver is connected, as long as the receiver is
capable of logging strings from the unit. (**)

Next, there are the '+xdr' (the default) and the '-xdr' options. NMEA 0183 and some other
protocols use 'XDR' as the query code, and the characters 'XDR' then usually become an initial
part of the met string. By default (since '+xdr' is the default setting), teqc will try
to parse any string with 'XDR' as a possible met string. However, there is often not
a lot to distinguish met data from other data types from other external data units
that may use exactly the same ASCII codes for observables.  If such a situation happens,
i.e. teqc is interpreting non-met XDR strings as met string, then use '-xdr' which means
"do not attempt to use NMEA XDR strings as met data".

Finally, there are the teqc options for setting the desired met observables that you
want in the RINEX met file output: '-M.obs' and '-M.-obs'.  Since 2008 July 18, the default
RINEX met observables are set to be the equivalent of '-M.obs pr+td+hr+ws+wd+ri+hi' --
i.e. the default to try to extract all the met observables for RINEX listed at the beginning
of this discussion. If you have an older met pack only capable of measuring pressure,
temperature, and relative humidity, then you should use '+M.obs pr+td+hr' or, alternatively,
'-M.-obs ws+wd+ri+hi'. ('-M.-obs', like 'O.-obs', tells teqc which observables to remove.)

Happy teqc-ing!


* A RINEX met file also allows for the following quantities:

- wet component of zenith path delay
- dry component of zenith path delay
- total (i.e. wet + dry) zenith path delay

... where the wet component might be from water vapor radiometer (WVR) measurements, which
would be a different sort of "met pack" unit, or can be estimated from GNSS signal delays in
the neutral atmosphere (and essentially all in the troposphere). A classic paper on this
topic is Linfield et al. https://pdfs.semanticscholar.org/637a/f05bddd4835269916c541ae00e4afa5fb6e0.pdf
However, estimating wet zenith path delays are not within teqc's domain; you'll need more
sophisticated software to do that.

** If the '+eds' options don't produce anything and you really think your raw data has met or
other external data strings, try using the UNIX/Linux `strings` command on your raw data file;
do a `man strings` to see available options on your UNIX/Linux system.

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://postal.unavco.org/pipermail/teqc/2018/002578.html
week 2029: the '-ns' and '-ne' time windowing options - https://postal.unavco.org/pipermail/teqc/2018/002579.html
week 2030: "no routine" messages in stderr - https://postal.unavco.org/pipermail/teqc/2018/002580.html
week 2031: why zero-length files that are created are left in place - https://postal.unavco.org/pipermail/teqc/2018/002581.html
week 2032: reasons 1-6 that navigation messages might be discarded - https://postal.unavco.org//pipermail/teqc/2018/002596.html
week 2033: reasons 7-11 that navigation messages might be discarded - https://postal.unavco.org//pipermail/teqc/2018/002602.html
week 2034: Lou's list of most used options (and why) - https://postal.unavco.org//pipermail/teqc/2019/002603.html
week 2035: the most likely causes of slips - https://postal.unavco.org//pipermail/teqc/2019/002609.html
week 2038: qc: 'Freq. no. and timecode' line - https://postal.unavco.org//pipermail/teqc/2019/002621.html
week 2039: translation options rarely -- if ever -- needed - https://postal.unavco.org//pipermail/teqc/2019/002635.html

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

More information about the teqc mailing list