/[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.11 by adcroft, Mon Nov 30 23:45:25 1998 UTC
# Line 135  C     dxG, dyG are separations between c Line 135  C     dxG, dyG are separations between c
135        ENDDO        ENDDO
136        _EXCH_XY_R4(dxG, myThid )        _EXCH_XY_R4(dxG, myThid )
137        _EXCH_XY_R4(dyG, myThid )        _EXCH_XY_R4(dyG, myThid )
138  C     dxV, dyU are separations between velocity points along cell faces.  C     dxC, dyC is separation between cell centers
139        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
140         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
141          DO J=1,sNy          DO J=1,sNy
142           DO I=1,sNx           DO I=1,sNx
143            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
144            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
145           ENDDO           ENDDO
146          ENDDO          ENDDO
147         ENDDO         ENDDO
148        ENDDO        ENDDO
149        _EXCH_XY_R4(dxV, myThid )        _EXCH_XY_R4(dxC, myThid )
150        _EXCH_XY_R4(dyU, myThid )        _EXCH_XY_R4(dyC, myThid )
151  C     dxC, dyC is separation between cell centers  C     dxV, dyU are separations between velocity points along cell faces.
152        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
153         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
154          DO J=1,sNy          DO J=1,sNy
155           DO I=1,sNx           DO I=1,sNx
156            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
157            dyC(I,J,bi,bj)    = (dyF(I,J,bi,bj)+dyF(I,J-1,bi,bj))*0.5 _d 0  #ifdef OLD_UV_GEOMETRY
158              dyU(I,J,bi,bj) = (dyG(I,J,bi,bj)+dyG(I,J-1,bi,bj))*0.5 _d 0
159    #else
160              dyU(I,J,bi,bj) = (dyC(I,J,bi,bj)+dyC(I-1,J,bi,bj))*0.5 _d 0
161    #endif
162           ENDDO           ENDDO
163          ENDDO          ENDDO
164         ENDDO         ENDDO
165        ENDDO        ENDDO
166        _EXCH_XY_R4(dxC, myThid )        _EXCH_XY_R4(dxV, myThid )
167        _EXCH_XY_R4(dyC, myThid )        _EXCH_XY_R4(dyU, myThid )
168  C     Calculate vertical face area and trigonometric terms  C     Calculate vertical face area and trigonometric terms
169        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
170         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
# Line 169  C     Calculate vertical face area and t Line 173  C     Calculate vertical face area and t
173            jG = myYGlobalLo + (bj-1)*sNy + J-1            jG = myYGlobalLo + (bj-1)*sNy + J-1
174            latS = yc(i,j,bi,bj)-delY(jG)*0.5 _d 0            latS = yc(i,j,bi,bj)-delY(jG)*0.5 _d 0
175            latN = yc(i,j,bi,bj)+delY(jG)*0.5 _d 0            latN = yc(i,j,bi,bj)+delY(jG)*0.5 _d 0
176    #ifdef OLD_UV_GEOMETRY
177            rA(I,J,bi,bj) = dyF(I,J,bi,bj)            rA(I,J,bi,bj) = dyF(I,J,bi,bj)
178       &    *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad))       &    *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad))
179    #else
180              rA(I,J,bi,bj) = rSphere*delX(iG)*deg2rad
181         &    *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad))
182    #endif
183  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.
184            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)
185            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 191  C         Area cannot be zero but sin ca
191        _EXCH_XY_R4 (rA       , myThid )        _EXCH_XY_R4 (rA       , myThid )
192        _EXCH_XY_R4 (tanPhiAtU , myThid )        _EXCH_XY_R4 (tanPhiAtU , myThid )
193        _EXCH_XY_R4 (tanPhiAtV , myThid )        _EXCH_XY_R4 (tanPhiAtV , myThid )
194          DO bj = myByLo(myThid), myByHi(myThid)
195           DO bi = myBxLo(myThid), myBxHi(myThid)
196            DO J=1,sNy
197             DO I=1,sNx
198              iG = myXGlobalLo + (bi-1)*sNx + I-1
199              jG = myYGlobalLo + (bj-1)*sNy + J-1
200              latS = yc(i,j-1,bi,bj)
201              latN = yc(i,j,bi,bj)
202    #ifdef OLD_UV_GEOMETRY
203              rAw(I,J,bi,bj) = 0.5*(rA(I,J,bi,bj)+rA(I-1,J,bi,bj))
204              rAs(I,J,bi,bj) = 0.5*(rA(I,J,bi,bj)+rA(I,J-1,bi,bj))
205    #else
206              rAw(I,J,bi,bj) = 0.5*(rA(I,J,bi,bj)+rA(I-1,J,bi,bj))
207              rAs(I,J,bi,bj) = rSphere*delX(iG)*deg2rad
208         &    *rSphere*(SIN(latN*deg2rad)-SIN(latS*deg2rad))
209    #endif
210             ENDDO
211            ENDDO
212           ENDDO
213          ENDDO
214          _EXCH_XY_R4 (rAw      , myThid )
215          _EXCH_XY_R4 (rAs      , myThid )
216  C  C
217        RETURN        RETURN
218        END        END

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

  ViewVC Help
Powered by ViewVC 1.1.22