94 |
DO I=1-OLx,sNx+OLx |
DO I=1-OLx,sNx+OLx |
95 |
CSTICE(i,j,bi,bj) =cos(yC(I,J,bi,bj)*deg2rad) |
CSTICE(i,j,bi,bj) =cos(yC(I,J,bi,bj)*deg2rad) |
96 |
CSUICE(i,j,bi,bj) =cos(yG(I,J,bi,bj)*deg2rad) |
CSUICE(i,j,bi,bj) =cos(yG(I,J,bi,bj)*deg2rad) |
97 |
|
CML( |
98 |
|
C inverses of CSTICE and CSUICE. Let's hope we are never |
99 |
|
C at the poles |
100 |
|
IF ( CSTICE(I,J,bi,bj) .ne. 0. _d 0 ) THEN |
101 |
|
RECIP_CSTICE(I,J,bi,bj) = 1./CSTICE(I,J,bi,bj) |
102 |
|
ELSE |
103 |
|
RECIP_CSTICE(I,J,bi,bj) =0. _d 0 |
104 |
|
ENDIF |
105 |
|
IF ( CSUICE(I,J,bi,bj) .ne. 0. _d 0 ) THEN |
106 |
|
RECIP_CSUICE(I,J,bi,bj) = 1./CSUICE(I,J,bi,bj) |
107 |
|
ELSE |
108 |
|
RECIP_CSUICE(I,J,bi,bj) =0. _d 0 |
109 |
|
ENDIF |
110 |
|
CML) |
111 |
SINEICE(i,j,bi,bj)=sin(yC(I,J,bi,bj)*deg2rad) |
SINEICE(i,j,bi,bj)=sin(yC(I,J,bi,bj)*deg2rad) |
112 |
TNGTICE(i,j,bi,bj)=SINEICE(i,j,bi,bj)/CSTICE(i,j,bi,bj) |
TNGTICE(i,j,bi,bj)=SINEICE(i,j,bi,bj)*RECIP_CSTICE(i,j,bi,bj) |
113 |
SINEICE(i,j,bi,bj)=sin(yG(I,J,bi,bj)*deg2rad) |
SINEICE(i,j,bi,bj)=sin(yG(I,J,bi,bj)*deg2rad) |
114 |
TNGICE(i,j,bi,bj) =SINEICE(i,j,bi,bj)/CSUICE(i,j,bi,bj) |
TNGICE(i,j,bi,bj) =SINEICE(i,j,bi,bj)*RECIP_CSUICE(i,j,bi,bj) |
115 |
DXTICE(i,j,bi,bj)=dxF(i,j,bi,bj)/CSTICE(i,j,bi,bj) |
DXTICE(i,j,bi,bj)=dxF(i,j,bi,bj)*RECIP_CSTICE(i,j,bi,bj) |
116 |
DXUICE(i,j,bi,bj)=dxV(i,j,bi,bj)/CSUICE(i,j,bi,bj) |
DXUICE(i,j,bi,bj)=dxV(i,j,bi,bj)*RECIP_CSUICE(i,j,bi,bj) |
117 |
DYTICE(i,j,bi,bj)=dyF(i,j,bi,bj) |
DYTICE(i,j,bi,bj)=dyF(i,j,bi,bj) |
118 |
DYUICE(i,j,bi,bj)=dyU(i,j,bi,bj) |
DYUICE(i,j,bi,bj)=dyU(i,j,bi,bj) |
119 |
ENDDO |
ENDDO |
168 |
UVM(i,j,bi,bj)=ZERO |
UVM(i,j,bi,bj)=ZERO |
169 |
ENDDO |
ENDDO |
170 |
ENDIF |
ENDIF |
171 |
|
C-- Make sure that DXTICE and DYTICE do not contain any zeros |
172 |
|
DO J=1,sNy |
173 |
|
DO I=1-OLx,0 |
174 |
|
IF(DXTICE(i,j,bi,bj).EQ.0) |
175 |
|
& DXTICE(i,j,bi,bj)=DXTICE(1,j,bi,bj) |
176 |
|
IF(DYTICE(i,j,bi,bj).EQ.0) |
177 |
|
& DYTICE(i,j,bi,bj)=DYTICE(1,j,bi,bj) |
178 |
|
ENDDO |
179 |
|
DO I=sNx+1,sNx+OLx |
180 |
|
IF(DXTICE(i,j,bi,bj).EQ.0) |
181 |
|
& DXTICE(i,j,bi,bj)=DXTICE(sNx,j,bi,bj) |
182 |
|
IF(DYTICE(i,j,bi,bj).EQ.0) |
183 |
|
& DYTICE(i,j,bi,bj)=DYTICE(sNx,j,bi,bj) |
184 |
|
ENDDO |
185 |
|
ENDDO |
186 |
|
DO J=1-OLy,0 |
187 |
|
DO I=1-OLx,sNx+OLx |
188 |
|
IF(DXTICE(i,j,bi,bj).EQ.0) |
189 |
|
& DXTICE(i,j,bi,bj)=DXTICE(i,1,bi,bj) |
190 |
|
IF(DYTICE(i,j,bi,bj).EQ.0) |
191 |
|
& DYTICE(i,j,bi,bj)=DYTICE(i,1,bi,bj) |
192 |
|
ENDDO |
193 |
|
ENDDO |
194 |
|
DO J=sNy+1,sNy+OLy |
195 |
|
DO I=1-OLx,sNx+OLx |
196 |
|
IF(DXTICE(i,j,bi,bj).EQ.0) |
197 |
|
& DXTICE(i,j,bi,bj)=DXTICE(i,sNy,bi,bj) |
198 |
|
IF(DYTICE(i,j,bi,bj).EQ.0) |
199 |
|
& DYTICE(i,j,bi,bj)=DYTICE(i,sNy,bi,bj) |
200 |
|
ENDDO |
201 |
|
ENDDO |
202 |
ENDIF |
ENDIF |
203 |
#endif /* ALLOW_EXCH2 */ |
#endif /* ALLOW_EXCH2 */ |
204 |
|
|