anchor.diff:    USE MatrixMarketModule
     USE PermutationModule, ONLY : Permutation_t, ConstructDefaultPermutation
     USE ProcessGridModule, ONLY : ProcessGrid_t, global_grid, IsRoot
  -  ! USE ProcessGridModule, ONLY : grid_error, IsRoot, RootID, total_processors,&
  -  !      & num_process_slices, num_process_rows, num_process_columns, &
  -  !      & slice_size, my_slice, my_row, my_column, global_rank,&
  -  !      & within_slice_rank, between_slice_rank, row_rank, column_rank, &
  -  !      & global_comm, within_slice_comm, row_comm, column_comm, &
  -  !      & between_slice_comm, &
  -  !      & blocked_column_comm, blocked_row_comm, blocked_between_slice_comm, &
  -  !      & number_of_blocks_rows, number_of_blocks_columns, block_multiplier
     USE SparseMatrixModule, ONLY : SparseMatrix_t, &
          & ConstructFromTripletList, DestructSparseMatrix, &
          & CopySparseMatrix, ConstructZeroSparseMatrix, &
  
positive.code:     LOGICAL :: error_occured
      INTEGER :: ierr
  
      this%process_grid = global_grid
  
      !! Setup Involves Just The Root Opening And Reading Parameter Data
      CALL StartTimer("MPI Read Text")
  
negative.code:     INTEGER :: mpi_status(MPI_STATUS_SIZE)
      INTEGER :: ierr
  
      IF (PRESENT(process_grid_)) THEN
        this%process_grid = process_grid_
      ELSE
        this%process_grid = global_grid
      END IF
  
      CALL StartTimer("MPI Read Binary")
      CALL MPI_Type_extent(MPI_INT,bytes_per_int,ierr)
  