The TELEMAC-MASCARET system  trunk
p_ireadi8.F
Go to the documentation of this file.
1 ! ********************
2  SUBROUTINE p_ireadi8
3 ! ********************
4 !
5  &(buffer,nval,source,itag,ireq)
6 !
7 !***********************************************************************
8 ! PARALLEL V8P0
9 !***********************************************************************
10 !
11 !brief
12 !
13 !history J-M HERVOUET (EDF R&D, LNHE)
14 !+ 09/05/2014
15 !+ V7P0
16 !+ A mere copy of P_IREAD by Pascal Vezolles for integers. However
17 !+ NBYTES changed into NVAL to avoid *4 in the calls.
18 !
19 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 !| BUFFER |-->| BUFFER IN INTEGER 8 BYTES.
21 !| IREQ |<->| NUMERO DE REQUEST POUR MPI_IRECV
22 !| ITAG |-->| MESSAGE TAG
23 !| NVAL |-->| NUMBER OF VALUES TO BE TRANSMITTED
24 !| SOURCE |-->| ORIGINE DES DONNEES
25 !| | | TID OF THE SENDER / KNOTEN-ID DES SENDER
26 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27 !
29 !
31  IMPLICIT NONE
32 !
33 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
34 !
35  INTEGER, INTENT(IN) :: NVAL,SOURCE,ITAG
36  INTEGER, INTENT(INOUT) :: IREQ
37  INTEGER(KIND=K8), INTENT(OUT) :: BUFFER(nval)
38 !
39 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
40 !
41 #if defined HAVE_MPI
42  INTEGER IER
43 !
44 !-----------------------------------------------------------------------
45 !
46 ! RECEIVES DATA
47 !
48 !-----------------------------------------------------------------------
49 !
50 ! 8: TO BE PARAMETERISED ????
51  CALL mpi_irecv(buffer,nval*8,mpi_byte,source,itag,
52  & comm,ireq,ier)
53 !
54  IF(ier.NE.0) THEN
55  WRITE(lu,*) 'P_IREADI8: ERROR IN MPI_IRECV'
56  WRITE(lu,*) 'MPI ERROR ',ier
57  CALL plante(1)
58  stop
59  ENDIF
60 #else
61  buffer(1) = 0
62  WRITE(lu,*) 'CALL OF P_IREADI8 IN ITS VOID VERSION'
63 #endif
64 !
65 !-----------------------------------------------------------------------
66 !
67  RETURN
68  END
subroutine source(S0U, S0V, S0W, S1U, S1V, S1W, UN3, VN3, WSN3, WN3, VOLU, VOLUN, T3, NPOIN3, NTRAC, LT, AT, DT, PRIVE, NONHYD, NPOIN2, NSCE, ISCE, KSCE, QSCE, USCE, VSCE, MAXSCE)
Definition: source.f:10
subroutine p_ireadi8(BUFFER, NVAL, SOURCE, ITAG, IREQ)
Definition: p_ireadi8.F:7