c %Z% %M% %I% (IDS) %G%

      subroutine hnint(wina, woua,faclama, facphia,
     *                winb, woub,faclamb, facphib, 
     *                rlatitude,rlongitude, ja, jb, interpol)

      include "slgcm.slgprm"
      include "slgcm.mp"

      implicit none

      real   wina ( imp3 ,jmp3 )   !first input field
      real   woua ( imp3 ,jm   )   !first output field
      real   winb ( imp3 ,jmp3 )   !second input field
      real   woub ( imp3 ,jm   )   !second output field
      real   rlatitude  ( imp3 ,jm   ) ! arrays with coordinates on
      real   rlongitude  ( imp3 ,jm   ) ! which the subroutine interpolates
      real   faclama
      real   faclamb
      real   facphia
      real   facphib
      integer ja, jb, interpol
      integer status

      integer mp_rcv_rblock
      integer mp_send_rblock
      integer mp_send_real
      integer mp_send_int

      print *, "In hbill.f"
C2      call mp_enable_nodes()
C1      call mp_bc_int_from_host(MPBILL)
      call mp_bc_int_from_host(interpol)
      call mp_serve_nodes()
      print *, "Sending input parameters"
      status = mp_send_rblock(0, 0, wina, imp3, jmp3)
      status = mp_send_rblock(0, 0, winb, imp3, jmp3)
      status = mp_send_rblock(0, 0, rlatitude, imp3, jm)
      status = mp_send_rblock(0, 0, rlongitude, imp3, jm)
      status = mp_send_real(0, 0, faclama)
      status = mp_send_real(0, 0, faclamb)
      status = mp_send_real(0, 0, facphia)
      status = mp_send_real(0, 0, facphib)
      status = mp_send_int(0, 0, ja)
      status = mp_send_int(0, 0, jb)

C! 
C!        Uncomment if the nodal programs are using UNIX CALLS
        call mp_serve_nodes()

        print *, "Host at receiving end"
        status = mp_rcv_rblock(0, 0, woua, imp3, jm)
        status = mp_rcv_rblock(0, 0, woub, imp3, jm)

        print *, "Host finished receiving"
C1        call mp_bc_int_from_host(MPCONT)

C!      call exit(0)
C!      stop
      end
