


                CONSTRAINED ADJUSTMENT GUIDELINES

                   Last Update: September 2000

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.




                            UPDATES

     September 2000: 
Section 7, step added to (temporarily) run MODGEE on gfiles for
A- and B-order projects to assure the accuracies are computed
correctly.

Input blue book filename changed from final.bbk to cons1.bbk.

     September 2000:
Add Solution Coordinate Reference System Codes 18-20 to Section
One. 


                           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 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
     18 --  ITRF 96 Epoch 1997.0 NGS fm 3/1/98 through 7/31/99
     19 --  ITRF 97 Epoch 1997.0 NGS fm 8/1/99 through 6/3/00
     20 --  IGS 97 Epoch 1997.0 NGS fm 6/4/00 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.  

If you're project is A- or B-order, you did not scale the
standard errors in the gfile.  In order to compute the
accuracies correctly, the gfile standard errors must be
treated as scaled.  To do this, change cc4 to "Y," the
option to "scale the standard deviations with a-
posteriori standard deviation" in the MM record of the
Afile.  The value ADJUST will use is the "STD. DEV. OF
UNIT WEIGHT" shown on the summary residual statistics
page.  Note this value in your adjustment report. 

     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:       cons1.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.




