[teqc] some possible windowing options
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