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