[teqc] some possible windowing options

Lou Estey lou at unavco.org
Thu Jun 14 12:28:13 MDT 2007


There have been a couple of responses to the suggested windowing
options -- all positive.  Here's an update.


On the monument/marker name or number "windowing":  These will be
available in the next teqc version as experimental options.  There
will be 4 different possibilities:

-win_mo <string>  : window filter on monument/marker name <string>, minimal match
+win_mo <string>  : window filter on monument/marker name <string>, maximal match

-win_mn <string>  : window filter on monument/marker number <string>, minimal match
+win_mn <string>  : window filter on monument/marker number <string>, maximal match

What's the difference between the leading '-' and '+'?  For the '+' (maximal
match), the entire string that is input must match what you are looking for,
e.g. what might be in the 60-char MARKER NAME or 20-char MARKER NUMBER header
lines of a RINEX file (neglecting trailing spaces, though).  For the '-'
(minimal match), a sub-string match qualifies as a match, e.g. maybe just
a 4-char ID -- though this still is case-sensitive.

There should only be output when a match exists.


On the time binning style of auto-windowing:  There was quite a bit
of off-line discussion, lots of interest, lots of ideas, and this
will _not_ be in the next teqc version (but hopefully not too far off
in the future).  The current thinking is to have two new options, `-tbin`
and `-ast`, with one always required for the time binning.

The first and required option is -tbin which will have two arguments; one
is the delta time for each bin and the other is the prefix part of the
output filenames.  The prefix could look like a 4-char ID, or some other
printable string without whitespace.

The first arg of -tbin would be allowed to specify units in the trailing
letter: 's' for seconds, 'm' for minutes, 'h' for hours, 'd' for days, with
seconds understood to be the default in the absence of a trailing letter.
_Any_ value for a delta would be allowed; caveat emptor!

The second arg of -tbin would be the prefix part of the output files, <root> ==
prefix + doy-of-year, where the filenames themselves would be:

a) <root>0.yyo  if delta in days is an integer

b) <root>a.yyo - <root>x.yyo  if case (a) doesn't work, but
    24/(delta in hours) results in an integer
    a = start in hour 0, ..., x = start in hour 23

c) <root>[a-x]00.yyo - <root>[a-x]59.yyo  if cases (a) and (b) don't work,
    but 60/(delta in minutes) results in an integer
    00 = start in minute 0, ..., 59 = start in minute 59

d) <root>[a-x][00-59]00.yyo - <root>[a-x][00-59]59.yyo  if cases (a)-(c)
    don't work, but 60/(delta in seconds) results in an integer (or maybe
    all remaining cases as well ...)
    00 = start in second 0, ..., 59 = start in second 59

(At the moment I'm not considering sub-second output files, but this scheme
could be extended to include even those; after the integer second, a decimal
second extension would be included to provide adequate resolution.)

The second option -ast ("aligned start time") is used where the user
wants to specify the start time of the first bin.  (The current -st
option would be reserved to mean -- as now -- when to start the data,
which by default is the first epoch found.  Don't confuse -ast and -st.)

Examples of usage:

1) You want the input broken up into daily files and the filenames to
start with "test"; use `-tbin 1d test`.  If, say, the data started on
day 2007:165, the output files would be named:


2) You want the input broken up into files of 1/12 sidereal days with
filenames starting with "sidx", and you want the first file to be time
aligned to 00h30m09s (GPS time, as usual) of the first day of data, _and_
you want the data to start at 01h30m10s in the first file; use
`-tbin 7180.3409 sidx -ast 00:30:09.000 -st 01:30:10`.  If the
data started on day 2007:165, then the output files would be named:

    sidx165a3009.07o  (but data here doesn't start in file until 01:30:10)

(Note: a sidereal day is 23h 56m 4.091s, so 1/12th is 7180.3409 seconds.)

For time bin alignment, there are two general possibilities:

1) align the bins to GPS time 00:00:00 immediately preceding the first
output epoch (default)

2) align the bins to the first output epoch

which would be established by the user this way:

`-ast <arg>` is used: if <arg> is "-" or "_", then alignment case (2); if <arg>
is a time-like string (e.g "10:00:00", then that is the time alignment of the
first file (e.g. 10h 00m 00s using the preceding string); else throw an error

no -ast option is used: one of the automatic alignment rules must apply (see a-d
above); else throw an error.

This is the current plan for implementation.  Additional comments?


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
    WWW:  http://www.unavco.org   http://jules.unavco.org

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

More information about the teqc mailing list