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: mradfg.f,v 1.2 2004/06/15 21:29:20 rodney Exp $
12 !CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
14 SUBROUTINE MRADFG (M,IDO,IP,L1,IDL1,CC,C1,C2,IM1,IN1, &
16 REAL CH(IN2,IDO,L1,IP) ,CC(IN1,IDO,IP,L1), &
17 & C1(IN1,IDO,L1,IP) ,C2(IN1,IDL1,IP), &
18 & CH2(IN2,IDL1,IP) ,WA(IDO)
30 IF (IDO .EQ. 1) GO TO 119
35 CH2(M2,IK,1) = C2(M1,IK,1)
43 CH(M2,1,K,J) = C1(M1,1,K,J)
47 IF (NBD .GT. L1) GO TO 107
58 CH(M2,I-1,K,J) = WA(IDIJ-1)*C1(M1,I-1,K,J)+WA(IDIJ) &
60 CH(M2,I,K,J) = WA(IDIJ-1)*C1(M1,I,K,J)-WA(IDIJ) &
77 CH(M2,I-1,K,J) = WA(IDIJ-1)*C1(M1,I-1,K,J)+WA(IDIJ) &
79 CH(M2,I,K,J) = WA(IDIJ-1)*C1(M1,I,K,J)-WA(IDIJ) &
85 111 IF (NBD .LT. L1) GO TO 115
93 C1(M1,I-1,K,J) = CH(M2,I-1,K,J)+CH(M2,I-1,K,JC)
94 C1(M1,I-1,K,JC) = CH(M2,I,K,J)-CH(M2,I,K,JC)
95 C1(M1,I,K,J) = CH(M2,I,K,J)+CH(M2,I,K,JC)
96 C1(M1,I,K,JC) = CH(M2,I-1,K,JC)-CH(M2,I-1,K,J)
109 C1(M1,I-1,K,J) = CH(M2,I-1,K,J)+CH(M2,I-1,K,JC)
110 C1(M1,I-1,K,JC) = CH(M2,I,K,J)-CH(M2,I,K,JC)
111 C1(M1,I,K,J) = CH(M2,I,K,J)+CH(M2,I,K,JC)
112 C1(M1,I,K,JC) = CH(M2,I-1,K,JC)-CH(M2,I-1,K,J)
122 C2(M1,IK,1) = CH2(M2,IK,1)
131 C1(M1,1,K,J) = CH(M2,1,K,J)+CH(M2,1,K,JC)
132 C1(M1,1,K,JC) = CH(M2,1,K,JC)-CH(M2,1,K,J)
141 AR1H = DCP*AR1-DSP*AI1
142 AI1 = DCP*AI1+DSP*AR1
148 CH2(M2,IK,L) = C2(M1,IK,1)+AR1*C2(M1,IK,2)
149 CH2(M2,IK,LC) = AI1*C2(M1,IK,IP)
158 AR2H = DC2*AR2-DS2*AI2
159 AI2 = DC2*AI2+DS2*AR2
165 CH2(M2,IK,L) = CH2(M2,IK,L)+AR2*C2(M1,IK,J)
166 CH2(M2,IK,LC) = CH2(M2,IK,LC)+AI2*C2(M1,IK,JC)
176 CH2(M2,IK,1) = CH2(M2,IK,1)+C2(M1,IK,J)
181 IF (IDO .LT. L1) GO TO 132
187 CC(M1,I,1,K) = CH(M2,I,K,1)
197 CC(M1,I,1,K) = CH(M2,I,K,1)
208 CC(M1,IDO,J2-2,K) = CH(M2,1,K,J)
209 CC(M1,1,J2-1,K) = CH(M2,1,K,JC)
213 IF (IDO .EQ. 1) RETURN
214 IF (NBD .LT. L1) GO TO 141
224 CC(M1,I-1,J2-1,K) = CH(M2,I-1,K,J)+CH(M2,I-1,K,JC)
225 CC(M1,IC-1,J2-2,K) = CH(M2,I-1,K,J)-CH(M2,I-1,K,JC)
226 CC(M1,I,J2-1,K) = CH(M2,I,K,J)+CH(M2,I,K,JC)
227 CC(M1,IC,J2-2,K) = CH(M2,I,K,JC)-CH(M2,I,K,J)
242 CC(M1,I-1,J2-1,K) = CH(M2,I-1,K,J)+CH(M2,I-1,K,JC)
243 CC(M1,IC-1,J2-2,K) = CH(M2,I-1,K,J)-CH(M2,I-1,K,JC)
244 CC(M1,I,J2-1,K) = CH(M2,I,K,J)+CH(M2,I,K,JC)
245 CC(M1,IC,J2-2,K) = CH(M2,I,K,JC)-CH(M2,I,K,J)