


                CONSTRAINED ADJUSTMENT GUIDELINES

                    Last Update: January 1999

INTRODUCTION

SECTION ONE - Gather all source material for the project

SECTION TWO - Preliminary Processing

SECTION THREE - Check Blue Book positions against Database

SECTION FOUR - Adjust the project with minimum constraints

SECTION FIVE - Run the constrained horizontal adjustment

SECTION SIX - Run the constrained vertical adjustment

SECTION SEVEN - Run the final free adjustment with accuracies

SECTION EIGHT - Post processing

APPENDIX A - Processing Programs 

APPENDIX B - Processing Checklist

APPENDIX C - Final Blue Book Checklist

APPENDIX D - Project Report Checklist

APPENDIX E - Reduction of Slope Distances to Mark-to-mark

APPENDIX F - Description and Recovery Processing

                           INTRODUCTION

    The following instructions are a step-by-step approach for
adjusting survey projects to the NAD 83.  They are meant to be
used only as a guide.  Occasionally, a project will have some
peculiarities that require a deviation from the set procedure.
     The guidelines are subject to change as the user requirements
change, as in the completion of HARN's in various states.
     Read the guidelines thoroughly before beginning your project. 
There are some procedures which you may want to perform in an
order differing from that arranged here (e.g. corrections to the
Blue Book before the final adjustment).  If you see any procedures
consistently incorrect, notify Renee Shields at 301-713-3198,
x129.

                           SECTION ONE
          
            GATHER ALL SOURCE MATERIAL FOR THE PROJECT

I.  Necessary items include:
     Project report
     Approved Recon Sketch and Project Sketch
     Project Instructions or Contract Specifications
     Final Station List
     Station Visibility Diagrams
     Final Observing Schedule
     Observation Logs
     Equipment Failure Logs 
     Loop Misclosures or Adjustment Analysis (optional) 
     Free Adjustment
     Free Adjustment with Accuracies
     Constrained Horizontal Adjustment
     Constrained Vertical Adjustment (NAVD 88 Heights)
     Meteorological Instrument Comparison Logs (if specified)
     Photographs of Views from Stations (if specified)
     Photographs or Rubbings of Station Marks
     COMPGB Output (Validation Program - B/G-file)
     OBSDES Output (Validation Program - B/Unified Descriptions)
     OBSCHK Output (Validation Program - B/G-file)
     CHKDESC Output (Validation Program - Unified Descriptions)
     CHKOBS Output (Validation Program - T-file)
     ELLACC Output
     BBACCUR Output
     Digitized Data Files:
          Raw Phase Data (R-files)
          Base Line Vectors (G-file)
          Project and Station Occupation Data - (B-file)
          Descriptions or Recovery Notes - (Unified Descriptions)
          Terrestrial Horizontal Observations - (T-file)
          Differential Leveling Observations - (L-file)
     Abstracts and List of Directions (classical projects)
     Distance reduction sheets (classical projects)
     
II. It is recommended that you create a project log, listing all
the station names, the azimuth marks, whether the station was
described or recovered, and whether it was fixed, readjusted, or
new.  You may want to note bench marks on the station list.  Also
note any unusual situations or procedures.  The log can be used to
write the project report.

III. Read the project (field) report. Note any problems mentioned
in the log, especially those which affect the adjustment or
analysis. Review the format checking program outputs which were
submitted.  Note any unresolved error messages from these listings
in the log.  If you are checking this project for inclusion in the
NGSIDB, verify that the positions submitted as final have the
correct adjusted position and height values, and that the files
are still free of format errors.
    
IV. For GPS projects, verify the Solution Coordinate System
Reference System Code in cc 52-53 of the B-records in the GFILE. 
The code represents the reference system of the position used to
reduce the vectors.  The following codes should be used:
                    01 --     WGS 72 Precise (post fit) Ephemeris [DMA] fm beginning through
          1/3/87
                    02 --     WGS 84 Precise (post fit) Ephemeris [DMA] fm 1/4/87 through 1/1/94
                    03 --     WGS 72 Broadcast (Predicted) Ephemeris [DOD] fm beginning through
               1/22/87
                    04 --     WGS 84 Broadcast (Predicted) Ephemeris [DOD] fm 1/23/87 through
               6/28/94
                    05 --     ITRF 89 (epoch 1988.0) (International Earth Rotation Service
               Terrestrial Reference Frame 1990)
               Not Used as a GPS Reference Frame
                    06 --     NEOS 91.25 (National Earth Orientation Service) Epoch 1988 [NGS] -
               Spring 1991 through /10/19/91
               Special VLBI Coordinate Solution written by Mike Abell
                    07 --     NEOS 90 (National Earth Orientation Service 1990) Epoch 1988.0
               [NGS] fm 10/20/91 through 8/15/92
                    08 --     ITRF 91 Epoch 1988.0 [NGS] - 8/16/92 through 12/19/92
                    09 --     SIO/MIT 1992.57 Epoch 1992.57 [NGS] fm 12/20/92 through 11/30/93
                    10 --     ITRF 91 Epoch 1992.6 [NGS] (transformed fm Epoch 1988.0) fm 12/1/93
               through 1/8/94
                    11 --     ITRF 92 Epoch 1994.0 [NGS] fm 1/9/94 through 12/31/95
                    12 --     ITRF 93 Epoch 1995.0 [NGS] fm 1/1/95 through 6/29/96
                    13 --     WGS 84 (G730) Epoch 1994.0 [DMA] (precise) fm 1/2/94 through
               9/28/96
                    14 --     WGS 84 (G730) Epoch 1994.0 Broadcast [DOD USAF] fm 6/29/94 through
               1/28/97
                    15 --     ITRF94 Epoch 1996.0 [NGS] fm 6/30/96 through present
                    16 --     WGS 84 (G873) Epoch 1997.0 [NIMA] (formerly DMA) fm 9/26/96 through
               present
                    17 --     WGS 84 (G873) Epoch 1997.0 Broadcast [DOD USAF] fm 1/29/97 through
          present
    
V.  If you are working on a project in California or southern
Alaska, determine the epoch the project requires for the final
positions.  Program HTDP can be used to update the observations to
the correct epoch.  
                           SECTION TWO

                      PRELIMINARY PROCESSING

     Examine the Blue Book observation deck for any obvious errors
which need correction.  Verify that the Organization symbol in cc
19-24 of the first record matches the organization which did the
survey.
     Run the following series of checking programs on the
observation and description decks.  

I. Run COMPGB, CHKOBS, and OBSCHK.  Resolve error messages and
note the resolutions in the log.  Ignore messages about *10*,
*11*, *13*, *83*, and *90* records.  Information in these records
is not used in the adjustment process, or loaded onto the NGSIDB,
but it may be helpful in researching problems which arise during
processing.  Record any unresolved anomalies in the log.  
NOTE: In OBSCHK, an error message is generated for a "0" antenna
height.  If the station is a CORS station, this message can be
ignored.  Other stations in the project must not have "0" antenna
heights.

II. If necessary, use DESCUP to change the SSN's in your
description file to match your Blue Book observation file.  Make
sure the station names in the files are correct.  You may want to
sort the descriptions alphabetically using DESCSRT.
     For descriptions processed in the field, i.e. in unified
format, run OBSDES, or OBSDESED, and CHKDESC.  In the office, run
OLDU2NEW to convert the unified descriptions to D-file format. 
Run CHKDDESC, NEIGHBOR, DISCREP, and OBSDES.  Messages which are
'errors' MUST be corrected.  Messages flagged as 'warnings' should
be checked, and corrected if appropriate.  Only change description
codes flagged by DISCREP messages if your have verification that
such a change is warranted.  Refer to Appendix F for more detailed
processing instructions.  
NOTE: Programs NEIGHBOR and DISCREP require access to the
database, since they perform database comparisons.

     NOTE: If excessive errors are found in the checking programs,
return the files to the agency responsible for the survey to be
corrected. (See Madeline White)

     You should rerun the observation file checking programs (part
I. above) sometime after the *86* records, order-and-type codes,
elevations and elevation codes, azimuth codes, and no-check codes
have been checked and corrected, or after observations have been
added or deleted, to ensure changes do not generate new errors.


The best time is probably just before your last adjustment run,
since the Blue Book observation deck should be in its final form
then.


                          SECTION THREE

              CHECK THE BLUE BOOK POSITIONS AGAINST 
             FILES AND LISTINGS OF PUBLISHED STATIONS


I.  Determine which horizontal and vertical datums will control
the adjustment and note them in the log.  Also note whether
ellipsoid heights will be computed for this project (required by
NGS).

II. Retrieve a file of published positions in Blue Book format
from the NGSIDB (or, in the field, create one from the data on the
CD-ROM).  Use program CLUSTER to compare the *80* records in your
Blue Book observation deck with those in the file of published
positions.  Be especially aware of HARN's, state readjustments,
and other projects in progress involving your area or neighboring
areas.  Be aware of the requirements of your project.  If upgrades
are requested, determine how this will affect what control is
used.  

III.  If the blue book observation deck does not already have
them, run MAKE86 to create the *86* records which will contain the
various heights for each station.

IV.  Research orthometric and ellipsoid heights.  For the vertical
adjustment (orthometric heights), if you have good control on the
NAVD 88 datum, use only that control.  If insufficient control
exists on the NAVD 88 datum, look for NGVD 29 elevations.  Use
VERTCON to transform the NGVD 29 elevations to the NAVD 88 datum. 
(The *86* record for the transformed stations should have a "D" in
the elevation code field.)  Verify elevation codes in the *86*
records for all stations.  
    If the field crew leveled from a known bench mark, accept
those elevations.  Be sure to include a paragraph in your project
report discussing any leveling used.  The *86* record should have
an elevation code of "L" or "T" for stations with leveling. 
ADJUST will not use *45* or *47* records in processing.  To use
this information in the adjustment, code a "CH" record in the A-
file.  Leveling done to be included in the NGSIDB should be
forwarded to Davy Crockett or Kathy Koepsell, at 301-713-3187 or -
3184.
    Position any bench mark stations which have never been
positioned horizontally, if possible.  

V.   Make certain that station names match the current naming
conventions in the *80* records, i.e. remove dates and agency
abbreviations.  If a name change from the published name is
desirable, note this in your report.  Sort the *80* records
alphabetically (optional).
     Verify station order-and-type codes.  For old stations, the
order-and-type should be what the project requires, not what is
published.  If the station is used as control, and fits well in
the adjustment, the NGSIDB will be updated with the new order-and-
type code.  If the station does not fit, it should not be used as
control.  Document in your report any stations published as a
lower order than your job which were used for control.  For
stations with order-and-type code 47, blank out the elevation.

VI. If there are any classical observations in your deck, and if
you have not yet run MODBB, run it now.  
NOTE: Make certain the elevations in the *86* records are correct,
since they will affect the distance reductions computed by MODBB.

VII. If you have any classical observations in your project, run
DEFLEC on your observation file.  This will compute the ETA value
for the LaPlace correction if you have astro azimuths.  The
deflection correction is generally negligible for other types of
observations, e.g. directions and distances, but can be
significant for some, therefore DEFLEC should be run on all
terrestrial observation files.                           SECTION FOUR

           ADJUST THE PROJECT WITH MINIMUM CONSTRAINTS

I.   Run ADJUST with minimum constraints. Constrain only one
station position per component.  For classical projects, add
inversed azimuths and distances to the AFILE for solvability where
necessary.
     A) If there are GPS observations, and the project contains at
        least 2 published ellipsoid heights, run a 3D adjustment,
        holding one adjusted ellipsoid height per component.  Make
        sure the geoid height field in the *86* record is blank
        for all stations.
        NOTE: If insufficient ellipsoid height control exists, run
        GEOID and constrain one bench mark elevation.
     B) If there are no GPS observations, run GEOID, using the
        most current geoid model.  Run a 2D adjustment.

II.  Use PLOTRES to plot residuals for GPS projects.  Resolve
large residuals by checking for blunders.  Reject, only as a last
resort, those redundant observations which have a high normalized
residual.  Don't leave a station no-check by rejecting.
     The vector standard errors in all GPS projects, lower than B-
order, are scaled.  The standard errors assigned to GPS vectors
are generally overly optimistic.  Scaling the standard errors
makes all the different projects consistent with each other.  This
is done by running MODGEE which scales the standard errors of the
vectors.  Use a scale factor equal to the square root of the
variance of unit weight of the free adjustment. 
     NOTE: Never scale a GPS project of B-order accuracy or
better.
     If classical observations are involved, save the adjusted
positions for the vertical run.

III. Before beginning constrained runs, be sure the inversed
azimuths and distances are removed from the AFILE.

NOTE:  Run all adjustments in mode 3 (normalized residuals).  This
mode computes residuals scaled relative to the standard deviation
of the residual (normalized residuals).  For classical observa-
tions, outliers are more easily identified from the normalized
residuals.

     Suggested PC Filenames:
                                        Input b-file:       orig.bbk
                                        Input a-file:       free1.afl
                                        Input g-file:       orig.gfl
                                        Output adj file:    free1.adj
                                        Output b-file:      free1.bbk                            SECTION FIVE

            RUN THE CONSTRAINED HORIZONTAL ADJUSTMENT



I.   If there are GPS observations run ADJUST in 3D.  Hold all
previously published positions.  Constrain all adjusted ellipsoid
heights.  Again, make sure your geoid heights in the *86* record
are blank.  A minimum of 2 ellipsoid heights is needed to adjust
ellipsoid heights in your project.  (Otherwise, run GEOID and
constrain one elevation.  No ellipsoid height adjustment will be
performed.)  Compare the results with the free adjustment.  Were
there any large shifts in the positions? 

II.  If there are no GPS observations, run ADJUST in 2D and mode 3
holding the positions of all previously published stations. Be
sure the elevations are correct.  
NOTE: For classical projects, you should run the vertical
adjustment first.  If you run the horizontally constrained
adjustment first, be sure the elevations do not change
significantly from those used in this run.  Incorrect elevations
can cause problems with distance observations. 

III. Large residuals in this run, which were not in the free
adjustment, are the result of problems with the constraints.  Do
not reject any observations due to constraints.  Verify that the
control used is correct and on a consistent datum.  For
observations with large residuals, check for misidentifications.   
   If no problems can be identified, determine whether you should
readjust some of the existing positions.  Consider the
requirements of your project.  If a station you are readjusting is
well positioned in your project, readjust with only the GPS
vectors in your project.
     Save the adjusted positions from this run. 


     Suggested PC Filenames:
                                        Input b-file:       orig.bbk
                                        Input a-file:       cons1.afl
                                        Input g-file:       modg.gfl
                                        Output adj file:    cons1.adj
                                        Output b-file:      cons1.bbk                           SECTION SIX

             RUN THE CONSTRAINED VERTICAL ADJUSTMENT


     If you have good control on the NAVD 88 datum, use only that
control.  If insufficient control exists on the NAVD 88 datum,
look for NGVD 29 elevations, and transform them to the NAVD 88
datum using the transformation program VERTCON.  Select bench
marks first.  If, upon examination of the results of the first
vertically constrained adjustment, it appears that GPS-derived
elevations fit the project, add them to your list of constraints. 
If further control is still needed, use elevations computed from
vertical angles.

I.   If there are GPS observations, run GEOID using the option to
create *86* records.  Run 2 adjustments in 3D.  In the first,
constrain one previously adjusted elevation and one NAD 83
adjusted position to get a vertically free adjustment.  In the
second, constrain previously adjusted elevations as specified
above, and one NAD 83 adjusted position.

II.  If there are no GPS observations use the adjusted positions
from the 2D free adjustment and run ADJUST in 1D.  Hold 
previously adjusted elevations as specified above.  (The
adjustment from Section Four will serve as the vertical free
adjustment.)

     Investigate observations with large residuals, and stations
whose elevation shifted significantly between the free and
vertically constrained adjustments.  The same rule applies as in
the horizontal constrained adjustment: no rejections due to
constraints.  Look for inconsistent shifts as opposed to areas
where the shifts, even high shifts, are consistent.  Likewise,
look at the geoid heights to see if they are consistent.  You may
want to plot these shifts on a sketch to facilitate analysis.  For
inconsistent shifts, look at the recovery notes to see if any
movement is indicated, or if the wrong mark was observed, such as
the underground mark instead of the surface mark.  If no cause for
the shift can be found, the elevation may need readjusting.  Free
the elevations in question and rerun as a test.  Note the
differences between the published elevations and the readjusted
elevations obtained from the vertically constrained test
adjustment.  Consider the requirements of the project before
deciding whether to readjust.
     
     For classical projects, if there are any significant changes
in the elevations between preliminary and adjusted values, then
you need to re-reduce the distances to mark-to-mark. To do so, run
MODBB with the original unreduced distances and the adjusted
elevations. Then, rerun the 2D free adjustment and the 1D
adjustment.  See Appendix E for tables demonstrating the impact of
the elevation change on the distance reduction.

     Use program ELEVUP to combine the Blue Book decks from the
vertically and horizontally constrained adjustments so that the
final Blue Book observation deck contains the positions and
ellipsoid heights from the horizontally constrained adjustment and
the elevations and geoid heights from the vertically constrained
adjustment. 



     Suggested PC Filenames:
                                        Input b-file:       orig.bbk
                                        Input a-file:       vert1.afl
                                        Input g-file:       modg.gfl
                                        Output adj file:    vert1.adj
                                        Output b-file:      vert1.bbk                          SECTION SEVEN

            RUN FINAL FREE ADJUSTMENT WITH ACCURACIES

     Run a final adjustment with minimal constraints as in SECTION
FOUR.  Use QQRECORD to generate the QQ records for your AFILE. 
For multiple-order projects, you will have to edit the order on
the QQ records in your Afile.  Input the blue book observation
file created by the horizontal constrained adjustment.  List in
your report any accuracies which do not conform to the
specifications of your project.  Run BBACCUR to create a formatted
listing of all accuracies to attach to your report.

     Check both sets of accuracy estimates, the internal and
external, to see that the standards of the project are met.  If
internal accuracies do not meet the standards, then perhaps the
specifications were not adhered to.  Verify the field procedures.  
     If internal accuracies look good, but external accuracies are
low, then perhaps a station or stations need to be readjusted.  Do
a test constrained adjustment where the stations associated with
low accuracies are freed up.  Then do a test free adjustment with
accuracies to see if the standards are now met.  If the second
adjustment is significantly better, consider the project
requirements to determine which adjustment should be accepted.

     If it was necessary to compute ellipsoid heights for your
project, run ELLACC to classify ellipsoid height order and class. 
Submit the printout with your project.  Complete the *86* records
with information from the ELLACC output, making sure the datums
and order and class fields are filled in.


     Suggested PC Filenames:
                                        Input b-file:       final.bbk
                                        Input a-file:       freeqq.afl
                                        Input g-file:       modg.gfl
                                        Output adj file:    freeqq.adj
                                        Output b-file:      freeqq.bbk                          SECTION EIGHT
                     
                          POST PROCESSING

I.   Prepare the Blue Book observation deck for submission.  Most
of these items should be done before the final adjustment, but
should be double-checked at this time.  Use the Blue Book
checklist (Appendix C).
     A) Identify horizontal and vertical no-check stations in the
        project.  In the *80* record, change cc 5 to 'N' for 
        vertical no-checks, cc 6 to 'N' for horizontal no-checks.
        (Elevation codes M and P will default to no-check.)
        A new station is no-check when all of its observations get
        a zero residual in the constrained adjustment.  There are
        instances when the 'N' in the observational summary is not
        an accurate means of identifying no-check stations:
          1. In a dangling traverse, a station can have 2          
             directions from, 2 to, and 2 distances and still be
             no-check.
          2. In a GPS project, a station determined by only one 
             vector might be correlated with other vectors and
             therefore get a non-zero residual.  The observational
             summary will show an 'N'.  Document these cases in
             your report.  NGS will determine which stations will
             be saved in the NGSIDB as no-check.
     B) Verify that station names conform to the new naming con-
        ventions, i.e., no dates or agency abbreviations.
     C) Check order-and-type codes.  Determinations of upgrades or
        downgrades to order-and-type will be based on both
        accuracy achieved and, for classical work, geometric
        strength of the ties of the new project to the network.
        Carefully document all changes.  
     D) In order to load any leveling observations in the Blue
        Book, *80* records must exist for both ends of the line,
        even if one of them cannot be positioned horizontally.
        If neither standpoint nor forepoint is positioned, remove
        the leveling observation from the deck.  If one end of the
        line is unpositioned, add a *82* record in your deck for
        that point, giving it an SSN as if it were a peripheral
        for the standpoint.
     E) Check all elevation codes and values.  Remove elevations
        (including zero elevations) and elevation codes from the
        *86* records of landmark stations if there are no distance 
        observations involving the landmarks.  Order-and-type 47
        should not have an elevation.  If a distance is involved
        the order-and-type should be 43.
     F) Add the PID to the *10* record of recovery notes for
             existing stations.  (See the datasheet for the PID.)       
     G) Sort the *80* records alphabetically.(optional)
     H) Rerun the checking programs.  If you have a file (or 
        database file) of existing adjusted positions, run CLUSTER
        on the final Blue Book deck comparing these positions.
     I) Verify state abbreviations.
     J) The first record in the Blue Book deck must contain the
        initials of the observing organization (left-justified).
II.  Write the report.
     A) Pages one and two of the project report are NOAA forms
        76-161 and 76-162 respectively.  These forms include 
        the order classification, horizontal and vertical datums,
        dates of field work and computation, chief of party, a
        summary of station information including number of new
        stations, number of fixed and readjusted stations, a
        breakdown of the number of main scheme stations versus
        supplemental, non-monumented, or temporary stations, the
        variance of unit weight for the free and constrained 
        adjustment, and the ratio of the constrained variance to
        the free.  If you do not use the forms, put this
        information in the text of the report.
     B) Include the following for each field project involved in
        the adjustment:
           Locality:
           Project ID:
           Year of observations:
           (Sketch number: if applicable)
           Number of occupied stations:
           Number of unoccupied stations:
           Degrees of freedom (free adjustment) :
           Variance of unit weight (free adjustment, scaled and
               unscaled):
     C) In the text of the report, include the following:
          1) The order and type of the project and its purpose.
          2) Notes from the log concerning problems in the field
             report.  How were they resolved?
          3) Free adjustment - were any problems encountered?
             What was done to resolve the problem? Do any large
             residuals remain?  Scaling factor used for GPS
             projects.
          4) Constrained horizontal adjustment - list all fixed
             positions and their source.  Discuss problems
             encountered and the results.  If ellipsoid heights
             were adjusted, list the ellipsoid height values
             constrained.
          5) Constrained vertical adjustment - list all fixed
             elevations and their source (L-number, G-number, or
             bench mark levelled from). Were any previously
             published elevations not held fixed? Why?
          6) Notes from the log - list the stations not
             described or recovered. Discuss anything in the log
             that's noteworthy.
          7) List all horizontal and vertical no-check stations.
          8) List rejected observations, if noteworthy.
          9) Discuss the accuracy results from the final free 
             adjustment.
          10)If Ellipsoid heights were computed, discuss the
             resulting accuracies.

          11)Note any problems encountered from the checking
             programs.  Include any problems with the description
             file. 



AFTER THE PROJECT HAS BEEN APPROVED:

III. Save and archive, (or submit to NGS) the following items:
      Printouts of final validity checking runs
      Constrained Horizontal Adjustment
      Constrained Vertical Adjustment
      Final Free Adjustment
      Copies of the B-file, G-file, and Description file
      Typed report, signed by you, your supervisor, and the        
        Branch Chief
      Copy of the project sketch

IV.  Copy the files to the directory /home/maralyn/Projects.  The
program maralyn.go will prompt you for the files to be copied. 
The following naming convention should be used:
         gnumber.filetype.comment.
where gnumber is the GTZ or GPS of your project, filetype is the
kind of file (bbook, gfile, desc) and comment refers to any other
necessary identifier (e.g. part1, part2, main, suppl, or stfaa,
where "st" is the state abbreviation code).  The Blue Book should
contain the adjusted positions and elevations from your
constrained runs. 
 
     Once the files are copied onto /maralyn/Projects, run one
final run of all of the checking programs.  Include the following
as they apply:  CHKOBS, CHKDDESC, CHKDESC, OBSDES or OBSDESED,
OBSCHK, and BBLOAD.DESCHK (optional).  These runs should be free
of errors and will ensure that the correct files are being saved
for loading.  Give Maralyn Vorhauer copies of the program
printouts, as well as printouts of each file, run from the laser
printer.                            APPENDIX A

                 Adjustments Processing Programs

ADJUST 
     Performs least-squared adjustment in up to 3 dimensions of
      horizontal, vertical angle, GPS, and Doppler data.
     Input - bfile (blue book observations, positions)
            afile (ADJUST instruction parameters)
            gfile (GPS vectors)
            dfile (doppler observations)
     Output - adjustment output (messages, results, statistics)
            updated bfile (positions updated with adjusted values),
            if requested
     Programmer - Jim Mosier.

ADJUSTA
     Performs a station adjustment using IDB observations
      at a specified station.
     Programmer - Craig Larrimore.
 
AFILELK
     Lists all fixed positions and elevations, along with
      station name, for inclusion in the project report.
     Input - afile, bfile
     Output - formatted listing of constraints
     Programmer - Ed Carlson.

AFLELEV
     Creates fixed height records using ellipsoid height from
      ADJPOS file.
     Input - adjusted position file
     Output - file of CC records
     Programmer - Ed Carlson.

BBACCUR
     Generates a file of single line accuracies from an ADJUST
     output file.  Produces an efficient listing for use with the
     project report.
     Input - adjust output from free adjustment with accuracies
     Output - formatted listing of accuracies
     Programmer - Ed Carlson.

BBLOAD.DESCHK
     Compares observation deck and unified description deck
      for inconsistent SSN's, station names, and positions. Optional.
     Programmer - Craig Larrimore.

BIGADJUST 
     Same as ADJUST except the array size has been increased to
      handle state adjustments. This program is not available 
      through the menu.  
     Programmer - Jim Mosier.
BIGED 
     Interactive program to edit large Blue Book data files.
     Programmer - Jim Mosier.

CHBBOOK
     For a Blue Book deck (and G file) with different SSN's
      assigned to stations with duplicate names, changes the
      SSN's to be the same.  Duplicate position records must
      be deleted by the processor.
     Programmer - Ed Carlson.

CHKDESC
     Validity checks unified description file.
     Input - unified description file
     Output - listing of format error messages
     Programmer - Janet Menscher.

CHKDDESC
     Validity checks D-file format description file.
     Input - D-file format description file
     Output - listing of format error messages
     Programmer - Janet Menscher.

CLUSTER 
     Compares *80* records between decks, e.g. a Blue Book
      observational deck and a Database retrieval file or
      another Blue Book file.  See Ed Carlson to run CLUSTER
      on a file greater than 3000 stations.
     Input - 2 bfiles or files of blue book *80* records
     Output - listing showing the positional differences between
          the same stations in the 2 files, file of common stations
     Programmer - Ed Carlson.

COMBINE 
     Combines two Blue Books and/or G files together.
      Input old or new format Blue Books and the output is
      in new Blue Book format.
     Programmer - Ed Carlson.

COMP80
     Computes preliminary NAD 83 positions for any blank *80* records using a
      direction and a distance.  To save the inverse computations, run in
      demand.
     No documentation available.
     Programmer - Steve Frakes.


COMPGB 
     Performs validity checks on G-file and B-file for con-
      sistency and compatibility.
     Input - gfile, bfile, serfil
     Output - listing of inconsistencies between the 2 files
     Programmers/Contacts - Mary Oleson, Madeline White.

CONVRT 
     Converts a travdeck or vertdeck into Blue Book format.
     Programmer - Ed Carlson.

CRAFILE
     An interactive program which creates or modifies an
      existing AFILE.  The program will also update the obser-
      vation deck with the values from the afile.
     Input - Interactive or CLUSTER output, i.e. "common" file
     Output - afile, optional bfile
     Programmer - Ed Carlson.

CREFIL 
     Retrieves horizontal position and observation data
      from the database and puts it in one of several
      useable formats, e.g. Blue Book.
     Programmer - Craig Larrimore.

DEFLEC
     Computes the ETA value necessary for making LaPlace
      corrections to astronomic azimuths. 
     Input - bfile
     Output - updated bfile
     Programmer - Dennis Milbert.

DESCSRT 
     Sorts a description file alphabetically.
     Input - unified description file
     Output - updated unified description file
     Programmer - Ed Carlson.

DESCUP 
     Changes SSN's in description files to match the Blue Book
      deck numbers (searches by name).
     Input - unified description file, bfile
     Output - updated unified description file
     Programmer - Ed Carlson.

DIFLATLON 
     Computes the differences between stations with the same
      SSN in two different Blue Book decks, e.g. free adjustment
      results versus constrained.  Lists the difference in 
      latitude, longitude, and elevation as well as the shift.
     Input - 2 bfiles or files of blue book *80* records
     Output - listing of differences between the same stations
          in the 2 files
     Programmer - Ed Carlson.

DISCREP 
     Validity checks d-file format description files against the NGSIDB.
     Requires access to the database.
     Input - d-file format description file
     Output - error list file
     Programmer - Janet Mencher.

ELEVUP 
     Combines *80* and *86* records from constrained horizon-
      tal and constrained vertical blue book decks to produce
      a final deck containing the final positions and heights.
     Input - 2 bfiles, one with adjusted elevations and one with adjusted 
          positions and adjusted ellipsoid heights
     Output - 1 updated bfile containing all adjusted values
     Programmers - Steve Frakes/Ed Carlson.

ELLACC 
     For projects where Ellipsoid height was adjusted, uses
      the final free adjustment with accuracies output run
      and computes the order and type of the ellipsoid height.
     Input - final free adjustment output
     Output - listing of totals of ellipsoid height accuracies
          produced
     Programmer - Steve Frakes.

FORWARD
     Computes the geodetic position given the geodetic azimuth
     and distance from a known position. (Also FORWRD3D, for
      3-dimensional marks.)
     Input - Interactive
     Output - coordinate
     Programmer - Steve Frakes.

GEOID 
     Replaces *86* records with new *86* records containing only
      updated values from Dennis Milbert's latest FFT geoid
      model.  
     Input - bfile
     Output - updated bfile
     Programmers - Dennis Milbert/Dru Smith.

GPPCGP
     Computes state plane coordinates from geodetic positions (or
      vice versa) on the NAD 27 datum.
     Input - Interactive or file of positions or coordinates
     Output - file of coordinates or positions
     Programmer - Ed Carlson.

HTDP  
     Predicts and updates coordinates and/or observations to a user-specified
     date to facilitate adjusting survey data to particular epochs in
      crustal motion areas.
     Input - bfile, gfile
     Output - updated bfile, gfile
     Programmer - Richard Snay.

IDB_RET 
     Retrieves positions, elevations, observations, and descriptive data from
      the database.  For retrievals of large areas see Craig Larrimore.
     Programmer - Craig Larrimore.
INVERSE 
          Computes the geodetic azimuth and distance between two            
     stations given their geodetic positions. (Also, INVERS3D,
      which computes distance for 3-dimensional marks.)
     Input - Interactive
     Output - azimuth and distance
     Programmer - Steve Frakes.

LOCUS 
     Identifies the stations in a file which fall within a user
      defined radius of a specified central location.  Can be
      used for 3- or 4-digit Blue Book decks.
     For documentation list /home/vixen/steve/locus.doc.
     Programmer - Steve Frakes.

MAKE86 
     Creates *86* records in blue book observations files.  Will
      not remove existing *86* records.  Uses orthometric height
      from the *80* record.
     Input - bfile
     Output - updated bfile
     Programmer - Ed Carlson.

MARALYN.GO 
     Transfers the final decks to Maralyn Vorhauer's project
      directory.
     No documentation necessary.
     Programmer - Ed Carlson.

MODBB 
     Computes standard error and reduces to mark-to-mark zenith
      distances, distances, and position records, both 3- and 
      4-digit SSN's.
     Input - bfile
     Output - updated bfile
     Programmer - Bessie Thompson.

MODGEE
          Scales standard errors of observations in Blue Book GPS            
     observation decks.
     Input - gfile, scale factor
     Output - updated gfile
     Programmer - Mary Oleson.

NADCON 
     Compute positional data (latitudes and longitudes) from
     NAD 27 to NAD 83 and vice versa.  The latest version is
      continually being updated to include those states where
      high accuracy GPS surveys have been used for state
      readjustments.  
     Input - Interactive or file of blue book *80* records
     Output - file of updated *80* records
     Programmers/Contacts - Cindy Craig/Dave Doyle.
NAMES 
     Converts a NUMNAM deck into a travdeck.
     Programmer -  Ed Carlson.

NEIGHBOR 
     Validity checks d-file format description files against the NGSIDB.  
     Requires access to the NGSIDB.
     Input - d-file format description file
     Output - output file of neighboring (clustered) stations
     Programmer - Janet Mencher.

NEWCHKOBS (NEWCHKOB) 
     Validity checks Blue Book observation deck.
     Input - bfile
     Output - listing of format error messages
     Programmer - Jim Mosier.        

OBSCHK
     Validity checks a Blue Book observation
      deck, and will perform some checks on the gfile if one
      exists. 
     Input - bfile, gfile
     Output - listing of validity errors
     Programmer - Jim Mosier.

OBSDES
     Validity checks a Blue Book observation deck against a unified
     or d-file format description file
     Input - unified or d-file format description file, bfile
     Output - listing of inconsistencies
     Programmer - Jim Mosier.

OBSDESED 
     Validity checks Blue Book observation deck against any
      Unified description file for consistency.  Allows interactive
      editing of station names, state codes.  Option to 
      update position and elevation in description file.
     Input - unified description file, bfile
     Output - listing of inconsistencies, updated unified description
          and bfile
     Programmer - Jim Mosier.

OLDU2NEW
     Translates unified description files into new d-file format files.
     Input - unified description file
     output - d-file format description file
     Programmmer - Janet Mencher

PLOTRES
     Plots residuals to facilitate analysis of adjustment results.
      Input - adjustment output file
     Output - graphic plot showing horizontal and/or vertical residuals
     Programmer - Ed Carlson

PLTPRJ 
     To plot observation decks with 3-, 4-, or 5-digit SSN's.
      PLTPRJ4 has an option to plot elevation differences of
      constrained stations using the Blue Book files and the
      afile for the vertical adjustment.
     Programmer - Jim Mosier.

PROMPTER
     Creates *80* records by prompting the user for each value.
     Input - Interactive
     Output - file of blue book *80* records
     Programmer - Ed Carlson.

QQRECORD
     Generates and adds QQ records to an AFILE using a Blue Book 
      or GFILE.  Only one QQ record will be generated over each 
      line of observation.
     Input - afile, bfile or gfile
     Output - updated afile
     Programmer - Ed Carlson.

SHIFTVPLOT 
     Computes shifts in coordinates between 2 Blue Book files.
      Output is a file of shifts for input into program VPLOT.
     Documentation not available.
     Programmer - Ed Carlson.
    
SPCS83 
     Computes state plane coordinates from geodetic positions (or
     vice versa) on the NAD 83 datum.  (Also SPCS83EH, showing
      ellipsoid heights).
     Input - Interactive, or file of positions or coordinates
     Output - file of updated coordinates or positions
     Programmer - Ed Carlson.

TONEW 
     Converts 3-digit SSN bbook to 4-digit format.
     Input - 3-digit bfile
     Output - 4-digit bfile     
     Programmer - Gloria Edwards.

UTMS 
     Computes UTM coordinates from geodetic positions and vice
     verse for NAD 27 and NAD 83.
     Input - Interactive or file of coordinates or positions
     Output - file of updated positions or coordinates
     Programmer - Ed Carlson.

VERTCON 
     Transforms NGVD 29 elevations to NAVD 88
     Programmer - Mary Oleson.

VPLOT 
     Plots shifts between positions in 2 Blue Book files on the
      laser printer.  Uses as input the shift file from program 
      SHIFTVPLOT.
     Documentation not available.
     Programmer - Ed Carlson.

                           APPENDIX B
                                
           Constrained Adjustments Processing Outline

I.  Gather Source Material
               A.   bfile, gfile, dfile, tfile
               B.   sketches, reports, logs
               C.   verify Solution Coordinate System Reference System Code, cc 52-53 
          of B-records in gfile
II. Preliminary Processing
               A.   Run checking programs
          1. COMPGB (optional in-house)
          2. CHKOBS
          3. OBSCHK
               B.   Verify codes, eg. elevation code, order and type, no-check code
               C.   Run HTDP if needed
               D.   Verify descriptions
          1. DESCSRT
          2. DESCUP
          3. CHKDESC
          4. OBSDESED
          5. OBSDES
          6. OLDU2NEW
          7. NEIGHBOR
          8. DISCREP
          9. CHKDDESC
III.Identify Control
               A.   Choose horizontal and vertical datums, and epoch as needed
               B.   Retrieve horizontal positional control
               C.   Run MAKE86 - create *86* height records
               D.   Retrieve orthometric height control
               E.   Retrieve ellipsoid height control
               F.   Verify station designations against NGS IDB designations
               G.   If classical observations
          1. Run MODBB
          2. Run DEFLEC
IV. Adjust with Minimum Constraints
               A.   Create afile
          1. Constrain 1 position per component
          2. For GPS, constrain 1 ellipsoid height per vertical component
               a. Geoid ht in *86* should be blank
          3. If insufficient ellipsoid height control
               a. Run GEOID - latest model
               b. Constrain 1 orthometric height per vertical component
               B.   Run ADJUST
               C.   Resolve singularities, misclosures
               D.   If GPS observations, run residual plotting program
          Resolve large residuals
          1. For A order: 1 cm
             For B order: 3 cm
             For 1st order: 5 cm
          2. correct blunders
          3. reject badly fitting observations - don't create no-checks
               E.   If less than B order results are required, run MODGEE
               F.   Rerun ADJUST till clean

V.  Adjust Horizontal Constrained
               A.   Create afile
          1. Constrain all published positions
          2. For GPS, constrain all published ellipsoid heights (at least 2)
               a. Geoid height in *86* should be blank
          3. If insufficient ellipsoid height control
               a. Constrain 1 orthometric height per vertical component
               B.   Run ADJUST
          1. Input bfile created by free adjustment
               C.   Determine if any stations should be readjusted based on large
          residuals
               D.   Rerun ADJUST until satisfactory
               E.   If adjusting classical data, run vertical constrained adjustment
          before horizontal constrained
VI. Adjust Vertical Constrained
               A.   Create vertical free afile
          1. Constrain 1 position for each component
          2. Constrain one published orthometric (bench mark) height per
             component
          3. Note: if there are no published ellipsoid heights, the free
             adjustment also serves as the vertical free
               B.   Run GEOID - latest model
          1.Input bfile from horizontal constrained adjustment
               C.   Run ADJUST
          1. Resolve large residuals
               D.   Create vertical constrained afile
          1. Constrain 1 position per component
          2. Constrain all published orthometric (bench mark) heights (at
             least 3)
               E.   Run ADJUST
          1.Determine if any stations should be readjusted
               a. Large residuals
               b. Inconsistent height shifts between results of vertical
                  free and vertical constrained adjustments
               F.   Rerun ADJUST until satisfactory
VII. Adjust with Minimum Constraints Computing Accuracies
               A.   Create afile
          1. Use afile from original free adjustment
          2. Run QQRECORD to create QQ records
               B.   Run ADJUST
          1. Input bfile from horizontal constrained adjustment
               C.   Look at internal accuracies to measure internal consistency
               D.   Look at external accuracies to measure fit to control used
          1. Run BBACCUR to created formatted list of accuracies
          2. Should some stations be freed to meet accuracy requirements
          3. If yes, return to step V. 
               E.   Run ELLACC to compute ellipsoid height accuracies 
VIII.Post Processing
               A.   Run ELEVUP
          1. Input bfiles from final horizontal and vertical constrained
             adjustments
          2. Output final bfile containing adjusted positions, orthometric
             heights, and ellipsoid heights
          3. Edit bfile to add ellipsoid height accuracy to cc54-55 of *86*
             records
               B.   Make any other corrections necessary to bfile
          1. Rerun checking programs on final bfile
          2. Confirm all codes and values - run CLUSTER
               C.   Write adjustment report
          1. 1st 2 pages are NOAA forms 76-161 and 76-162 summarizing project
          2. In text discuss
               a. Purpose of project
               b. Notes on field problems
               c. Results of free and constrained adjustments - with list of
                  constraints
               d. Rejections
               e. Readjusted positions, heights
               f. Accuracy results
               g. Problems resulting from checking programs
               p. Processing of description file
               D.   Print and submit
          1. Final validity checking programs
          2. Final adjustments
          3. Copies of bfile, gfile, description file
          4. Sketches or plots
          5. Signed report
          
          
                            APPENDIX C

                       Blue Book Checklist


          Names follow current conventions.

          Order-and-type codes, state codes, and elevation codes
          are correct.

          *80* or *82* records exist for both ends of leveling   
          observations.

          Horizontal and vertical no-checks have been identified
          with 'N' in cc 6 and cc 5 respectively in the *80*
          record.

          *80* records are sorted alphabetically (optional).

          Blank out elevation field for stations whose OT is 47.
          
          Checking programs have been rerun.

          The 1st Blue Book observation file record contains the 
          observing organization's initials.

                            APPENDIX D

                     Project Report Checklist


          Title Pages - NOAA Forms 76-161 and 76-162 (or equiva-
          lent information)

          Project statistics
     
          Order and type of project, datums, purpose

          Problems encountered in the field and resolution

          Checking program results

          Geoid model used

          Discussion of results of Free, Horizontally constrained,
          and vertically constrained adjustments

          Discussion of procedural changes, solutions to unusual 
          problems

          List of horizontal and vertical fixed control

          List of no-check stations

          List of accuracies which fall below expectations, and
          discussion

          Discussion of any readjusted stations

          Discussion of overall results

          Notes on description file - missing descriptions, etc.

          Finally, verify numerical statistics on first pages of 
          report








                   U.S. DEPARTMENT OF COMMERCE
              National Oceanic and Atmospheric Adm.


                           COMPUTATION
                                         of
                        HORIZONTAL CONTROL




                          NAD 83 (    )

                             NAVD 88


               State:                         


                             LOCALITY

                                            
                                       


             .......................................  
                            _________


                 Year of Observation,            
                   Year of Computation,        
                            _________

                Chief of Party                          

                Observer                             

                Computer                             



                

             
             
                   U.S. DEPARTMENT OF COMMERCE
          National Oceanic & Atmospheric Administration
                      National Ocean Service
                     National Geodetic Survey

            REPORT OF HORIZONTAL CONTROL COMPUTATIONS

                    *************************

State:                           

Classification:                                           

Horizontal Datum:  NAD 83 (    )       Vertical Datum: NAVD 88 

Locality:                                                

Acc. No.:

Date of Field Work:            Chief of Party:        


                 *******OFFICE COMPUTATION*******

Acc. No.:                Date of Computation:                

Number of Stations in project:                                     

     New:            =              Main Scheme:    =    
     Old:                           Supplemental:   =    
         Fixed:      =              Non-monumented: =       
         Readjusted: =              Temporary:      =       

     Total           =           Total              =       

Free adjustment variance of unit weight (2o):        =      
Constrained adjustment variance of unit weight (21)  =      
Ratio:  21/2o =       


____________________________
Geodesist in charge of work

_____________________________       ____________________________
Chief of Branch                    Chief of Division




                            APPENDIX E
           Reduction of Slope Distances to Mark-to-Mark


     The following tables show the changes in the reduced
distances based on elevation changes of one meter and ten meters. 
As you can see, the line length and the t-o are important factors
in determining how much a reduced distance is going to change.


     For a 100.000 meter line:

              Delta H
            1m        10m
           ---------------
    0m     .000       .000
    1m     .010       .100
    2m     .020       .200
    3m     .030       .301
    4m     .040       .401
t-o 5m     .050       .502
    6m     .060       .603
    7m     .070       .704
    8m     .080       .806
    9m     .090       .908
   10m     .100      1.010


     For a 500.000 meter line:

              Delta H
            1m        10m
           ---------------
    0m     .000       .000
    1m     .002       .020
    2m     .004       .040
    3m     .006       .060
    4m     .008       .080
t-o 5m     .010       .100
    6m     .012       .120
    7m     .014       .140
    8m     .016       .160
    9m     .018       .180
   10m     .020       .200

     For a 1000.000 meter line:

              Delta H
            1m        10m
           ---------------
    0m     .000       .000
    1m     .001       .010
    2m     .002       .020
    3m     .003       .030
    4m     .004       .040
t-o 5m     .005       .050
    6m     .006       .060
    7m     .007       .070
    8m     .008       .080
    9m     .009       .090
   10m     .010       .100


     For a 5000.000 meter line:

              Delta H
            1m        10m
           ---------------
    0m     .000       .000
    1m     .000       .002
    2m     .000       .004
    3m     .000       .006
    4m     .001       .008
t-o 5m     .001       .010
    6m     .001       .012
    7m     .001       .014
    8m     .002       .016
    9m     .002       .018
   10m     .002       .020
                            APPENDIX F

                 Descriptions and Recovery Notes


     Use the following guidelines to process description files. 
You might want to print the original description file before any
changes are made and mark corrections on the printout.  This will
help when writing the report, and if problems do arise, the
original is necessary for investigation.  Print and save the
finals of all program runs for submission with the project.  


A.  Apply the following corrections/changes as needed:
    1.  Scan the text for any obvious errors: misspellings, lines
        chopped off, punctuation, dates or agency names
        inconsistent with project.  These files are loaded as they
        are received, and any errors in text, such as mis-
        spellings or typing errors, will likely be loaded into the
        NGSIDB.
    2.  Make sure every station recovered has the PID coded in the
        *10* record.  The PID is available on NGS datasheets.
    3.  Delete any blank *15* or blank *30* records, delete any
        *29* records which are blank in cc 14-21, even if they
        contain entries in other columns.
    4.  Change contributor's name or abbreviation fields in the 
        *20* or *26* records if they are inconsistent with the
        Agency file.
    5.  Identify any landmark stations in the description file.
        For landmark stations, the monumentation code, cc 46-47 of
        the *26* record, will be a 2-digit number (for other
        stations, the code will be one or two letters).  For all
        landmark stations, remove all entries in the *26* record
        except the monumentation code.  Note that landmark
        stations do not get setting codes.
    6.  Remove apostrophes and quotation marks from the text.
    7.  Make sure the names in the Blue Book observation and
        description files match and are consistent with the
        current conventions.

B.  Run checking programs
    1.  Run DESCUP, DESCSRT, OBSDESED, CHKDESC, BBLOAD.DESCHK,
        OLDU2NEW, CHKDDESC, NEIGHBOR, and DISCREP.  Resolve the
        errors and record changes.  
    2.  Correct only 'ERRORS' OR 'WARNINGS' flagged you really
        understand and with which you agree.
    3.  Do not change the stamping in a *28* record unless it can
        be verified by examining the rubbing..

     Note in your report any errors remaining which cannot or
should not be corrected.


Final Processing

     When the final adjustments have been completed and you have a
final b-file, run OBSDESED.  Answer "yes" to the question "WOULD
YOU LIKE TO UPDATE THE FILE WITH THE OBS *80* GP AND ELEV?". 
There should be no errors detected by OBSDESED, but if there are,
they can be corrected while running the program.  Print and label
the final OBSDESED como file.  Save this printout and turn it in
with the project.
     Print and label the final description file.


Printouts

Printouts of files, and checking program runs, should be kept with
the rest of the project.




