File: C:\NOAA\NEMS_11731\src\chem\gocart\src\GMAO_Shared\MAPL_Base\allgather.H

1     ! $Id: allgather.H,v 1.2 2008/08/28 20:34:14 trayanov Exp $
2     
3     #ifdef NAME_
4     #undef NAME_
5     #endif
6     
7     #define NAME_ MAPL_CommsAllGather_
8     
9     #include "overload.macro"
10     
11       subroutine SUB_ (vm, sendbuf, sendcnt, &
12                        recvbuf, recvcnt, RC)
13       type(ESMF_VM),        intent(in   )            :: vm
14         TYPE_,              intent(IN   )            :: sendbuf DIMENSIONS_
15         integer,            intent(IN   )            :: sendcnt
16         TYPE_,              intent(INOUT)            :: recvbuf DIMENSIONS_
17         integer,            intent(IN   )            :: recvcnt
18         integer,            intent(  OUT),  optional :: RC
19     
20         character(len=ESMF_MAXSTR), parameter :: IAM='MAPL_CommsAllGather'
21         integer                               :: status
22         integer                               :: comm
23     
24         call ESMF_VMGet(vm, mpiCommunicator=COMM, rc=status)
25         VERIFY_(STATUS)
26     
27         call mpi_allgather ( sendbuf, sendcnt, MPITYPE_, &
28                              recvbuf, recvcnt, MPITYPE_, &
29                              comm, status )
30         VERIFY_(STATUS)
31     
32     
33         RETURN_(ESMF_SUCCESS)
34       END SUBROUTINE SUB_
35     
36     #undef NAME_
37     
38     #undef DIMENSIONS_
39     #undef RANK_
40     #undef VARTYPE_
41     
42