/[MITgcm]/MITgcm/model/src/ini_spherical_polar_grid.F
ViewVC logotype

Diff of /MITgcm/model/src/ini_spherical_polar_grid.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.10 by cnh, Fri Nov 6 22:44:47 1998 UTC revision 1.13 by adcroft, Tue Mar 16 16:37:42 1999 UTC
# Line 33  C     | Under the spherical polar grid m Line 33  C     | Under the spherical polar grid m
33  C     | in X and Y are in degrees. Distance in Z are in m or Pa  |  C     | in X and Y are in degrees. Distance in Z are in m or Pa  |
34  C     | depending on the vertical gridding mode.                 |  C     | depending on the vertical gridding mode.                 |
35  C     \==========================================================/  C     \==========================================================/
36          IMPLICIT NONE
37    
38  C     === Global variables ===  C     === Global variables ===
39  #include "SIZE.h"  #include "SIZE.h"
# Line 135  C     dxG, dyG are separations between c Line 136  C     dxG, dyG are separations between c
136        ENDDO        ENDDO
137        _EXCH_XY_R4(dxG, myThid )        _EXCH_XY_R4(dxG, myThid )
138        _EXCH_XY_R4(dyG, myThid )        _EXCH_XY_R4(dyG, myThid )
139  C     dxV, dyU are separations between velocity points along cell faces.  C     dxC, dyC is separation between cell centers
140        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
141         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
142          DO J=1,sNy          DO J=1,sNy
143           DO I=1,sNx           DO I=1,sNx
144            dxV(I,J,bi,bj) = (dxG(I,J,bi,bj)+dxG(I-1,J,bi,bj))*0.5 _d 0            dxC(I,J,bi,bj)    = (dxF(I,J,bi,bj)+dxF(I-1,J,bi,bj))*0.5 _d 0
145            dyU(I,J,bi,bj) = (dyG(I,J,bi,bj)+dyG(I,J-1,bi,bj))*0.5 _d 0            dyC(I,J,bi,bj)    = (dyF(I,J,bi,bj)+dyF(I,J-1,bi,bj))*0.5 _d 0
146           ENDDO           ENDDO
147          ENDDO          ENDDO
148         ENDDO         ENDDO
149        ENDDO        ENDDO
150        _EXCH_XY_R4(dxV, myThid )        _EXCH_XY_R4(dxC, myThid )
151        _EXCH_XY_R4(dyU, myThid )        _EXCH_XY_R4(dyC, myThid )
152  C     dxC, dyC is separation between cell centers  C     dxV, dyU are separations between velocity points along cell faces.
153        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
154         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
155          DO J=1,sNy          DO J=1,sNy
156           DO I=1,sNx           DO I=1,sNx
157            dxC(I,J,bi,bj)    = (dxF(I,J,bi,bj)+dxF(I-1,J,bi,bj))*0.5 _d 0            dxV(I,J,bi,bj) = (dxG(I,J,bi,bj)+dxG(I-1,J,bi,bj))*0.5 _d 0
158            dyC(I,J,bi,bj)    = (dyF(I,J,bi,bj)+dyF(I,J-1,bi,bj))*0.5 _d 0  #ifdef OLD_UV_GEOMETRY
159              dyU(I,J,bi,bj) = (dyG(I,J,bi,bj)+dyG(I,J-1,bi,bj))*0.5 _d 0
160    #else
161              dyU(I,J,bi,bj) = (dyC(I,J,bi,bj)+dyC(I-1,J,bi,bj))*0.5 _d 0
162    #endif
163           ENDDO           ENDDO
164          ENDDO          ENDDO
165         ENDDO         ENDDO
166        ENDDO        ENDDO
167        _EXCH_XY_R4(dxC, myThid )        _EXCH_XY_R4(dxV, myThid )
168        _EXCH_XY_R4(dyC, myThid )        _EXCH_XY_R4(dyU, myThid )
169  C     Calculate vertical face area and trigonometric terms  C     Calculate vertical face area and trigonometric terms
170        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
171         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
172          DO J=1,sNy          DO J=1,sNy
173           DO I=1,sNx           DO I=1,sNx
174            jG = myYGlobalLo + (bj-1)*sNy + J-1            jG = myYGlobalLo + (bj-1)*sNy + J-1
175              iG = myXGlobalLo + (bi-1)*sNx + I-1
176            latS = yc(i,j,bi,bj)-delY(jG)*0.5 _d 0            latS = yc(i,j,bi,bj)-delY(jG)*0.5 _d 0
177            latN = yc(i,j,bi,bj)+delY(jG)*0.5 _d 0            latN = yc(i,j,bi,bj)+delY(jG)*0.5 _d 0
178    #ifdef OLD_UV_GEOMETRY
179            rA(I,J,bi,bj) = dyF(I,J,bi,bj)            rA(I,J,bi,bj) = dyF(I,J,bi,bj)
180       &    *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad))       &    *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad))
181    #else
182              rA(I,J,bi,bj) = rSphere*delX(iG)*deg2rad
183         &    *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad))
184    #endif
185  C         Area cannot be zero but sin can be if lat if < -90.  C         Area cannot be zero but sin can be if lat if < -90.
186            IF ( rA(I,J,bi,bj) .LT. 0. ) rA(I,J,bi,bj) = -rA(I,J,bi,bj)            IF ( rA(I,J,bi,bj) .LT. 0. ) rA(I,J,bi,bj) = -rA(I,J,bi,bj)
187            tanPhiAtU(i,j,bi,bj)=tan(_yC(i,j,bi,bj)*deg2rad)            tanPhiAtU(i,j,bi,bj)=tan(_yC(i,j,bi,bj)*deg2rad)
# Line 182  C         Area cannot be zero but sin ca Line 193  C         Area cannot be zero but sin ca
193        _EXCH_XY_R4 (rA       , myThid )        _EXCH_XY_R4 (rA       , myThid )
194        _EXCH_XY_R4 (tanPhiAtU , myThid )        _EXCH_XY_R4 (tanPhiAtU , myThid )
195        _EXCH_XY_R4 (tanPhiAtV , myThid )        _EXCH_XY_R4 (tanPhiAtV , myThid )
196          DO bj = myByLo(myThid), myByHi(myThid)
197           DO bi = myBxLo(myThid), myBxHi(myThid)
198            DO J=1,sNy
199             DO I=1,sNx
200              iG = myXGlobalLo + (bi-1)*sNx + I-1
201              jG = myYGlobalLo + (bj-1)*sNy + J-1
202              latS = yc(i,j-1,bi,bj)
203              latN = yc(i,j,bi,bj)
204    #ifdef OLD_UV_GEOMETRY
205              rAw(I,J,bi,bj) = 0.5*(rA(I,J,bi,bj)+rA(I-1,J,bi,bj))
206              rAs(I,J,bi,bj) = 0.5*(rA(I,J,bi,bj)+rA(I,J-1,bi,bj))
207    #else
208              rAw(I,J,bi,bj) = 0.5*(rA(I,J,bi,bj)+rA(I-1,J,bi,bj))
209              rAs(I,J,bi,bj) = rSphere*delX(iG)*deg2rad
210         &    *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad))
211    #endif
212             ENDDO
213            ENDDO
214           ENDDO
215          ENDDO
216          _EXCH_XY_R4 (rAw      , myThid )
217          _EXCH_XY_R4 (rAs      , myThid )
218  C  C
219        RETURN        RETURN
220        END        END

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22