/[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.4 by cnh, Mon May 25 18:01:32 1998 UTC revision 1.9 by cnh, Wed Oct 28 03:11:37 1998 UTC
# Line 65  C     latS         values. Line 65  C     latS         values.
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
# Line 81  C     Set up my local grid first Line 81  C     Set up my local grid first
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)
# Line 100  C           longitude - phiMin and theta Line 102  C           longitude - phiMin and theta
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)
# Line 158  C     dxC, dyC is separation between cel Line 161  C     dxC, dyC is separation between cel
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
# Line 191  C     Calculate vertical face area Line 169  C     Calculate vertical face area
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

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22