1 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
5 C Authors: Paul N. Swarztrauber and Richard A. Valent
9 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
11 SUBROUTINE CMFGKB
(LOT
,IDO
,IP
,L1
,LID
,NA
,CC
,CC1
,IM1
,IN1
,
13 REAL CH
(2,IN2
,L1
,IDO
,IP
) ,CC
(2,IN1
,L1
,IP
,IDO
),
14 1 CC1
(2,IN1
,LID
,IP
) ,CH1
(2,IN2
,LID
,IP
) ,
17 C FFTPACK 5.0 auxiliary routine
27 CH1
(1,M2
,KI
,1) = CC1
(1,M1
,KI
,1)
28 CH1
(2,M2
,KI
,1) = CC1
(2,M1
,KI
,1)
36 CH1
(1,M2
,KI
,J
) = CC1
(1,M1
,KI
,J
)+CC1
(1,M1
,KI
,JC
)
37 CH1
(1,M2
,KI
,JC
) = CC1
(1,M1
,KI
,J
)-CC1
(1,M1
,KI
,JC
)
38 CH1
(2,M2
,KI
,J
) = CC1
(2,M1
,KI
,J
)+CC1
(2,M1
,KI
,JC
)
39 CH1
(2,M2
,KI
,JC
) = CC1
(2,M1
,KI
,J
)-CC1
(2,M1
,KI
,JC
)
47 CC1
(1,M1
,KI
,1) = CC1
(1,M1
,KI
,1)+CH1
(1,M2
,KI
,J
)
48 CC1
(2,M1
,KI
,1) = CC1
(2,M1
,KI
,1)+CH1
(2,M2
,KI
,J
)
57 CC1
(1,M1
,KI
,L
) = CH1
(1,M2
,KI
,1)+WA
(1,L
-1,1)*CH1
(1,M2
,KI
,2)
58 CC1
(1,M1
,KI
,LC
) = WA
(1,L
-1,2)*CH1
(1,M2
,KI
,IP
)
59 CC1
(2,M1
,KI
,L
) = CH1
(2,M2
,KI
,1)+WA
(1,L
-1,1)*CH1
(2,M2
,KI
,2)
60 CC1
(2,M1
,KI
,LC
) = WA
(1,L
-1,2)*CH1
(2,M2
,KI
,IP
)
64 IDLJ
= MOD
((L
-1)*(J
-1),IP
)
71 CC1
(1,M1
,KI
,L
) = CC1
(1,M1
,KI
,L
)+WAR*CH1
(1,M2
,KI
,J
)
72 CC1
(1,M1
,KI
,LC
) = CC1
(1,M1
,KI
,LC
)+WAI*CH1
(1,M2
,KI
,JC
)
73 CC1
(2,M1
,KI
,L
) = CC1
(2,M1
,KI
,L
)+WAR*CH1
(2,M2
,KI
,J
)
74 CC1
(2,M1
,KI
,LC
) = CC1
(2,M1
,KI
,LC
)+WAI*CH1
(2,M2
,KI
,JC
)
78 IF(IDO
.GT
.1 .OR
. NA
.EQ
.1) GO TO 136
83 CHOLD1
= CC1
(1,M1
,KI
,J
)-CC1
(2,M1
,KI
,JC
)
84 CHOLD2
= CC1
(1,M1
,KI
,J
)+CC1
(2,M1
,KI
,JC
)
85 CC1
(1,M1
,KI
,J
) = CHOLD1
86 CC1
(2,M1
,KI
,JC
) = CC1
(2,M1
,KI
,J
)-CC1
(1,M1
,KI
,JC
)
87 CC1
(2,M1
,KI
,J
) = CC1
(2,M1
,KI
,J
)+CC1
(1,M1
,KI
,JC
)
88 CC1
(1,M1
,KI
,JC
) = CHOLD2
96 CH1
(1,M2
,KI
,1) = CC1
(1,M1
,KI
,1)
97 CH1
(2,M2
,KI
,1) = CC1
(2,M1
,KI
,1)
105 CH1
(1,M2
,KI
,J
) = CC1
(1,M1
,KI
,J
)-CC1
(2,M1
,KI
,JC
)
106 CH1
(1,M2
,KI
,JC
) = CC1
(1,M1
,KI
,J
)+CC1
(2,M1
,KI
,JC
)
107 CH1
(2,M2
,KI
,JC
) = CC1
(2,M1
,KI
,J
)-CC1
(1,M1
,KI
,JC
)
108 CH1
(2,M2
,KI
,J
) = CC1
(2,M1
,KI
,J
)+CC1
(1,M1
,KI
,JC
)
111 IF (IDO
.EQ
. 1) RETURN
117 CC
(1,M1
,K
,1,I
) = CH
(1,M2
,K
,I
,1)
118 CC
(2,M1
,K
,1,I
) = CH
(2,M2
,K
,I
,1)
126 CC
(1,M1
,K
,J
,1) = CH
(1,M2
,K
,1,J
)
127 CC
(2,M1
,K
,J
,1) = CH
(2,M2
,K
,1,J
)
136 CC
(1,M1
,K
,J
,I
) = WA
(I
,J
-1,1)*CH
(1,M2
,K
,I
,J
)
137 1 -WA
(I
,J
-1,2)*CH
(2,M2
,K
,I
,J
)
138 CC
(2,M1
,K
,J
,I
) = WA
(I
,J
-1,1)*CH
(2,M2
,K
,I
,J
)
139 1 +WA
(I
,J
-1,2)*CH
(1,M2
,K
,I
,J
)