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