SURFEX v8.1
General documentation of Surfex
mpl_mygatherv_mod.F90
Go to the documentation of this file.
2 
3 USE parkind1 ,ONLY : jprd, jpim
4 
5 USE mpl_mpif
8 
9 IMPLICIT NONE
10 PRIVATE
11 PUBLIC mpl_mygatherv
12 
13 LOGICAL :: llabort=.true.
14 
15 CONTAINS
16 
17 ! ------------------------------------------------------------------
18 SUBROUTINE mpl_mygatherv(PSEND,KSEND,PRECV,KRECV,KDISPL,KROOT,KCOMM)
19 
20 
21 #ifdef USE_8_BYTE_WORDS
22  USE mpi4to8, ONLY : &
23  mpi_gatherv => mpi_gatherv8
24 #endif
25 
26 
27 REAL(KIND=JPRD), INTENT(IN) :: PSEND(:)
28 REAL(KIND=JPRD), INTENT(OUT) :: PRECV(:)
29 INTEGER(KIND=JPIM), INTENT(IN) :: KSEND, KRECV(:), KDISPL(:)
30 INTEGER(KIND=JPIM), INTENT(IN) :: KROOT, KCOMM
31 INTEGER(KIND=JPIM) :: IERR
32 
33 CALL mpi_gatherv(psend,ksend,int(mpi_real8), &
34  & precv,krecv,kdispl,int(mpi_real8),kroot-1,kcomm,ierr)
35 
36 IF (ierr/=0) CALL mpl_message(ierr,'MPL_MYGATHERV',ldabort=llabort)
37 
38 END SUBROUTINE mpl_mygatherv
39 ! ------------------------------------------------------------------
40 
41 END MODULE mpl_mygatherv_mod
subroutine, public mpl_message(KERROR, CDMESSAGE, CDSTRING, LDABORT)
integer, parameter jpim
Definition: parkind1.F90:13
integer, parameter jprd
Definition: parkind1.F90:39
subroutine, public mpl_mygatherv(PSEND, KSEND, PRECV, KRECV, KDISPL, KROOT, KCOMM)