anchor.diff:    ! External pressure solver variables
     integer :: nProcX, nProcY
   
  -#ifndef useExtSolver
  -  ! if we don't call mpi, then this needs to be expicitly defined
  -  integer :: MPI_COMM_WORLD
  -#endif
   
     integer :: ierr
     integer :: num_procs, myid
  
positive.code: 
    ! optionally include the MPI code for parallel runs with external 
    ! pressure solver
  #ifdef useExtSolver
    call MPI_INIT(ierr)
    call MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr)
    call MPI_COMM_SIZE(MPI_COMM_WORLD, num_procs, ierr)
  
negative.code: 
  ! ---------------------------------------------------------------------------
  
  subroutine create_Hypre_grid(MPI_COMM_WORLD, hypre_grid, ilower, iupper, &
            num_procs, ierr)
  
    integer, intent(in) :: MPI_COMM_WORLD
    integer*8 :: hypre_grid
    integer :: num_procs
    integer :: ilower(0:num_procs-1,2), iupper(0:num_procs-1,2)
  
    call Hypre_StructGridCreate(MPI_COMM_WORLD, 2, hypre_grid, ierr)
  
    !do i = 0, num_procs-1
    call HYPRE_StructGridSetExtents(hypre_grid, ilower(myid,:),iupper(myid,:), ierr)
    !end do
  
    call HYPRE_StructGridAssemble(hypre_grid, ierr)
  
    return
  end subroutine create_Hypre_grid
  
  ! ---------------------------------------------------------------------------
  
  subroutine Ext_solver(hypre_A, MPI_COMM_WORLD, num_procs, & 
      ilower, iupper, etastar, &
      etanew, nx, ny, dt, hypre_grid, maxits, eps)
  