File: C:\NOAA\NEMS_11731\src\chem\gocart\src\GMAO_Shared\MAPL_Base\send.H
1 ! $Id: send.H,v 1.2 2008/12/11 14:45:02 trayanov Exp $
2
3 #ifdef NAME_
4 #undef NAME_
5 #endif
6
7 #define NAME_ MAPL_CommsSend_
8
9 #include "overload.macro"
10
11 subroutine SUB_ ( layout, DATA, COUNT, DEST, RC)
12
13 type (ESMF_DELayout) :: layout
14 #if (VARTYPE_ > 0)
15 TYPE_(kind=EKIND_), intent(INOUT) :: data DIMENSIONS_
16 #else
17 character(LEN=*), intent(INOUT) :: data DIMENSIONS_
18 #endif
19
20 integer, intent(in ) :: COUNT
21 integer, intent(in ) :: DEST
22 integer , intent( out), optional :: RC
23
24 character(len=ESMF_MAXSTR), parameter :: IAM='MAPL_Send'
25 integer :: status
26 integer :: ierr
27 integer :: comm
28 type(ESMF_VM) :: vm
29
30 call ESMF_DELayoutGet(layout, vm=vm, rc=status)
31 VERIFY_(STATUS)
32
33 call ESMF_VMGet(vm, mpiCommunicator=COMM, rc=status)
34 VERIFY_(STATUS)
35
36 call MPI_Send(DATA, count, MPITYPE_, dest, msg_tag, COMM, IERR)
37 VERIFY_(IERR)
38
39 RETURN_(ESMF_SUCCESS)
40 END SUBROUTINE SUB_
41
42 #undef NAME_
43
44 #undef DIMENSIONS_
45 #undef RANK_
46 #undef VARTYPE_
47
48
49