SURFEX v8.1
General documentation of Surfex
ccommc.F
Go to the documentation of this file.
1 ! Look for common elements in two sorted lists
2  SUBROUTINE ccommc (KNC, KCOM1, KCOM2, KN1, CD1, KN2, CD2)
3  USE parkind1, ONLY : jpim
4  IMPLICIT NONE
5 
6  INTEGER(KIND=JPIM) :: KNC, KN1, KN2
7  INTEGER(KIND=JPIM) :: KCOM1 (knc), KCOM2 (knc)
8 
9  CHARACTER(LEN=*) :: CD1 (kn1), CD2 (kn2)
10  INTEGER(KIND=JPIM) :: I1, I2, IC
11 
12  i1 = 1
13  i2 = 1
14  ic = 0
15 
16  DO WHILE ((i1 <= kn1) .AND. (i2 <= kn2))
17  IF (cd1(i1) == cd2(i2)) THEN
18  ic = ic + 1
19  kcom1(ic) = i1
20  kcom2(ic) = i2
21  i1 = i1 + 1
22  i2 = i2 + 1
23  ELSEIF (cd1(i1) > cd2(i2)) THEN
24  i2 = i2 + 1
25  ELSEIF (cd1(i1) < cd2(i2)) THEN
26  i1 = i1 + 1
27  ENDIF
28  ENDDO
29 
30  knc = ic
31 
32  ENDSUBROUTINE ccommc
33 
integer, parameter jpim
Definition: parkind1.F90:13
subroutine ccommc(KNC, KCOM1, KCOM2, KN1, CD1, KN2, CD2)
Definition: ccommc.F:3