65 |
C I,J,K |
C I,J,K |
66 |
_RL xG, yG, zG |
_RL xG, yG, zG |
67 |
_RL phi |
_RL phi |
68 |
_RL zUpper(Nz), zLower(Nz) |
_RL zUpper(Nr), zLower(Nr) |
69 |
_RL xBase, yBase |
_RL xBase, yBase |
70 |
INTEGER iG, jG |
INTEGER iG, jG |
71 |
INTEGER bi, bj |
INTEGER bi, bj |
81 |
C Note: In the spherical polar case delX and delY are given in |
C Note: In the spherical polar case delX and delY are given in |
82 |
C degrees and are relative to some starting latitude and |
C degrees and are relative to some starting latitude and |
83 |
C longitude - phiMin and thetaMin. |
C longitude - phiMin and thetaMin. |
84 |
|
xC0 = thetaMin |
85 |
|
yC0 = phiMin |
86 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
87 |
jG = myYGlobalLo + (bj-1)*sNy |
jG = myYGlobalLo + (bj-1)*sNy |
88 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
102 |
xc(I,J,bi,bj) = xG + delX(iG+i-1)*0.5 _d 0 |
xc(I,J,bi,bj) = xG + delX(iG+i-1)*0.5 _d 0 |
103 |
yc(I,J,bi,bj) = yG + delY(jG+j-1)*0.5 _d 0 |
yc(I,J,bi,bj) = yG + delY(jG+j-1)*0.5 _d 0 |
104 |
xG = xG + delX(iG+I-1) |
xG = xG + delX(iG+I-1) |
105 |
dxF(I,J,bi,bj) = delX(iG+i-1)*deg2rad*rSphere*COS(yc(I,J,bi,bj)*deg2rad) |
dxF(I,J,bi,bj) = delX(iG+i-1)*deg2rad* |
106 |
|
& rSphere*COS(yc(I,J,bi,bj)*deg2rad) |
107 |
dyF(I,J,bi,bj) = delY(jG+j-1)*deg2rad*rSphere |
dyF(I,J,bi,bj) = delY(jG+j-1)*deg2rad*rSphere |
108 |
ENDDO |
ENDDO |
109 |
yG = yG + delY(jG+J-1) |
yG = yG + delY(jG+J-1) |
161 |
ENDDO |
ENDDO |
162 |
_EXCH_XY_R4(dxC, myThid ) |
_EXCH_XY_R4(dxC, myThid ) |
163 |
_EXCH_XY_R4(dyC, myThid ) |
_EXCH_XY_R4(dyC, myThid ) |
164 |
C Calculate recipricols |
C Calculate vertical face area and trigonometric terms |
|
DO bj = myByLo(myThid), myByHi(myThid) |
|
|
DO bi = myBxLo(myThid), myBxHi(myThid) |
|
|
DO J=1,sNy |
|
|
DO I=1,sNx |
|
|
rDxG(I,J,bi,bj)=1.d0/dxG(I,J,bi,bj) |
|
|
rDyG(I,J,bi,bj)=1.d0/dyG(I,J,bi,bj) |
|
|
rDxC(I,J,bi,bj)=1.d0/dxC(I,J,bi,bj) |
|
|
rDyC(I,J,bi,bj)=1.d0/dyC(I,J,bi,bj) |
|
|
rDxF(I,J,bi,bj)=1.d0/dxF(I,J,bi,bj) |
|
|
rDyF(I,J,bi,bj)=1.d0/dyF(I,J,bi,bj) |
|
|
rDxV(I,J,bi,bj)=1.d0/dxV(I,J,bi,bj) |
|
|
rDyU(I,J,bi,bj)=1.d0/dyU(I,J,bi,bj) |
|
|
ENDDO |
|
|
ENDDO |
|
|
ENDDO |
|
|
ENDDO |
|
|
_EXCH_XY_R4(rDxG, myThid ) |
|
|
_EXCH_XY_R4(rDyG, myThid ) |
|
|
_EXCH_XY_R4(rDxC, myThid ) |
|
|
_EXCH_XY_R4(rDyC, myThid ) |
|
|
_EXCH_XY_R4(rDxF, myThid ) |
|
|
_EXCH_XY_R4(rDyF, myThid ) |
|
|
_EXCH_XY_R4(rDxV, myThid ) |
|
|
_EXCH_XY_R4(rDyU, myThid ) |
|
|
C Calculate vertical face area |
|
165 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
166 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
167 |
DO J=1,sNy |
DO J=1,sNy |
169 |
jG = myYGlobalLo + (bj-1)*sNy + J-1 |
jG = myYGlobalLo + (bj-1)*sNy + J-1 |
170 |
latS = yc(i,j,bi,bj)-delY(jG)*0.5 _d 0 |
latS = yc(i,j,bi,bj)-delY(jG)*0.5 _d 0 |
171 |
latN = yc(i,j,bi,bj)+delY(jG)*0.5 _d 0 |
latN = yc(i,j,bi,bj)+delY(jG)*0.5 _d 0 |
172 |
zA(I,J,bi,bj) = dyF(I,J,bi,bj) |
rA(I,J,bi,bj) = dyF(I,J,bi,bj) |
173 |
& *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad)) |
& *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad)) |
174 |
|
tanPhiAtU(i,j,bi,bj)=tan(_yC(i,j,bi,bj)*deg2rad) |
175 |
|
tanPhiAtV(i,j,bi,bj)=tan(latS*deg2rad) |
176 |
ENDDO |
ENDDO |
177 |
ENDDO |
ENDDO |
178 |
ENDDO |
ENDDO |
179 |
ENDDO |
ENDDO |
180 |
_EXCH_XY_R4(zA, myThid ) |
_EXCH_XY_R4 (rA , myThid ) |
181 |
|
_EXCH_XY_R4 (tanPhiAtU , myThid ) |
182 |
|
_EXCH_XY_R4 (tanPhiAtV , myThid ) |
183 |
|
|
184 |
C |
C |
185 |
RETURN |
RETURN |
186 |
END |
END |