1 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
4 ! Copyright (C) 1995-2004, Scientific Computing Division,
5 ! University Corporation for Atmospheric Research
6 ! Licensed under the GNU General Public License (GPL)
8 ! Authors: Paul N. Swarztrauber and Richard A. Valent
10 ! $Id: cmfgkb.f,v 1.2 2004/06/15 21:08:32 rodney Exp $
12 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
14 SUBROUTINE CMFGKB (LOT,IDO,IP,L1,LID,NA,CC,CC1,IM1,IN1, &
16 REAL CH(2,IN2,L1,IDO,IP) ,CC(2,IN1,L1,IP,IDO), &
17 & CC1(2,IN1,LID,IP) ,CH1(2,IN2,LID,IP) , &
20 ! FFTPACK 5.0 auxiliary routine
30 CH1(1,M2,KI,1) = CC1(1,M1,KI,1)
31 CH1(2,M2,KI,1) = CC1(2,M1,KI,1)
39 CH1(1,M2,KI,J) = CC1(1,M1,KI,J)+CC1(1,M1,KI,JC)
40 CH1(1,M2,KI,JC) = CC1(1,M1,KI,J)-CC1(1,M1,KI,JC)
41 CH1(2,M2,KI,J) = CC1(2,M1,KI,J)+CC1(2,M1,KI,JC)
42 CH1(2,M2,KI,JC) = CC1(2,M1,KI,J)-CC1(2,M1,KI,JC)
50 CC1(1,M1,KI,1) = CC1(1,M1,KI,1)+CH1(1,M2,KI,J)
51 CC1(2,M1,KI,1) = CC1(2,M1,KI,1)+CH1(2,M2,KI,J)
60 CC1(1,M1,KI,L) = CH1(1,M2,KI,1)+WA(1,L-1,1)*CH1(1,M2,KI,2)
61 CC1(1,M1,KI,LC) = WA(1,L-1,2)*CH1(1,M2,KI,IP)
62 CC1(2,M1,KI,L) = CH1(2,M2,KI,1)+WA(1,L-1,1)*CH1(2,M2,KI,2)
63 CC1(2,M1,KI,LC) = WA(1,L-1,2)*CH1(2,M2,KI,IP)
67 IDLJ = MOD((L-1)*(J-1),IP)
74 CC1(1,M1,KI,L) = CC1(1,M1,KI,L)+WAR*CH1(1,M2,KI,J)
75 CC1(1,M1,KI,LC) = CC1(1,M1,KI,LC)+WAI*CH1(1,M2,KI,JC)
76 CC1(2,M1,KI,L) = CC1(2,M1,KI,L)+WAR*CH1(2,M2,KI,J)
77 CC1(2,M1,KI,LC) = CC1(2,M1,KI,LC)+WAI*CH1(2,M2,KI,JC)
81 IF(IDO.GT.1 .OR. NA.EQ.1) GO TO 136
86 CHOLD1 = CC1(1,M1,KI,J)-CC1(2,M1,KI,JC)
87 CHOLD2 = CC1(1,M1,KI,J)+CC1(2,M1,KI,JC)
88 CC1(1,M1,KI,J) = CHOLD1
89 CC1(2,M1,KI,JC) = CC1(2,M1,KI,J)-CC1(1,M1,KI,JC)
90 CC1(2,M1,KI,J) = CC1(2,M1,KI,J)+CC1(1,M1,KI,JC)
91 CC1(1,M1,KI,JC) = CHOLD2
99 CH1(1,M2,KI,1) = CC1(1,M1,KI,1)
100 CH1(2,M2,KI,1) = CC1(2,M1,KI,1)
108 CH1(1,M2,KI,J) = CC1(1,M1,KI,J)-CC1(2,M1,KI,JC)
109 CH1(1,M2,KI,JC) = CC1(1,M1,KI,J)+CC1(2,M1,KI,JC)
110 CH1(2,M2,KI,JC) = CC1(2,M1,KI,J)-CC1(1,M1,KI,JC)
111 CH1(2,M2,KI,J) = CC1(2,M1,KI,J)+CC1(1,M1,KI,JC)
114 IF (IDO .EQ. 1) RETURN
120 CC(1,M1,K,1,I) = CH(1,M2,K,I,1)
121 CC(2,M1,K,1,I) = CH(2,M2,K,I,1)
129 CC(1,M1,K,J,1) = CH(1,M2,K,1,J)
130 CC(2,M1,K,J,1) = CH(2,M2,K,1,J)
139 CC(1,M1,K,J,I) = WA(I,J-1,1)*CH(1,M2,K,I,J) &
140 & -WA(I,J-1,2)*CH(2,M2,K,I,J)
141 CC(2,M1,K,J,I) = WA(I,J-1,1)*CH(2,M2,K,I,J) &
142 & +WA(I,J-1,2)*CH(1,M2,K,I,J)