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