C O M I N V :

This Command is used to combine the normal equation and inverse normal equation files from the parent and sibling levels so that the files are in the right order. The parent junction is normally reordered in the sibling files of the helmert block adjustment. The blocks are stored in sub-directories in a tree-like fashion where the parent sub-directory contains the junction informationbetween two or more sibling blocks stored in sub-directories of the parent blocks as shown below.


                  Sudbury              <== Parent                (c:/sudbury/)

       Block 1               Block 2   <== Sibling <== Parent (c:/sudbury/block1/)

  Block 11  Block 12    Block 21  Block 22            <== Sibling (c:/sudbury/block1/block22)
(

The coordinates in the parent block are defined on the coordinate records in the sibling file as a code 5 or 6.

The blocks are partially reduced for each level starting at the lowest or last sub-directory of the adjustment. Each level is partially reduced by combining the partially reduced files from the immediate lower levels.

When the top is reached a standard adjustment is performed. Program COMINV uses the adjustment files from the parent and the sibling level to combine the normal equations from the parent level into the sibling level.

                  Sudbury

       Block 1               Block 2

  Block 11  Block 12    Block 21  Block 22

For the above case COMINV would be positioned at the SUDBURY (parent) level. The procedure would ask for a sub-directory to combine. In this case BLOCK1 would be combined followed by BLOCK2. The user would then move to the sibling file either BLOCK1 or BLOCK2 and combine for Block11 and Block12 or for block21 and Block22.

         Interactive example:

  sd @                  <== set the default directory to the user root
  sd .data.sudbury      <== set the default directory to the
                            parent
  ghost                 <== make ghost interactive
  COMINV                <== The user is queried for a lower level block to
                            combine and compute the remaining inverse.
                            Each sub-directory can be combined
                            sequentially.

   A  will exit the process
  $ Sibling directory ? block1    <== User enters directory
  $ Sibling directory ? block2    <== User enters directory
  SD .block1                      <== Directory to parent
  COMINV                          <== Execute procedure
  $ Sibling directory ? block11   <== User enters directory
  $ Sibling directory ? block12   <== User enters directory
  sd [-.block2]                   <== Directory to parent
  COMINV                          <== Execute procedure
  $ Sibling directory ? block21   <== User enters directory
  $ Sibling directory ? block22   <== User enters directory

  type COMINV.lis
  CONFEL
  type CONFEL.LIS
. .

Batch processing:

The program can also be run in batch mode however each parent sub-directory must contain a file (SIBLING.DAT) that contains a list of all the sibling sub-directories

 SUDBURY    | BLOCK1       | BLOCK2
 -------    | ------       | ------
 BLOCK1     | BLOCK11      | BLOCK21
 BLOCK2     | BLOCK12      | BLOCK22
 blank      | blank        | blank
 

The procedure will read this file rather than query the user fo the sibling sub-directories.

The user must batch a job for each parent in turn.

e.g. The user enters a parameter in the batch SUBMIT procedure for the sub-directory for each of the parent sub-directories.<.p>

      SUBMIT/PARAMETER=(DATA.SUDBURY)/NOPRINT GHOST$CMND:COMINV
      SUBMIT/PARAMETER=(DATA.SUDBURY.BLK12)/NOPRINT GHOST$CMND:COMINV
      SUBMIT/PARAMETER=(DATA.SUDBURY.BLK34)/NOPRINT GHOST$CMND:COMINV