anchor.diff:             iBCBtpsiz=neltp*ndBCB
              call phio_readdatablock(fhandle, fname2 // char(0),
        &      c_loc(BCBtp),iBCBtpsiz,dataDbl,iotype)
  -
  -!MR CHANGE
  -!           write (temp1,"('nbcValuesDatablock_',i1,'_',i1)")
  -!     &                                              iblk,myrank
  -!           temp1=trim(temp1)
  -!           open(unit=12,file=temp1,status='unknown')
  -!           do i=1,neltp
  -!              do j=1,ndBCB
  -!                write(12,*) BCBtp(i,j)
  -!              enddo
  -!           enddo
  -!           write(12,*) iBCBtpsiz
  -!           close(12)
  -!MR CHANGE END
  -
   c
   c This is a temporary fix until NSpre properly zeros this array where it
   c is not set.  DEC has indigestion with these arrays though the
   c result is never used (never effects solution).
   c
  -
  -
  -!MR CHANGE
              if(writeLock==0) then
  -!MR CHANGE
  -!              print *,"In ASSIGN ASSIGN",myrank
                 where(.not.btest(iBCBtp(:,1),0)) BCBtp(:,1)=zero
                 where(.not.btest(iBCBtp(:,1),1)) BCBtp(:,2)=zero
                 where(.not.btest(iBCBtp(:,1),3)) BCBtp(:,6)=zero
  
positive.code:         use pointer_data
          use phio
          use iso_c_binding
  c
          include "common.h"
  !MR CHANGE
          include "mpif.h" !Required to determine the max for itpblk
  !MR CHANGE END
  c
  
          integer, target, allocatable :: ientp(:,:),iBCBtp(:,:)
          real*8, target, allocatable :: BCBtp(:,:)
          integer materb(ibksz)
          integer, target :: intfromfile(50) ! integers read from headers
          character*255 fname1
  
  cccccccccccccc New Phasta IO starts here cccccccccccccccccccccccccccccc
  
          integer :: descriptor, descriptorG, GPID, color, nfiles, nfields
          integer :: numparts, nppp, nprocs, writeLock
          integer :: ierr_io, numprocs, itmp, itmp2 
  !        integer :: num_local_loop, num_global_loop
  !MR CHANGE
          integer, target :: itpblktot,ierr
  !MR CHANGE END
  
          character*255 fname2
  
          character(len=30) :: dataInt, dataDbl
          dataInt = c_char_'integer'//c_null_char
          dataDbl = c_char_'double'//c_null_char
  
negative.code: c     
  c.... allocate memory for stack arrays
  c
                   allocate (mienb(nelblb)%p(npro,nshl))
                   allocate (miBCB(nelblb)%p(npro,ndiBCB))
                   allocate (mBCB(nelblb)%p(npro,nshlb,ndBCB))
                   allocate (mmatb(nelblb)%p(npro))
  c 
  c.... save the boundary element block
  