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

c*** receive an integer

        function mp_rcv_int(src_pn, src_tag, in)

          implicit none

          integer src_pn,
     &           src_tag,
     &           in

          integer mp_rcv_int

          include 'slgcm.mp'

          integer tmp

        tmp = cmmd_receive_block(src_pn, src_tag, in,
     &                           size_of_int)


        mp_rcv_int = tmp
        end

c*** send an integer

        function mp_send_int(dest_pn, dest_tag, out)

          implicit none

          integer dest_pn,
     &            dest_tag,
     &            out

          integer mp_send_int

          include 'slgcm.mp'

          integer tmp

        tmp = cmmd_send_block(dest_pn, dest_tag, out,
     &                           size_of_int)


        mp_send_int = tmp
        end

c*** send a block of reals
        function mp_send_rblock(dest_pn, dest_tag, out, i, j)

          implicit none

          integer dest_pn,
     &            dest_tag,
     &            i, j
          real    out(i,j)

          integer mp_send_rblock

          include "slgcm.mp"

          integer tmp

          tmp = cmmd_send_block(dest_pn, dest_tag, out,
     &                          i * j * size_of_real )

          mp_send_rblock = tmp

      end

c*** receive a block of reals

        function mp_rcv_rblock(src_pn, src_tag, in, i, j)

          implicit none

          integer src_pn,
     &            src_tag,
     &            i, j
          real    in(i, j)

          integer mp_rcv_rblock

          include "slgcm.mp"

          integer tmp

          tmp = cmmd_receive_block(src_pn, src_tag, in,
     &                          i * j * size_of_real )

          mp_rcv_rblock = tmp

      end



c*** send a real value
        function mp_send_real(dest_pn, dest_tag, out)

          implicit none

          integer dest_pn,
     &            dest_tag
          real    out

          integer mp_send_real

          include "slgcm.mp"

          integer tmp

          tmp = cmmd_send_block(dest_pn, dest_tag, out,
     &                          size_of_real )

          mp_send_real = tmp

      end

c*** receive a real

        function mp_rcv_real(src_pn, src_tag, in)

          implicit none

          integer src_pn,
     &            src_tag
          real    in

          integer mp_rcv_real

          include "slgcm.mp"

          integer tmp

          tmp = cmmd_receive_block(src_pn, src_tag, in,
     &                          size_of_real )

          mp_rcv_real = tmp

      end

