1.  Overview of GAMIT Processing

GAMIT is a comprehensive GPS analysis package developed at MIT and Scripps for the estimation of three-dimensional relative positions of ground stations and satellite orbits.  The software is designed to run under any UNIX operating system supporting X-Windows; we have implemented thus far versions for Sun (OS/4 and Solaris 2), HP, IBM/RISC, and DEC workstations, and a LINUX version is under development.  The maximum number of stations and sessions allowed is determined by dimensions set at compile time and can be tailored to fit the requirements and capabilities of the analyst's computational environment.  

At the start of processing the analyst has available a preliminary set of station coordinates (L-file), the broadcast ephemeris (E-file or RINEX navigation file) for the satellites observed, an ensemble of phase and pseudo-range observations, and auxiliary information available from the log sheets (tracking scenarios, antenna heights, and meteorological data).  This information should be organized into sessions, defined as spans during which a group of stations tracks simultaneously the phases of two or more satellites.  In order to accommodate combination with continuously operating stations, sessions are today usually organized into 24-hr spans covering a single UTC day.  It is not difficult, however, to organize a session across a day boundary if that is more efficient for a particular local survey (see Chapter 4).  The data and other information are prepared in the proper formats, and each session is analyzed individually or combined with other sessions to yield estimates of improved station coordinates and orbital parameters.

The analysis software is composed of distinct modules, which perform the functions of preparing the data for processing, generating reference orbits for the satellites, computing residual observations (O-C's) and partial derivatives from a geometrical model, detecting outliers or breaks in the data, and performing a least squares analysis.  Although the modules can be run individually, they are tied together through the data flow, particularly file-naming conventions, in such a way that most processing is best done with shell scripts and a sequence of batch files set up by two driver modules—MAKEXP ("make experiment") for the data preparation and FIXDRV ("fixed-table driver") for the modeling, editing, and estimation.  Though much of the data editing is performed automatically, the solution residuals can be displayed or plotted so that manual editing of problematical data can be performed. The primary steps in the data analysis are summarized below, with reference to the modules used in each step.  Details are given in Chapter 4–6, and a summary table in Appendix 1.

1)  Setup the program and processing directories
The software is distributed with a top-level directory of shell scripts (/com) and parallel directories for source code (one for each module), executables (gamit/bin, containing links to the source directories), and tables that are used for all processing.  These may be installed anywhere on your system.
Create an "experiment" directory that will contain a subdirectory for the RINEX files, a subdirectory for  experiment-specific tables, and subdirectories for each session to be processed.  Use scripts links.tables and links.day to establish links between the table names in the session directories and tables in gamit/tables and the experiment /tables directory. 
Establish a path in your .login or .cshrc file, or links in the session directories, to /com and gamit/bin in the software directory.

2)  Prepare the data.
Generate an L-file of a priori coordinates for the experiment epoch using the GAMIT utilities RX2APR and/or GLBTOL and/or the GLOBK utilities SVPOS or SVDIFF.
Enter antenna and receiver occupation information (from log sheets) into table station.info using templates and an editor.  
Create all of the other data-preparation input files using program MAKEXP.
Execute the programs MAKEJ and MAKEX (and possibly MAKEK) to read the receiver data files (in RINEX or FICA format) and generate the clock (J- and K-) and observation (X-) files to be used in the analysis.  
Copy orbital initial conditions (G-file) from SOPAC; or copy an Earth-fixed ephemeris ("sp3") file from SOPAC or another IGS analysis center and execute the script sh_sp3fit to get a GAMIT tabular ephemeris (T-) file; or execute the script sh_bcfit to get a T-file from the broadcast elements in a RINEX navigation file.

2)  Set up and execute batch processing. 
Edit templates to create control files sittbl. and sestbl.  for the batch analysis run.
Execute program FIXDRV to create batch files for the analysis. 
Execute the batch job to perform processing.
If only initial conditions (G-file) are available, ARC creates a T-file by numerical integration. 
MODEL computes the theoretical values of the observations ("observables") and partial derivatives of these observations with respect to the parameters to be estimated, and writes them to an output (C-) file for editing and estimation.
AUTCLN (or SINCLN DBLCLN) performs automatic (batch) editing of cycle slips and outliers in the phase observation.
CFMRG writes a (M-) file defining the way observations are to be combined, and SOLVE performs the least squares analysis, writing the "print" output to a Q-file and the adjustments and covariance matrix to an H-file for combination with other sessions and experiments using GLOBK.

3)  Interactive editing with visual display of the residuals from the C-file using program CVIEW, and aided by programs (or shell scripts) SCANDD, SCANM, and SHOWRMS.

The standard processing sequence for unedited data includes one or two passes through MODEL, AUTCLN, and SOLVE.  If you have good a priori coordinates and orbits, a single pass is sufficient.  If not, then the first pass may be used to improve these to the level at which the automatic editing is robust and the adjustments within a linear range.   With poorly behaved data, it may also be necessary to examine with CVIEW the phase residuals from the initial solution and to add instructions for deleting data to the AUTCLN command file, or, more rarely, to fix  remaining small cycle slips interactively.  After this is done, you can complete the processing by resubmitting the existing batch files or by re-running FIXDRV to produce a new sequence of batch runs tailored for the final analysis.  You should also, at this stage, convert the clean C-files back to X-files using CTOX (and possibly to RINEX files using XTORX) for archiving purposes.  Further GAMIT runs can be made from the clean X-files and the (large) C-files can be deleted.

The outputs of SOLVE include a summary (Q-file) of the estimation for inspection by the analyst, a table (O-file) of estimated baseline vectors and their uncertainties which can be used in generating statistics and plots, and a full covariance matrix (H-file) computed with loose constraints on all parameters.  The H-file provides the interface between GAMIT and program GLOBK, a Kalman filter which allows the analyst to "stack" the data from many sessions and/or campaigns in a single solution for station positions and velocities, satellite orbital elements, and Earth rotation parameters.

Chapter 2 presents a brief summary of the theoretical elements of GPS data analysis.  It introduces GAMIT nomenclature and includes references that describe in greater detail the algorithms used by the program.  Chapter 3 describes in detail the files used and their naming conventions; it need not be read carefully the first time through. Chapter 4 describes the steps in data preparation.  The details of running FIXDRV and executing and interpreting the batch analysis runs are given in Chapter 5.  Chapter 6 describes the procedures for automatic and interactive editing.  The remaining chapters (7–9) are included for reference but need not be read to carry out most processing tasks. Chapter 7 describes the individual modules in more detail.  Chapter 8 the various options available for modeling the tropospheric delay; and Chapter 9 the various utility programs and auxiliary data files, only a few of which need concern most analysts.  Finally, the Appendices provide a processing summary, a description of all of the GAMIT files, a listing of shell scripts, and information on antenna specifications, fiducial-site configurations, data formats, and a description of the Scripps Orbit and Permanent Array Center.