anchor.diff:  
           subroutine read_harm3d_data_file(data_file,tcur,rho,p,u,b,mdot)
           character(len=100), intent(in) :: data_file
  +        character(len=100) :: data_file_app
           integer :: nhead,dlen
           integer :: rhopos,ppos,vpos,bpos,gdetpos
           integer, intent(in), optional :: mdot
  
positive.code: 
          subroutine read_harm3d_grid_file()
  !        integer, intent(in) :: nt
          integer :: n
          open(unit=8,file=gfile,form='unformatted',status='old')
          read(8) nx1,nx2,nx3
          n=nx1*nx2*nx3
          ! allocate data
          !          call init_harm3d_data(n,n*nt)
          write(6,*) 'read grid: ',size(x1_arr),size(x2_arr),size(x3_arr)
  
negative.code:         character(len=100), intent(in) :: dfile
          open(unit=8,file=dfile,form='unformatted',status='old')
          read(8) nx
          if(nx.ne.10*nx1*nx2*nx3) then
             write(6,*) 'ERROR: INCORRECT DATA SIZE IN READ_HARM3D_DATA: ',nx,nx1,nx2,nx3
             return
          endif
  