TRACK: GPS differential phase kinematic positioning program

For further documentation, see http://geoweb.mit.edu/~tah/track_example


TRACK Version 1.27   GPS Kinematic positioning program
------------------   ---------------------------------        

Usage:

% track -f <command file> -a <ambiguity file> -d <day> -w <week> -s <S01> <S02> .. <S10>

where <command file> is a required file containing a list of commands
           to control the program  (see below)
      <ambiguity file> is an optional file containing  a modified
           set of integer bias parameters and settings (see full 
           description below).
      <day> the string in this argument replaces <day> in the command 
           file lines (e.g., bas1<day>0.03o will become bas12220.03o if
           the -d 222 option is given.
      <week> the string here will replace any <week> strings in the 
           command file (useful for the nav_file name which could be
           a week of concatinated sp3 files.
      <S01>, <S02> .. <S10> are upto 10 strings that can be replaced in the command
           file i.e. the string <S01> in the command file will be replaced by 
           the first string, <S02> by the second and so on.  If one the strings
           is called space (all lower case), the corresponding <SXX> entry will
           be replaced by a blank character (This provides a means to un-comment
           lines)


Version 1.27 2011/12/27
-----------------------
Added Relative humidity argument to USE_GPTGMF command for compatability with
GAMIT use of GPT. Default left at 0.00 (used 0.50 for GAMIT compatability).

Version 1.26 2011/11/23
-----------------------
Added reading of ionex files (IGS format) which are interpolated to yeild
ionospheric delay estimates, added new LOS ion file that can directly read
fixed a bug in EXWL chi-squared contribution in ambiguity fixing (should 
improve long-baseline ambiguity resolution, improved bias fixing iterations,
Added atm_scale option for kinematic site atmospheric delay estimation
(Scale factor for atm-delay/height difference partial).  New MIN_TOLS 
command which sets minimum values (had been hard wired in prior versions)
New commands IONEX_file for IGS ion files and IONLOS_file for line-of-sight
ionospheric delay estimates (generated by smooth L1-L2 phase differences).

Version 1.25 2010/11/13
-----------------------
Introduced a dump file as an output option and fixed bugs with multistation 
residual rms calculations.  Added differerntial code bias (DCB) calculations 
to account for biases in C1 versus P1 pseudoranges. New commands DCB_FILE and
RCV_TYPE.  Also added receiver type to ANTE_OFF command for convenience.

Version 1.24 2010/06/01
-----------------------
Added features from trackRT. Rinex files simply concatenated, velocities in
site_pos command and new commnd TIMEDEP_PROCNS

Version 1.23 2010/02/15
-----------------------
Fixed problems with ambiguities being found to be not-dependent (increased 
search depth). There still seems to be problems with short-files in 
multibaseline processing.  These sites should be put imediately after 
fixed site (seems to solve problem). 
Resorted ambiguities when O (other) status during fixing stopped the 
ambiguity being resolved.  
Fine tuned the post-fit editing so that large RMS values would be edited.
Changed some formats and added site names in addition to site numbers.
Removed SEARCH option completely.


Version 1.22 2009/10/17
-----------------------
Added feature not to set bias flag at jumps in the MW-widelane due to millisecond
jumps in pseudoranges (these jumps should not be present). The set_msec_bf command
can be used to force a bias flag to be added at these jumps.

Version 1.21 2009/01/11
-----------------------
Fixed problems with discontinuities in back solutions. Added correlation between
height and atmospheric delay estimates to NEU output.  Fixed some issued with 
ambiguity assignment.  Introduced two new commands: USE_GPTGMF to set atmospheric
model to use (MTT is the default) and REF_NEU which sets XYZ coordinates of the 
reference point forcomputing NEU positions relative to.  (First site in obs_file
list is the default). Add command TIME_UNIT for time unit on process noise
 
Version 1.20 2007/10/29
-----------------------
Significant updates to the float ambiguity resolution code and default 
tolerances have been changed.  
Added commands usr_addbf and usr_delbf to allow users to add and remove 
bias flags.
Atmospheric delay estimation changed with introduction of height rate term
(See model description ATM_STAT)
Relatve rank limit input added to float_type command (can also be changed 
with amb_cycle command).
Data noise model changed to add elevaiton angle dependent weight factor
(See DATA_NOISE).  Default data noise reduced to make more consistent with 
phase RMS scatter.  New default is 0.003 0.003 1 1 0.5 where 0.5 is 
elevation angle weight term.
Added upto 10 replacement strings that can be used in command files. Provides
a means of dynamically changing command files through the runstring.

Clock error test is sensitive to aproiri sigma on site positions 
('Bad Clock estimate' error message).  Using site_stat to increase apriori
sigma to larger values (eg., 1000 m) can solve this problem.


Version 1.14 2006/12/28
-----------------------
Added phase center models for both stations and satellites.  New commnd
ANTMOD_FILE specifies ANTEX format file to be used, ANTE_OFF command
modified to allow antenna specification.  Antmod_file command may be
specified multiple times but MUST follow the obs_file and ante_off 
commands.


Version 1.13 2006/03/02
-----------------------
Added reading SP3c orbit file format and included support for Block IIRM 
satellites (PRN17 being the first).  Small changes in est_pos to better 
handle bad pseudorange data.

Version 1.12 2004/12/26
-----------------------
Added MWWL_JUMP comamnd to control size of MW-widelane jump that will flagged
as a cycle slip. (Default 5 cycles)

Version 1.11 2004/11/23
-----------------------
Some small bug fixed and added output of atmospheric delays at fixed sites

Version 1.10 2004/04/28
-----------------------
Introduced STOPGO_MODE for rinex files that have the correct stopgo
records in them.  In this mode, when a stop (receiver static) line is
found, the process noise on the site is reduced to a small value 
(10^6 times smaller than the kinematic process noise).  When the GO rinex
record in found, the process noise in increased again (see STOPGO_MODE
command under commands). 

Version 1.09 2003/07/28
-----------------------
Improved the cycle slip detection using the MW widelane 
Added new command EXCLUDE_SVS to allow whole satellites to be deleted
   (feature needed when a satellite is not in sp3 file or only partially
    in sp3 file)
Added new commands RWL_root which will output the raw wideline information
    used by tracked to detect cycle slips.
    SUM_FILE is a summary file containing the INITIAL and FINAL ambiquitity
    parameters and the statistics of the data residuals.
Added res_root (root for postfit residual files) to the help file
Added statistics of data residuals as a function of PRN and elevation angle.
Added solid-earth tide corrections and GPS satellite phase center offsets.


Version 1.08 2002/06/20
-----------------------
Added phase data editing if the epoch RMS exceeds a set tolerance
Aadded automatic correction of mill-second time jumps in phase in
    Ashtech uZ receivers
Version 1.07 2002/03/22
-----------------------
Bug fixes and work-arounds to get track to run with HPUX11 and f90	   

Version 1.06 2002/02/05
-----------------------
Changed the cycle slip detector from a combination of one way and
double difference to a station-station single difference detector.
The resultant algorithm is more robust and deletes less data.

Introduce a new diagnostic to allow easy assessment of why biases are
not fixed in particular iteration.  A 5-character string Fcode was
added after the Fix status in the floating point bias fixing report
that reports which fixing criteria were not statisified.
For float_type LC the Fcode is
S -- Floating point estimate sigma too large (Sig Limit)
W -- MW WL sigma too large 
R -- Relative rank not large enough
C -- Chi**2 increment too large for the best choice of ambiquities
O -- One other bias in the double differences not fixed yet.
For float_type L1+L2 the Fcode is
S -- Sigma too large at L1
S -- Sigma too large at L2
R -- Rel rank not large enough at L1
R -- Rel rank not large enough at L2
O -- One other bias in the double differences not fixed yet.

Example below show cases not fixed due to (1) relative rank, (2) Floating point sigma too large
and one other bias not fixed (3) None of the criteria are satisfied (when the floating point
sigma is too none of the other criteria are actually checked).
* BF  S   PRN    Epoch Range   F     Estimate dLC    Sig Limit Relative Rank  Fix Fcode Change L1    L2  Residual  L1      L2   Fits Best   LC    WL    LG
 175  5  PRN 15     1    43    1     1.86 +-    0.24 SL   0.25 RR       2.36  F F --R-- dL1,2     3    3 dL12      0.31    -0.08 Fits   11.7   0.8   0.3 105.7
  48  2  PRN 07     1   429    1    -0.16 +-    0.74 SL   0.25 RR    9660.51  F F S---O dL1,2     0    0 dL12     -0.28    -0.02 Fits    0.4   0.1   0.1   2.1
  50  2  PRN 15     1    52    1    -0.18 +-    2.11 SL   0.25 RR       0.00  F F SWRCO dL1,2     0    0 dL12      0.00     0.00 Fits    0.2   0.0   0.0   1.5

An error in the bias fixing when one of the other biases is not
already fixed fixed was corrected.

Reduced the output associated with missing clock values in SP3 files.
Now only the number is reported rather then the specific values missing.

Version 1.05 2001/06/16
-----------------------
Added an ionospheric constraint to the floating point resolution of
ambiquities.  This make the bias fixing much more reliable on shorter
baselines and when the range data is noisy or systematic.

Modified some of the handling of Wide-lane calculations to make them
more robust and added some additional status information during float
ambiquuity resolution.   Increased the documentation on the FLOAT_TYPE
command and the discussion of the floating point ambiquity resolution
with emphasis on which parameters to change to help resolve ambiquities.

Fixed a small problem with the first epoch output for kinematic sites.

Modified some defaults to give better performance in default mode.


Version 1.04 2000/08/23
-----------------------
No new features, made code more robust to file formats.  Two main
changes:
(a) changed the reading of NAV files to allow for extra values in the
teqc generated nav files.
(b) Modified the epoch calculation from the rinex files to allow for
for large differences from the nominal time tags when long rinex files
are generated (> 1-2 days).

Version 1.03 2000/06/27
-----------------------
The major update with this version of track is the introduction of
a smoothing filter.  When atmospheric delay are estimated and/or there
are unresolved bias parameters, the smoothed results represent the
optimum solution to the kinematic problem.  The smoothing filter
is invoked using the 
  BACK_TYPE SMOOTH
command.  The back_type BACK command still operates in the same way
as version 1.02 i.e., when issued, the solution is run both forward
and backward in time and both sets of results are included in the 
output files.
RESTRICTIONS: The same number of ambiquities need to be used in the
float and data_type selections, i.e., if LC is used for the float_type,
LC or L1 or L2 needs to be used for the data_type.  Specificially,
in this case L1+L2 can not used.  

Other changes made include:
---------------------------
(a) Reducing the amount of information printed about why bias flags
are added;
(b) Some addition output information, including estimated apriori
coordinates if the aprioris in the batch file or rinex file seem
bad; Output of final coordinates (grep for 'FINAL COORDINATES')
when the process noise for Kinematic site is set to zero.  When the
SMOOTH option is used, the coordinates of these sites should not
change in the output files.
(c) Changed the FLOAT bias fixing algorithm and added two new
arguments.  Also increased the information printed about the FLOAT
bias fixing so that users are better able to assess how to fine-tune
the fixing.

UPDATES TO TUNING PROGRAM
-------------------------
The following suggestions are made to aid in tuning the program
for specific applications.
(a) The "cycle-slip" detector in track in the default settings is
quite sensitive and in many cases overly sensitive so that it
introduces bias flags that are not needed and often difficult to
fix later.  If many bias flags are added (as reported by the:
Marking EX-WL slip at epoch    553 Site  2 PRN 03 Size               -24.18 cycles Mask   26
lines), check the size of EX-WL slip.  In this case it is large
(24 cycles) and represents a true slip.  Often however, the values
are near the default limit of 0.2 cycles.  The bias flags added 
due to these smaller slips can be removed by increasing the first
argument of the ION_STAT command.  Values as high as 0.4 cycles are
often OK.  The risk here is that an 1/1 L1/L2 cycle slip, will only
change the EX-WL by 0.25 cycles and maybe missed with the larger
tolerance.
(b) Gaps in data: Often there are small gaps in data due to recording
problems rather than loss of signal.  The BF_SET command can be used
to increase the allowable gap size from the default of 1 (i.e., all
gaps are flagged) to a larger value.
(c) For sites separated by more than 1 km, the FLOAT bias fixing 
algorithm is more efficient than the SEARCH algorithm especially
if the LC observable is used.  For these lines, the recommendation
is to set:
  SEARCH_TYPE None
  FLOAT_TYPE  1 1 LC
(See also expanded description of FLOAT_TYPE below).
(d) Most GPS data seems to be generating FLOAT RMS scatters in the
double differences of 20-25 mm.  One of the reasons that value is
large is because it is computed assuming kinematic positions and
therefore the number of degrees of freedom at each epoch is reduced
by 3 or 4 depending on whether or not the atmospheric delay is 
estimated.
(d) If atmospheric delays are estimated and/or there are unresolved
baises, it is strongly recommended that the SMOOTH option be used
to obtain the best estimates of the station positions.
(e) If multiple base-stations are needed, then the recommended
procedure is the make all but the first base station kinematic
but with zero process noise in the site_stats.  The SMOOTH option
should also be used.  Of the F option is used, the coordinates
of the fixed sites are assumed to be known to better than 1 mm.
(f) As FLOAT biases are resolved, it recommended that the
Average RMS fit be checked to make sure that it does not
increase too much during the bias fixing.  The format of
the line is and can be extracted with a grep for 'Average RMS'
For  20559 Double differences: Average RMS      21.57 mm
 
  
End of Tuning 
--------------
Version 1.01 outputs information about the status of the run to the
screen which is worthwhile saving and therefore it is recommended 
that the output be re-directed to a file. 

Basic program operation:
-----------------------
Track has three main components in its analysis of kinematic data:
(a) Rinex file reading and bias parameter assignment
(b) Resolution of the biases to the correct integer values
(c) Computation of the kinematic trajectory using the resolved values
    of the biases.

The most time consuming step is (b) and the time taken for this part
depends on the quality of the input data and the separations of the moving
and fixed stations.  Some of the user inputs in the command file will 
also effect the speed of this task.   

In Step (a), all the data to be processed in read into memory and biases
are assigned to all data.  A new bias is introduced whenever:
   (1) A satellite rises above the minimum elevation angle assigned by
the user (default is 15 degrees)
   (2) There is a gap in the data of more than max_gap (default is 1)
i.e., any missing data causes a new bias to be introduced
   (3) There is a jump in the computed ionospheric phase of more than
max_ion_jmp.  Default is 1.0 cycles. (Due to the ratio of the L2 to L1
frequencies, a 1-1 slip at L1 and L2 will change the ionospheric phase 
by 0.28 cycles). 

During step (a) reports will be issued about bias parameters being added,
and why blocks of data are being removed from the analysis (usual reason
is too small an interval of good data between bias flags). 
These reports look like:
Marking EX-WL slip at epoch    553 Site  2 PRN 03 Size               -24.18 cycles Mask   26
Marking EX-WL slip at epoch    554 Site  2 PRN 03 Size               -23.93 cycles Mask   26
Marking EX-WL slip at epoch    555 Site  2 PRN 03 Size               -24.13 cycles Mask   26
...
If the number of cycles is small (0.2-0.4 cycles) then the bias
flag might not be needed.  The first entry of the ION_STATS command
controls the size of a jump flagged.

Some kinematic data have gaps because of recording problems rather
than cycles slips.  If large numbers of bias flags are being added
(typical behavior should be one per satellite per site), the BF_SET
command can be used to increase the gap size that is automatically
flagged.
                                                           
Once all the biases have been assigned, approximate estimates are found
from the mean Melbourne-Wubbena (MW) wide lane (this is combination of
range and phase that gives the difference between the L1 and L2 biases
and it independent of the ionospheric delay and the geometry), and the
mean of L1-(fL1/fL2)*L2 phase values (called the ionospheric phase or
Extra-wide lane).  The latter quantity is independent of geometry but
will only equal zero when the ionospheric delay is zero.  These mean
values are computed using double differences.  Some of the one-way
bias values can be arbitarily set to zero when double differences are
formed.

The bias parameter table is output by the program and has the following
format:
BIAS FLAG REPORT: Type  INITIAL
. #   Site  PRN   Start   Stop  Fixd      L1 cycles      L2 cycles      DD Bias Refs           Mean MW-WL     +-     Mean Ion     +-    INITIAL
   1  1  PRN 05       1    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
   2  1  PRN 06       1    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
   3  1  PRN 17       1    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
   4  1  PRN 10       1    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
   5  1  PRN 24       1    6422    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
   6  1  PRN 30       1    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
   7  1  PRN 15    3360    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
   8  1  PRN 23    4103    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
   9  1  PRN 26    4379    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
  10  1  PRN 18    5232    6892    1            0.0            0.0     0     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
  11  2  PRN 05       1    6892    1            0.0            0.0    -1     0     0 WL Res +-     0.000     0.000     0.000     0.000  INITIAL
  12  2  PRN 06       1    6892    1     -8200515.0     -3079519.0    11     2     1 WL Res +-    -0.257     0.150     0.007     0.011  INITIAL
  13  2  PRN 17       1    6892    1     -2305580.0     -1862667.0    12     3     2 WL Res +-    -0.427     0.171    -0.137     0.014  INITIAL
  14  2  PRN 10       1    6892    1     -8768807.0     -6842458.0    11     4     1 WL Res +-    -0.200     0.130    -0.003     0.007  INITIAL
  15  2  PRN 24       1    2453    1      5173625.0      4017810.0    11     5     1 WL Res +-     0.037     0.196     0.029     0.007  INITIAL
  16  2  PRN 24    2493    5739    1      5173625.0     -3947627.0    11     5     1 WL Res +-     0.091     0.336    -0.006     0.027  INITIAL
  17  2  PRN 24    5982    6421    1      5173625.0     -7378939.0    12     5     2 WL Res +-     0.133     1.531    -0.048     0.070  INITIAL
  18  2  PRN 30       1    6892    1     -7074955.0     -5537433.0    11     6     1 WL Res +-    -0.176     0.137     0.008     0.009  INITIAL
  19  2  PRN 15    3360    6892    1     -6106087.0     -4838049.0    12     7     2 WL Res +-     0.371     0.384     0.004     0.028  INITIAL
  20  2  PRN 23    4103    6892    1     -7242531.0     -5594566.0    12     8     2 WL Res +-    -0.480     0.346    -0.111     0.021  INITIAL
  21  2  PRN 26    4379    6892    1     -7464580.0     -5773140.0    12     9     2 WL Res +-     0.342     0.414     0.016     0.023  INITIAL
  22  2  PRN 18    5232    6892    1     -8632784.0     -6768836.0    12    10     2 WL Res +-    -0.400     0.688    -0.124     0.023  INITIAL
         

The table gives a list of all bias parameters needed for the data being analyzed.  The bias flag
table is printed several times in the output.  The different types of output of the table are: 
Type  INITIAL  -- This indicates that these are initial approximate estimates.  
      UNIFIED  -- This indicates that nearby bias parameters which have similar values have been assigned the
                  value of the best approximate estimates.  In the case above, the additional bias parameters
                  are introduced due to data gaps (which are probably due to recording errors rather then loss of
                  lock on the satellite since most of the values are nearly equal.)
      INPUT    -- User input values when ambiguity file is passed through the command line or in the command
                  file (see AMBIN_FILE below)
      FLOATXX  -- where XX is a number.  This is the output from the FLOAT resolution of the bias parameters.
      PASSXX   -- where XX is a number.  This is the output of the iterative fixing of the bias parameters to integer
                  values.  With each pass more bias parameters are fixed using the previously fixed ones.  (The 
                  output of this part of the program is explained below).
      FINAL    -- Final estimates of the bias parameters used in the kinematic trajectory determination.

The columns in the Table are:
1  -- Bias parameter number.  Runs sequentially from 1 to the number of bias parameters needed.
2  -- Site number (1 to number of sites)
3  -- PRN number of the satellite to which the bias parameter referrs.
4 and 5 -- Start and stop epoch numbers for the region where the bias parameter is needed.  The
      epoch numbers are computed from the start time and increment by one for every epoch of data
6  -- Labelled 'Fixd':  This column indicates the status of the bias flag.  If the bias is fully resolved
      then the value will be 2 or 3 in the PASSXX and FINAL outputs of the bias flag table.  A value
      of 1 means an approximate result fixed relative other defined biases, 0 means an approximate
      value that is estimate relative an another uncertain bias value (in double differences).
7 and 8  -- Estimates of the number of cycles needed at L1 and L2
9-11   -- Indicate the other bias parameters used in forming the double differences for this
      bias parameter.  0  0 or -1 0 indidates that this bias has been set to zero (All biases at 
      station 1 are set this way, and at least one entry at the remaining stations can be arbitarily
      set this way.  (The longest contiguous block of data is used as the criteria).
12-15 (Numerical column numbers).  These are the estimates of residual errors in the Melbourne-Wubbena (MW) 
      widelane and the Extra-wide lane and their expected sigmas based on a correlated noise model
      for the data (10-minute correlation time). The order is <MW WL> <Sigma>  <EX WL>  <Sigma>.  The values
      and sigmas of these estimates plus the likely contribution of the ionospheric delay are used to
      compute the range of L1/L2 cycles to search over.
Final column is the label for the type of report.

Once the bias parameters have been established, track then, in a iterative loop, tries to 
fix the biases to the correct integer values.

TRACK BIAS FIXING:
------------------
There are two bias fixing approaches used in TRACK: (a) Estimates of ambiguities from non-integer
estimates called the FLOAT analysis; and (b) Estimated obtained by searching over ambiguity
space looking for the best choices.  Each iteration is composed of both types of algorithms
although the FLOAT analysis can be skipped and delayed when it starts.

FLOAT BIAS FIXING OUTPUT:
------------------------- 
By default, TRACK will first try to resolve bias using the floating point estimates
of the biases.  The estimated are reported as (this is for L1+L2, if LC then only
one pair of Estimated Adjustments is given):
Starting FLOAT iteration at   1
There are  1 kinematic sites in this analysis;    3 parameters per epoch to be estimated
BF_FLOAT   12   4161  2 PRN 21      25   4157   1  Estimated Adjust. (m)      0.915      0.147     0.897      0.147
BF_FLOAT   13   5301  2 PRN 21    4220   5298   1  Estimated Adjust. (m)     -0.964      0.135    -0.949      0.135
BF_FLOAT   11  12321  2 PRN 01       1  12320   1  Estimated Adjust. (m)      0.014      0.004     0.011      0.004
BF_FLOAT   17  20165  2 PRN 15       1  20162   1  Estimated Adjust. (m)      0.007      0.001    -0.001      0.001
BF_FLOAT   15  23689  2 PRN 25       1  23688   1  Estimated Adjust. (m)      0.028      0.001     0.026      0.001
BF_FLOAT   16  26326  2 PRN 14      87  26326   1  Estimated Adjust. (m)     -0.020      0.001    -0.016      0.001
BF_FLOAT   18  26326  2 PRN 22    9720  26326   1  Estimated Adjust. (m)      0.000      0.001    -0.032      0.001
BF_FLOAT   19  26326  2 PRN 16   10002  26326   1  Estimated Adjust. (m)      0.012      0.002     0.034      0.002
BF_FLOAT   20  26326  2 PRN 18   17824  26326   1  Estimated Adjust. (m)      0.055      0.003     0.057      0.003
BF_FLOAT   21  26326  2 PRN 19   22632  26326   1  Estimated Adjust. (m)      0.046      0.004     0.042      0.004 
where the first set of values refer to the bias parameters number and epoch at which
it estimated (ie., the first entry above is for bias #12, for Site 2 PRN 21.  It
covers data between epoch 25 and 4157.  At epoch 4161, its values were estimated
to be 0.915 +- 0.147 m for L1, and 0.897 +- 0.147 m for L2 (if an LC search is used
a single estimate LC will be shown).  In this case, the biases correspond to 4.8 cycles
(L1 wavelengh 190 mm), and 3.7 cycles (L2 wavelength 244 mm).

The floating point estimates are then followed by the report of the attempt to fix
them to integers.   The case below is for LC (For L1+L2, there 2 pairs of estimated
values).
For  10692 Double differences: Average RMS      14.78 mm
* BF  S   PRN    Epoch Range   F     Estimate dLC    Sig Limit Relative Rank  Fix Fcode Change L1    L2  Residual  L1      L2   Fits Best   LC    WL    LG
  61  2  PRN 04     1   913    1    -0.36 +-    7.90 SL   1.00 RR       0.00  F F SWRCO dL1,2     0    0 dL12      0.00     0.00 Fits    0.1   0.0   0.1   0.6
  62  2  PRN 04  5551  5756    1    -0.02 +-    0.09 SL   1.00 RR  829351.09  F F ----O dL1,2     0    0 dL12     -0.03     0.05 Fits    0.0   0.0   0.0   0.1
  63  2  PRN 09     1   416    1    -0.67 +-   10.46 SL   1.00 RR       0.00  F F SWRCO dL1,2     0    0 dL12      0.00     0.00 Fits    0.0   0.0   0.0   0.1
  64  2  PRN 09   417   570    1    -0.46 +-    8.92 SL   1.00 RR       0.00  F F SWRCO dL1,2     0    0 dL12      0.00     0.00 Fits    0.0   0.0   0.0   0.1
  66  2  PRN 09  1991  2398    1    -0.09 +-    5.49 SL   1.00 RR       0.00  F F SWRCO dL1,2     0    0 dL12      0.00     0.00 Fits    0.0   0.0   0.0   0.1
  67  2  PRN 09  2403  2556    1    -0.56 +-    5.23 SL   1.00 RR       0.00  F F SWRCO dL1,2     0    0 dL12      0.00     0.00 Fits    0.0   0.0   0.0   0.1
  69  2  PRN 09  5631  5756    1    -0.09 +-    0.30 SL   1.00 RR    2123.11  F F ----O dL1,2     0    0 dL12     -0.16    -0.07 Fits    0.2   0.2   0.0   0.6
...
 122  2  PRN 15  2205  3259    1    -0.52 +-    5.00 SL   1.00 RR       0.00  F F SWRCO dL1,2     0    0 dL12      0.00     0.00 Fits    0.7   0.2   0.0   8.9
 125  2  PRN 31  2354  2672    1    -0.45 +-    5.23 SL   1.00 RR       0.00  F F SWRCO dL1,2     0    0 dL12      0.00     0.00 Fits    0.7   0.2   0.0   8.9
 127  2  PRN 25  2683  3881    3    -0.02 +-    0.08 SL   1.00 RR  474848.16  T T ----- dL1,2     0    0 dL12     -0.03    -0.06 Fits    0.1   0.0   0.0   0.0
 129  2  PRN 11  2785  3439    3     0.08 +-    0.12 SL   1.00 RR      99.81  T T ----- dL1,2     0    0 dL12      0.13     0.18 Fits    4.3   0.4   0.3  71.0
 131  2  PRN 11  4837  5019    3     0.02 +-    0.06 SL   1.00 RR    3807.32  T T ----- dL1,2     0    0 dL12      0.04     0.07 Fits    0.8   0.1   0.0  13.6
 139  2  PRN 27  4224  4380    3    -0.02 +-    0.07 SL   1.00 RR   59365.40  T T ----- dL1,2     0    0 dL12     -0.03     0.13 Fits    0.1   0.0   0.0   0.0

Here each bias is listed along with the estimates number of cycles and the Relative
rank (RR) (ie. ratio of Best to second best choice increment in Chi**2 for 
fixing the bias); a pair of logical flags (T or F for True or False in fixing
the bias), the change in the number of cycles and the difference between the
integer and floating values of the baises.
With version 1.06, the Fcode entries were added (see discussion at verision 1.06
entry in help)  
With version 1.03, additional information was added to this output.  Specifically,
the sigma following the +- must less than the SL (0.25 cycles in this case).
For example: if Bias number 15 (site 2 PRN 24) had an acceptable RelRank, it
would not have been fixed because the sigma is too large (the limit can be
changed in the FLOAT_TYPE command, or the data noise can be reduced).  In the
case shown it does have sufficient relative rank (RR=253), but would not have
been fixed because the "Best" fit value is 25.9 which is greater than the 25
tolerance set for this run.  (In the next pass of the bias fixing this bias
does get resolved).
The "Residual  L1  L2" columns are the differences between the floating point 
estimates of the number of cycles and the integerized values.  
The "Best" fit column (only for LC mode), gives the Fit quality for the best
case.  This value must be less than the tolerance (set in FLOAT_TYPE).
For example, Bias 15 has a high RelRank, but was not fixed because the
BestF value of 25.9 was above the default limit of 25.  
The "LC  WL  LG" columns are fits for the individual components used to compute
the fit quality.  The FLOAT_TYPE command allows the relative weights of these
contributions to be changed.  Specifically, LC is fit to the ionospheric free
data, WL is the fit to an integer value for the MW Wide lane, and LG is the
fit to the ionspheric delay.  On longer baselines, this component should be
downweighted (0.1 weight seems to work well for ~100km baselines).  If the
range data is not very good then downweighting the WL contribution can also
be useful.

Biases that are not fixed in the floating point analysis are then used in the
search mode.   The FLOAT_TYPE command allows specification of how the floating
point analysis is done and at what iteration it starts.

SEARCH BIAS FIXING OUTPUT:
--------------------------
NOTE: Use of the SEARCH algorithm is no longer supported at all (Ver 1.23). 
The basic bias fixing loop outputs the following information (A "> " has been added to the
start of the output lines.  This symbol does not appear in the actual output).

The first line is the ambiguity the program is nominally trying to resolve.  In this case
it is #11 which corresponds to Site 2  PRN 01 Epochs  1   10629.  The step size in epochs
is selected so that there are about 20 trials tested over the time range of the ambiguity.
> Resolving Ambiguity #   11 Epoch Range      1 to  10629 Step  531 Pass  1
The following line is sometimes printed if there are less than 5 satellites visible at this
time,
>  Not enough data for search at epoch  1
The following lines give information on what is being tested in the trial.  At epoch 532, there are five
biases which are not resolved (numbers 11, 15, 23, 25 and 26).  For each of these biases, the number 
following the # sign is the number of integer values pairs to be tested (so for ambiguity 11, there are 3
values to be tested).  The range of values searched depends on the uncertainty of MW and EX wide lanes
and the magnitude of the expected ionospheric delay (the latter is based on the separation of the kinematic
sites from the base station).  The total search is the total number of trials to be carried out.  There is
a default limit of the maximum number of trials set at 1-million trials.
> Epoch    532   5 Sets, Total Search         324. Ambiguities:   11 #   3    15 #   6    23 #   3    25 #   3    26 #   2
> Epoch   1063   5 Sets, Total Search         324. Ambiguities:   11 #   3    15 #   6    23 #   3    25 #   3    26 #   2
> Epoch   1594   5 Sets, Total Search         324. Ambiguities:   11 #   3    15 #   6    23 #   3    25 #   3    26 #   2
> Epoch   2125   5 Sets, Total Search         324. Ambiguities:   11 #   3    15 #   6    23 #   3    25 #   3    26 #   2
> Epoch   2656   5 Sets, Total Search         324. Ambiguities:   11 #   3    15 #   6    23 #   3    25 #   3    26 #   2
> Epoch   3187   5 Sets, Total Search         324. Ambiguities:   11 #   3    15 #   6    23 #   3    25 #   3    26 #   2
> Epoch   3718   5 Sets, Total Search         891. Ambiguities:   11 #   3    17 #  11    23 #   3    25 #   3    26 #   3
> Epoch   4249   5 Sets, Total Search        2565. Ambiguities:   11 #   5    19 #  19    23 #   3    25 #   3    26 #   3
... More epochs showing the ambiguities being searched. ----
> Epoch  10621   6 Sets, Total Search        1215. Ambiguities:   11 #   5    23 #   3    25 #   3    26 #   3    28 #   3    29 #   3
Based on the trial ambiguities, the values are ranked based on the Sum of the inverse of the RMS phase fit squared
(The Sum 1/Var column) and the sum of the inverse of the RMS fit of ionospheric delay estimate (on short baselines 
the RMS of the ionosphere is expected to be small).  The RelRank columns give the ratio of the best fit to all other
ranked entries.  The #  nn L1 L2 colums give the number of cycle changes at L1 and L2 corresponding to each of the
ranked values.  The Occ column gives the number of times the specific combination of L1 and L2 biases changes appeared
in the ranked list.  (Ideally this value would be the same as the number of trials i.e., about 20.  In the top
ranked entry below it is only 6).  The biases are fixed to the top ranked value if, by default, the RelRank of the 
second best choice is greater than 5.0)
> Ranked    2 entries for   5 ambiguities
>   Occ Sum 1/Var  RelRank   Sum 1/ion  RelRank  #  11 L1 L2 #  15 L1 L2 #  23 L1 L2 #  25 L1 L2 #  26 L1 L2 #
>    6  209738.50     1.00     1231.12     1.00      0     0    -4    -3     0     0     0     0     0     0
>    2    5811.56    36.09      152.77     8.06     -1    -1    -5    -4     0     0    -1    -1     0     0
In the case above the biases would be fixed to values shown.  The ionospheric rank is not used directly in
the ranking (although, by default, 10% of the ionospheric delay fit RMS is added to the residual RMS).

The search passes are iterated until as many biases are fixed as possible.  For those biases that can not be
fixed, the values which give the highest rank are saved.  In the version 1.00 of track, the kinematic trajectory
is the computed for the different observables types selected by the user, adopting as fixed the final set of
biases.  Those parts of the trajectory where the biases were not fixed with certainity (1 or 0 in Fixd column)
should be treated with caution.  At the bottom of the help, suggestions are made as to how increase the
yield for the number of biases fixed.

TRACK COMMAND FILES:
-------------------- 

General Rules:  All commands start with at least one blank character.  A non-blank
in column 1 is treated as a comment.
For some commands, the command name is given followed by lines which contain the
information.  This list of values should be terminated with at least one blank line.
Commands can be given in any order with one exception.  The OBS_FILE command must be
the first command.

Commands:
---------
(The @ denotes at least one blank in the lines below).
@ OBS_FILE
@    Site   RX_file   Type
@    Site   RX_file   Type

Command gives the site 4-char codes and the corresponding rinex file name.  The
<Type> is set to F for a fixed site, and K for a kinematic site.
e.g.,
  obs_file
    bish  bisha289.97o    F
    t39a  t391a289.97o    K

@ NAV_FILE  <name>  <SP3/NAV>
Gives the name of the SP3 or NAV file with orbits and clock information (e.g., igs SP3 files).
When processing 24-hours of data, SP3 files from the preceeding and postceeding 
days should be concatinated together (headers removed at the day boundaries).
e.g., 
    nav_file  igs09274.sp3    SP3
(GAMIT program doy can be used to get GPS week and day number from calender date).
If NAV is used as the type then a broadcast ephemeris file is used.

The above two commands are the only two strictly needed by track.  The remaining
commands are optional (although some are needed to get absolute results). 

@ MODE <Type>
The MODE command allows the setting of defaults for the type of data being
processed.  These setting can then be overwritten if desired by use of the
commands below.  Three default setting modes are supported for <Type>:
   AIR  -- Assumed to be high-sample rate aircraft. Sets the search_type to
           L1+L2, and allows gaps of 4-epochs, and minimum data of 120 epochs
           (1 minute for 2Hz data).
   SHORT -- Short baseline static data (<1 km).  Sets search and analysis type
           to L1+L2 and minimum data of 20 epochs (10 minutes of 30 second 
           sampled data).  Data is still processed as kinematic data.
   LONG  -- Long baseline static data (>1 km). Sets search and analysis type
           to LC and mininum data of 20 epochs.  Atmospheric delay estimation
           is turned on with 0.1 m apriori sigma, and process noise variance
           of 1.d-6 m**2/epoch (~1 mm changes every 30 seconds for 30 second
           sampled data which accumulates to +-5 cm in a day).  These settings
           are the same as atm_stats  0.1 0.001

@ SITE_POS
@   Site   <X (m)>  <Y (m)>  <Z (m)>

Gives the apriori coordinates of the sites (based on 4 character name).  If this
command is not used, the coordinates from the rinex file are used.  (If these are
grossly in error then this can cause problems).
e.g. 
   site_pos
     bisa        -2411875.6155  -4466436.9286   3850994.9249
     t39a        -2411530.1132  -4466700.4852   3850905.9740 

@ REF_NEU <X (m)>  <Y (m)>  <Z (m)>
Set the the XYZ coordintes of the point relative to which NEU offsets are 
computed.  Default is the coordinates of the first site in the obs_file list.

@ TIME_UNIT <epoch/sec/min/hour/day>
Sets the time unit for process noise.  Choices are epoch (default), seconds, minutes
hour or day.  Interval command must be used to specify sampling interval before this 
command is used. (Even when the interval is given in the rinex files).

@ SITE_STATS
@   Site  <Apriori Sigma in XYZ>  <RW noise in XYZ> 
Gives statistics to assign to the kinematic station positions.  The 
<Apriori Sigma in XYZ> are the three sigmas in XYZ for the initial postion and
<RW noise in XYZ> are the three sigmas in XYZ for the change in position between
   epochs of data.  Since the motion of the kinematic sites is modeled as random
   walk (RW), the sigma of the change in position grows as the sqrt(number of epochs)
Ver 1.21 and later: RW noise is sigmas (m)/sqrt(time unit) where time_unit command
is used to set time unit.
ALL can be used for the station name and the same statistics will be applied
to all kinematic sites (NOTE: the fixed site do not change position).
e.g.
  site_stats
    all        20 20 20   20 20 20
(20 meters apriori sigmas and changes of 20 meters between epochs).
Feature 1.24: Added POST as entry after the Apriori sigma values, to allow 
specification aposteroi sigma for position at the end of the data span.

@ TIMEDEP_PROCNS
@  Site    Sig XYZ (m/sqrt(t))  Start YY MM DD MN Sec End YY MM DD MN Sec
Allows time dependent process noise to be added the statistics of a site or to
all sites.  The noise sigmas are addeded (in a variance sense) to the noise
processes specified in the SITE_STATS command. Note only the random walk process
noise is changed.

@ ATM_STATS
@   Site  <Apriori Zenith delay sigma> <RW noise in Zenith delay> [<RW dH/dt noise> or SCALE]
Gives the statistics for the atmospheric delays by site.  The values
are the initial sigma in meters, RW changes in meters per epoch and (added
verion 1.2) a dH/dt variance term so that during rapid height changes more 
process noise can be added to zenith delay estimate.  If SCALE is used instead of the 
numeric dH/dt term, then and atmospheric scale factor (proportional to height 
difference from the base station (first in obs_file list) is estimated.  The output files 
contain the estimates of the atmospheric delay that is the scale factor is multiplied 
by the height difference to yield the estimate and its uncertainty. When SCALE is 
used then an offset in the atmospheric delay should be estimated at the base station 
since any delay difference will be zero with the SCALE model if the base and plane 
start at the same height. If the plane and base station are very close to each other 
at the start of the flight then this offset would probably not be needed.  (SCALE added
version 1.26).

The process noise variance is
(<RW dH/dt noise)*abs(dh/dt)>^2 per epoch where dh/dt is m/s.  Typical value is 0.00023 
e.g.,
  atm_stats
     t39a     0.1  0.0003  0.00023
Set the apriori sigma as 10cm and allows the delay to change 0.3 mm every epoch (for
1Hz data, this lead to 18 mm noise in 1hr) and 2.3 mm per epoch when height is changing
at 10 m/s (fast ascent or desent)

@ ATM_BIAS
@    Site   <Atmospheric delay offset (m)>
Allows adjustment to the apriori atmospheric delay model.  Value is added
to the nominal delay.  In track Version 1.0, only a single offset applied to
all epochs can be specified.  Command is most appropriate for static sites
separated by more than 20 km.

@ ATM_FILE <File name>
Allows the speficiation of file containing total atmospheric delay estimates
at each site.  The file format is the same as that obtained by grep'ing
on 'ATM_ZEN X' in the o-file from a gamit run. 

@ USE_GPTGMF <Relative humidity (0-1)>
Set the used of the GPT temperature pressure model and the GPT dry and wet
mapping functions.  Optional relative humity added vers 1.27; default 0.00.
Use 0.50 for GAMIT compatabilty.  Default is the older MTT atmospheric model.

@ ANTE_OFF
@ Command modified Version 1.14
@   Site   <ARP dN (m)> <ARP dE (m)> <ARP dU (m)> <Antenna Name> <rcv code>
Gives the antenna monument to Antenna Reference Point (ARP) offset in North, East and Up
and name of site antenna (maybe unique name for site to allow mutlipath model
to be used.  Antenna name is 20 characters long with spaces allowed.  First part 
of antenna name should not be all numeric. With Ver 1.26, receiver correlation 
type (rcv code) could be included.  Values are N,C or P and can found in the 
rcvant.dat file by grep'ing on the receeiver name,
The antenna name should appear in the antmod_file files.
e.g.,
  ante_off  
    t39a   .0000  .0000 0.0000  AOAD/M_B        NONE  C
C here denotes a cross-correlating receiver type.


@ RCV_TYPE
@   Site  <Receiver code N/P/C>
Specifies the type of data-code-bias (DCB) correction needed for the receiver.  
Code specifies the type of L1 and L2 ranges being measures.  The choices are
P -- Pcode, C -- C/A and N C/A with cross corelation for L2 range.  The codes
can be found in gamit/tables/rcvant.dat.  These codes can also be given in the
ante_off command.  An up-to-date DCB_FILE command must be used to specify the
DCB biases. The files are available from the MIT ftp site and update once per
month.

@ BF_SET  <Max gap>  <Min good>
Allows specification of the maximum size of gap allowed in data before
a bias flag is inserted, and the number of good data needed to allow
data to be kept.  The defaults are 1 and 20 (i.e., any gap is flagged
and at least 20 good phase measurements are needed between bias flags
other wise the data is deleted). 

@ DEBUG  <Start EP> <End EP>
Allows detailed output for debugging problems for the data between
epoch numbers <Start EP> and <End EP>.  Default is no output.

@ DATA_NOISE <L1> <L2> <P1> <P2> <Elev Weight> [PRN]
Allows specificiation of the noise in the L1 phase, L2 phase,
P1 range and P2 range, and the weight given to elevation angle
depepence (at ver 1.20); variance is scale by (1+(W/sin(el))^2) 
where W is the <Elev Weight>.
These values affect the sigmas printed for
the position determinations (Units: m for all, except weight)
Optional: PRN may be added and noise assigned to that PRN (if
non-PRN form is used, this will replace all PRN specific values
so use the non-PRN first followed by specific PRN values

@ DATA_TYPE <choice 1> <choice 2> ...
Allows specification of data types to be used in generating position
estimates.  The choices are:
  L1  -- L1 only phase
  L2  -- L2 only phase
  LC  -- Ionospheric delay corrected phase
  P1  -- L1 pseudo-range
  P2  -- L2 pseudo-range
  PC  -- Ionospheric delay corrected pseudo-range.
The data types may be combined in each of the choices, e.g.,
L1+L2 would use both L1 and L2 while assuming that the ionospheric
delay is negligible.  Example: data_type l1 l1+l2 lc+p1

@ OUT_SIG_LIMIT <sigma (m)> 
Sets the maximum sigma of a position estimate for it to be output.
If pseudorange data types are used, the default value of 1 m needs
to increased to 10-100 meters.  (Note restriction on back_type 
smooth: Option can not be used with pseudoranges). 

@ RMS_EDIT_TOL <n-sigma limit>
Controls postfit editing of data by removing data more than n-times
the RMS scatter of the residuals (Default 3.0)

@ EDIT_SSV <site> <prn #> <start time> <stop time>
Allows specification of data to be deleted from the analysis.
The <site> name should correspond to the name given in the
OBS_FILE command.  <prn #> is the numerical PRN number of the
satellite to be deleted.  The <start time> and <stop time> 
are given as year month day hour min second.
e.g., edit_ssv   t39a  13  1998  8 16 20 0 0.0    1998 8 16 20  10 5.00
would deleted data on PRN 13 between the times given.

@ USR_ADDBF <site> <prn #> <time (ymdhms)>
Allows user to add a bias file at site <site> for PRN <prn #> at time
<time>.  First valid measurement at or after time will be flags.

@ USR_DELBF <site> <prn #> <time (ymdhms)>
Allows user to delete a bias file at site <site> for PRN <prn #> at time
<time>. The time must match within 50% of sampling interval.

@ AMBIN_FILE <file name>
Allows specification of file with ambiguity estimates and flags
that are used instead of the values determined by the program.
(This is the same file that can be specified in the command line
for the program).  Putting it in the command files allows a record
to be kept of the specific file used.  The ambin_file must coincide
exactly with the biases parameter table expected by by track (i.e.,
it usually generated with a grep FINAL of the track screen output
(assumed re-directed to a file).  Most importantly, if this
file is to used, the bf_set, edit_ssv, cut_off commands should
not be changed from the run that generated the ambin_file.  These
files will probably not be usable by different versions of Track.

@ ANTMOD_FILE <file name>
Name of ANTEX file containing phase center models for satellites
and stations. Code is dimensioned to all 1-deg zen, azimuth spacing
for site to map phase variations.  Command can be issued multiple
times with later values replacing earlier ones.  
NOTE: Command MUST be used after obs_file and ante_off commands 
to ensure entries for antennas are read.

@ DCB_FILE <file name>
Set the name of the data-code-bias (DCB) file.  This file is part of the 
GAMIT tables directory and should be updated regularly.  It is used to
remove biases in the Melbourne-Wubbena widelanes.  The receiver type can
be specified with the RCV_TYPE or ANTE_OFF commands.


@ FLOAT_TYPE <Start> <Decimation> <Type> <Float sigma Limits(2)> <WL_Fact> <Ion_fact> <MAX_Fit> [RelRank]
Allows specification of the floating point ambiquity limits.  It is 
through this command that the bias fixing algorithm is controlled.
The main factors to consider are the <WL_Fact> and <Ion_fact> values
which default to 1 giving them equal weight with the fit of the LC
data.  (For L1+L2 float type, these entries are ignored). 
For long baselines (>20 km) the <Ion_fact> should be reduced
to give less weight to the ionospheric delay constraint.  For 100 km
baselines, 0.1 seems to work well.  With very good range data (ie.,
WL ambiquities all near integer values), this factor can be 
reduced.
For noisy or systematic range data (can be tested with a P1,P2 or PC
solution), the WL_fact may be reduced.
    <Start> is the iteration to start the floating point estimation
            (default is 1)
    <Decimation> is decimation level ie. how often should the data
            by sampled in making the estimate (default is 4)
    <Type>  Data type to use for the estimate.  Choices are 
            L1+L2 or LC.  Note: for LC ambiquity resolution, the
            MW-Widelanes need to be well determined so that the
            L1-L2 ambiquities can be resolved from these estimates
    <Float sigma Limits(2)> Limits in the standard deviation of the
            floating point estimate that allows it to be fixed to
            an integer value (cycles), and on the maximum sigma
            allowed even to attempt resolving biases (Two values
            are needed).   The sigma of the estimate
            will depend on the data noise assumed and the
            decimation rate (defaults are 0.25 cycles and 0.5 cycles)
    <WL_Fact> weight to be given to deviation of MW-WL from zero.
            Default is 1 (ie., equal weight with LC residuals).
            Setting the value smaller will downlweight the contribution
            of the MW-WL 
    <Ion_fact> weight to be given to deviation of the Ionospheric delay
            from zero.  Default is 1 (i.e., ionospheric delay is assumed
            to be zero and given unit weighting in deterimining how
            well a set of integer ambiquities fit the data.  On long
            baselines, value should be reduced.
    <MAX_Fit> Maximum value of (res/sig)**2 allowed for biases to be
            fixed. (Default 25).
    [RelRank] Relative rank for bias to be fixed (Same as amb_cycle <Relative Rank>
            (Added version 1.20)

@ MIN_TOLS <min LC sig> <WL Tau> <Dynamic Tol>
This command allows the specification of minimum values that used to be
hardwired in track.  Specifying -1 for value will retain the default.
<min LC sig>  is the minimum sigma to be assigned to the float estimate of
     the LC bias estimates (Default 0.01 cycles)
<WL Tau> is the correlation time in seconds to be used in computing the sigma
     of the mean WL values. (Default 600 sec).
<Dynamic Tol> RMS of initial PC position solution that will set a site to
     be dynamic. (Defualt 10 m). 

@ BACK_TYPE  <string>
Allows specification of the type of solution to run backwards in time.
Current options are (vers 1.02)
    BACK  -- Simply runs a standard KF backwards in time.  Write both the
            forward and backwards solution to the output file.
Options for vers =>1.03
    SMOOTH -- runs a smoothing filter.  Only the forward running epochs
             are written to the output file.


@ AMB_CYCLE <Samples> <Relative Rank> <Max search>
Allows specification of the parameters to be used in fixing the
bias parameters to integers.  The options are:
  <Samples>  -- Number of samples to use.  Default is 20.  Making
                this value larger will slow the program down because
                more epochs will be tested
  <Relative Rank> -- Relative rank needed for a bias parameter to be
                marked as fixed. Default is 5.0.  Smaller values will
                mean more biases are fixed---to small a value and they
                might not be fixed to the correct value.
  <Max search>   -- Maximum number of values to search at any epoch.
                Default is 1million.  Setting this value too small
                can mean certain biases are never searched over.  A
                larger value can result in very long times.

@ ION_STATS <Jump> <ION PPM> <ION Weight> <ION height> <ION spatial>
Allows specification of the characteristics of the ionosphere.  For
all parameters a value less than zero will use the default.  The
parameters given are:
  <Jump>         - Largest jump in the ion delay allowed before bias
                   flag introduced.  (The delay is L1 - (fL1/fL2)*L2
                   and therefore a 1/1 L1 L2 slips changes delay by
                   0.28 cycles.  Default is 0.2 cycles. Units: cycles
  <ION PPM>      - Parts-per-million expected for ion contribution.
                   (Values between 1 and 10 are typical)
  <ION Weight>   - Weight to be given to ion-delay residuals RMS in
                   computing the RMS of trial search values.  Default
                   is 0.01 (ie., not highly weighted).  For short
                   baselines (<10km) with an LC search, a high weight
                   is recommended (ie., 1)
  <ION height>   - Height of ionosphere used in computing ion delay
                   elevation angle dependence (default 350 km).
                   Units: km
  <ION spatial>  - Spatial correlation length to used.  Larger
                   values will allow less ionospheric delay differences
                   between sites (default 300 km). Units: km

@ POS_ROOT <string> 
Allows specification of the root part of the file names for the
position output files. The file naming scheme generates file names
of the following form:  for pos_root = mert_229 the names are:
mert_229.GEOD.tubi.L2 -- Kinematic site tubi, GEOD output, data L2
mert_229.GEOD.tubi.LC -- Kinematic site tubi, GEOD output, data LC
mert_229.NEU.tubi.L2  -- Kinematic site tubi, NEU  output, data L2
mert_229.NEU.tubi.LC  -- Kinematic site tubi, NEU  output, data LC  

@ RES_ROOT <string>
Outpute the postfit residuals for the data type being processed.  For
res_root mert_229 then files names generated ar
mert_229.tubi.PRNnn.LC for site tubi with LC data

@ SUM_FILE <string>
Outputs a summary file of the run including statistics of the postfit 
data residuals
 
@ WLS_ROOT <string>
Outputs the wide lanes corrected for cycle slips to files whose names
start with <string>

@ RWL_ROOT <string>
Outputs the raw wide lanes not corrected for cycle slips to files whose 
names start with <string>.  (These are the values track uses to flag
cycle slips and add bais flags).

@ IONEX_FILE <file name>
Name of IGS standard format IONEX file to be used. In long baseline 
processing, these models should improve the mean and RMS scatter of
the EX widelane (L1-scaled L2 difference).

@ IONLOS_FILE <site name> <file name>
Name of site (4-char code) and corresponding line of sight ionospheric
delay file.  Format of file is <epoch number> <prn> <los TEC in TECU>.
Data lines start with at least one blank at start of line.  The file
must be consistant with the start time and data interval of the track
run using the file.  (These LOS files are generated from smoothing the
L1-L2 phase differences in the dump files generated with output type DUMP.
 
@ OUT_TYPE <string>
Allows specification of the type of position outputs to be generated.
There are two choices:
   GEOD  -- Geodetic coordinates (Latitude, Longitude and height).
            This format is compatible with GITAR output
   NEU   -- Local North, East and height differences between the
            first fixed site and the kinematic sites.  North, East
            and Up are defined by triad of axes at the reference 
            site.
   DHU   -- Difference in NEU from the initial coordinates of a site.
            Differences are in mm.
   XYZ   -- Cartesian XYZ coordinates
   DUMP  -- Dump of L1/L2 phase and range residals along with azimuth
            and elevation angles.  When a IONEX files is used, the tec
            in TECU and the latitude and longitude of the sub-ionospheric
            point are also given.
Both types can be output in one run if both strings are given with
no blanks separating them (e.g., geod+neu)

@ CUT_OFF <min elevation angle>
Allows specification of minimum elevation angle of data to be
used in the solutions.  Units: Degrees

@ START_TIME  <Year Month day hour min sec>
Allows a specific start time to be specified.  Normally the start
time defaults to the first time with overlapping data between at
least two sites.

@ INTERVAL <seconds>
Allows specification of sampling interval.  Must be in integer multiple
of actual sampling interval (Units: seconds)
NOTE: When rinex files have different sampling the largest interval
should be specified.  I may also be necessary to give a start_time
to have the epoch line up correct (**DISASTER** No matching data
message).

@ NUM_EPOCHS <number>
Allows specification of number of epochs of data to process.  Normally
the number of epochs is choosen to run until the end of overlapping 
data.

@ EXCLUDE_SVS <list of PRN numbers to be excluded>
Excludes satellites from being processed.  Useful when a satellite is not
in an SP3 file or not available during the times there are data.
Example: exclude_svs 26 22 13

@ STOPGO_MODE <Variance reduction>
Command to set a stop/go mode that allows data to processed with small
stochastic variations during intervals when a receiver is static.  
(On Trimble receivers this done by changing the receiver from ROVE mode
to STATIC mode).
The rinex records for the two modes are:
                            | denotes start kinematic mode
 04  1 12 17 33 25.0000000  2  2
   0.000                                                    COMMENT
KINEMATIC MODE                                              COMMENT
.......
                            | denote start static mode.
 04  1 12 17 50 10.0000000  3  1
STATIC MODE                                                 COMMENT
By default if no extra argument is given, the variance during
static mode 10^6 times less than the kinematic mode process noise set
in the site_stats command.

@ MWWL_JUMP <tol cycles>
Sets the magnitude of a jump the MW widelane that will be flaged as 
a slip. (Default is 5 cycles).  Increase this value to stop bias flags
being added.

STRATEGIES FOR USE OF PROGRAM
-----------------------------
Depending on the nature of the data analyzed, track can often not resolve
all the ambiguities in a single pass.  Below are some suggested 
methods for resolving all of the ambiguties.  Both the GEOD and
NEU output files tell the user the number of unresolved ambiguities
at each epoch of data.   The start of the NEU output look like:

* YY  MM DD HR MIN  Sec       dNorth      +-         dEast        +-       dHeight      +-        RMS    #      Atm     +-       Fract DOY     Epoch  #BF NotF
*                              (m)        (m)         (m)        (m)         (m)        (m)      (mm)   DD      (mm)    (mm)
 1999  8 16  0  5  30.000 -20056.7861    0.0130  125156.5258    0.0126     132.9964    0.0655    10.16   6    -41.73    25.57   228.003819444     11  14   0
...
 1999  8 16  0 31  30.000 -20056.8053    0.0099  125156.5439    0.0104     132.9933    0.0405    16.00   7    -41.18     9.39   228.021874995     63  16   2
...
The last two entries on each line are the number of ambiguities
needed for the data being analyzed and the number that have not
been fixed to integers.  Any entries with the last value not equal
zero should be treated with caution.  Ideally, we want to resolve
all biases.  No resolved biases in the final processing are estimated
during the run.  Since Vers 1.01 is only a forward Kalman filter,
the position estimates when the biases are first being estimated
will be effected by the poorly determined bias at that time.  As
more data are added, the bias will be better determined and have
less effect on the position estimate.

The number of biases that can be fixed is effected by choices
in the command file and can altered by editing the AMBIN_FILE. 
For short baselines (<10 km), the search_type is best choosen
as L1+L2.  With aircraft data that has stationary periods near
the base station before and after the flight, one strategy which
seems to work, is to first process with L1+L2.  This should 
fix all the biases for satellites visible during the stationary
periods.  The ambiguities are extracted from this run (with a
grep FINAL of the screen output).  The program is then run with
search_type LC and the ambin_file specified.  The LC search
often has enough biases already fixed, that it can resolve
the remaining biases that arise during the flight.  

Allowing the atmospheric delay to be estimated, is usually
a good way of detecting bias fixing problems in the flight
data since any problems will cause the atmospheric delay to
jump.

When multiple bias flags are added due to gaps, some of the
biases might not be directly resolvable (above the RelRank 
tolerances) and these can be forced to be fixed by changing
the Fixd column in the ambin file.  (The Fixd value is bit
mapped and so all that is needed is for bit 2 to be set,
i.e., 2,3,6,7,10 .. are all acceptable values.  Users might
want to us a value different from that generated by the 
program e.g. use 7 to denote a user fixed value).  Care should
be taken when setting a bias fixed.  For nearby biases, sometime
GPS receivers will have 1/1 slips (i.e., 1 L1 and 1 L2 cycle
change).  Such a slip does not change the MW-wide lane but
will effect the ionospheric delay and geodetic solution.

In some cases, after the ambiguity search no ranked list
will be produced.  This occurs when none of the values searched
seems acceptable (i.e., the search range is too small).  The
search can be increased on each bias parameter by increasing the
sigma values for the MW and EX widelanes (ie., the 2nd and 4th
numerical values following the "WL Res +-" in the bias flag table.
It can also be increased by increasing the ion_ppm value.

For static sites on long baselines (>50 km), fixing the
station coordinates to good apriori values can often be used
to get better ranking in the LC search.  This can be done by
using site_stats  0.0001 0.0001 0.0001 1 1 1.  In the way
track does its searchs, the apriori sigma of 0.1 mm (in this
case) would be used during the search, but in the final output
the markov process noise of 1 m would be applied at each epoch
(except the first).  Once the ambiguities are resolved and an
ambin file generated, the solution could be re-run with loose
aprioris sigmas.

Often on long baselines, the biases are not resolved with
sufficient rank to be fixed, but on examination of the 
time series of the atmospheric delay estimates and position
estimates, it is clear that the correct values have been found.
Editing the ambin file to show these biases as fixed will often
help resolved other biases.  

Increasing or decreasing the ion_ppm value in the ion_stats
command, often will either expand the search enough to allow
the correct ambiguities to be found, or decrease the search
range so that only ambiguities that generate small ionospheric
delays are found.  If the maximum number of searchs allowed
is exceeded, reducing the ion_ppm will often reduce this
number (if the MW- and/or EX widelanes are very uncertain, this
might not help).

For static baselines with site separations of >50km, the 
differential atmospheric (ie., difference form the apriori
atmospheric delay model) can be large due to water vapor. The
ATM_BIAS command be used to compensate for this difference and
this will often allow the biases to be fixed.  (The value choosen
can be based on the part of the data where the biases were 
fixed or on another geodetic analysis e.g. a standard gamit
solution.)  In static solution, differential atmospheric 
delays of 10 cm at zenith (38 cm at 15 deg --- equivalent to
2 cycles) are often seen.

Final Advice: Good luck.  With perfect data and no ionosphere
this is easy.