LMDZ
myrecvset_mod.F90
Go to the documentation of this file.
2 CONTAINS
3 FUNCTION myrecvset(KSETS,KMYSET,KSET)
4 
5 #ifdef DOC
6 
7 !**** *MYRECVSET* RETURNS SET NUMBER TO SEND TO
8 
9 ! Purpose.
10 ! --------
11 !
12 
13 !** Interface.
14 ! ----------
15 ! ISENDSET = MYRECVSET(KSETS,KMYSET,KSET)
16 
17 ! Explicit arguments :
18 ! --------------------
19 ! input: KSETS
20 
21 ! Implicit arguments : NONE
22 ! --------------------
23 ! Method.
24 ! -------
25 
26 !
27 
28 ! Externals.
29 ! ----------
30 ! NONE
31 
32 ! Reference.
33 ! ----------
34 ! ECMWF Research Department documentation of the IFS
35 
36 ! Author.
37 ! -------
38 ! Mats Hamrud *ECMWF*
39 
40 ! Modifications.
41 ! --------------
42 ! Original : 00-02-03
43 
44 ! ------------------------------------------------------------------
45 #endif
46 
47 USE parkind1 ,ONLY : jpim ,jprb
49 
50 IMPLICIT NONE
51 INTEGER(KIND=JPIM) :: MYRECVSET
52 INTEGER(KIND=JPIM),INTENT(IN) :: KSETS,KMYSET,KSET
53 
54 
55 ! ------------------------------------------------------------------
56 
57 !* 1. Check input argument for validity
58 ! ---------------------------------
59 
60 IF(ksets < 1 .OR. kmyset > ksets .OR. kset > ksets-1) THEN
61 
62  CALL abort_trans(' MYRECVSET: INVALID ARGUMENT ')
63 
64 ELSE
65 
66 !* 2. Compute output parameters
67 ! -------------------------
68 
69  myrecvset = mod(-kset-1+kmyset+ksets,ksets)+1
70 
71 ENDIF
72 
73 END FUNCTION myrecvset
74 END MODULE myrecvset_mod
integer, parameter jprb
Definition: parkind1.F90:31
integer(kind=jpim) function myrecvset(KSETS, KMYSET, KSET)
integer, parameter jpim
Definition: parkind1.F90:13
subroutine abort_trans(CDTEXT)