27 |
CEndOfInterface |
CEndOfInterface |
28 |
|
|
29 |
C == Local variables == |
C == Local variables == |
|
C xG, yG - Global coordinate location. |
|
|
C zG |
|
|
C xBase - South-west corner location for process. |
|
|
C yBase |
|
|
C zUpper - Work arrays for upper and lower |
|
|
C zLower cell-face heights. |
|
|
C phi - Temporary scalar |
|
|
C iG, jG - Global coordinate index. Usually used to hold |
|
|
C the south-west global coordinate of a tile. |
|
30 |
C bi,bj - Loop counters |
C bi,bj - Loop counters |
|
C zUpper - Temporary arrays holding z coordinates of |
|
|
C zLower upper and lower faces. |
|
|
C xBase - Lower coordinate for this threads cells |
|
|
C yBase |
|
|
C lat, latN, - Temporary variables used to hold latitude |
|
|
C latS values. |
|
31 |
C I,J,K |
C I,J,K |
32 |
INTEGER bi, bj |
INTEGER bi, bj |
33 |
INTEGER I, J, K |
INTEGER I, J, K |
49 |
ENDDO |
ENDDO |
50 |
_EXCH_XY_R4( rH, myThid ) |
_EXCH_XY_R4( rH, myThid ) |
51 |
|
|
52 |
|
C Calculate lopping factor hFacC |
53 |
|
DO bj=myByLo(myThid), myByHi(myThid) |
54 |
|
DO bi=myBxLo(myThid), myBxHi(myThid) |
55 |
|
DO K=1, Nz |
56 |
|
DO J=1,sNy |
57 |
|
DO I=1,sNx |
58 |
|
IF ( H(I,J,bi,bj) .LE. zFace(K) ) THEN |
59 |
|
C Below base of domain |
60 |
|
hFacC(I,J,K,bi,bj) = 0. |
61 |
|
ELSEIF ( H(I,J,bi,bj) .GT. zFace(K+1) ) THEN |
62 |
|
C Base of domain is below this cell |
63 |
|
hFacC(I,J,K,bi,bj) = 1. |
64 |
|
ELSE |
65 |
|
C Base of domain is in this cell |
66 |
|
C Set hFac tp the fraction of the cell that is open. |
67 |
|
hFacC(I,J,K,bi,bj) = |
68 |
|
& (zFace(K)-H(I,J,bi,bj))/(zFace(K)-zFace(K+1)) |
69 |
|
ENDIF |
70 |
|
ENDDO |
71 |
|
ENDDO |
72 |
|
ENDDO |
73 |
|
ENDDO |
74 |
|
ENDDO |
75 |
|
_EXCH_XYZ_R4(hFacC , myThid ) |
76 |
|
|
77 |
C hFacW and hFacS (at U and V points) |
C hFacW and hFacS (at U and V points) |
78 |
DO bj=myByLo(myThid), myByHi(myThid) |
DO bj=myByLo(myThid), myByHi(myThid) |
79 |
DO bi=myBxLo(myThid), myBxHi(myThid) |
DO bi=myBxLo(myThid), myBxHi(myThid) |