anchor.diff:        real*8, target, allocatable :: xread(:,:), qread(:,:), acread(:,:)
         real*8, target, allocatable :: uread(:,:)
         real*8, target, allocatable :: BCinpread(:,:)
  +      real*8 :: iotime
         integer, target, allocatable :: iperread(:), iBCtmpread(:)
         integer, target, allocatable :: ilworkread(:), nBCread(:)
         character*10 cname2
  
positive.code: c.... close c-binary files
  c
        call phio_closefile(fhandle)
  
        deallocate(xread)
        if ( numpbc > 0 )  then
  
negative.code:       endif
  
        call phio_closefile(fhandle);
        iotime = TMRC() - iotime
        if (myrank.eq.master) then
          write(*,*) 'time to read geombc (seconds)', iotime
        endif
  
  c.... Read restart files
        iotime = TMRC()
        if( input_mode .eq. -1 ) then
          call streamio_setup_read(fhandle, geomRestartStream)
        else if( input_mode .eq. 0 ) then
  