** Warning **
Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle dbname=MITgcm at /usr/local/share/lxr/lib/LXR/Common.pm line 1224.
Last-Modified: Thu, 17 Dec 2025 06:09:32 GMT
Content-Type: text/html; charset=utf-8
MITgcm/MITgcm/model/src/ini_cylinder_grid.F
File indexing completed on 2018-03-02 18:36:47 UTC
view on github raw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
0ac260a803 Andr* 0001 #include "CPP_OPTIONS.h "
0002
0003
b6aef9f254 Jean* 0004
0ac260a803 Andr* 0005
b6aef9f254 Jean* 0006 SUBROUTINE INI_CYLINDER_GRID ( myThid )
758c85d317 Jean* 0007
0ac260a803 Andr* 0008
758c85d317 Jean* 0009
b6aef9f254 Jean* 0010
758c85d317 Jean* 0011
0012
0013
0014
0015
0016
06399abf63 Jean* 0017
0018
0019
0020
758c85d317 Jean* 0021
0ac260a803 Andr* 0022
0023
0024
0025 IMPLICIT NONE
0026
0027 #include "SIZE.h "
0028 #include "EEPARAMS.h "
0029 #include "PARAMS.h "
0030 #include "GRID.h "
0031
0032
0033
758c85d317 Jean* 0034
0ac260a803 Andr* 0035 INTEGER myThid
0036
0037
0038
758c85d317 Jean* 0039
0040
06399abf63 Jean* 0041
0042
0043
0044
0045
0046
0047
0ac260a803 Andr* 0048 INTEGER bi , bj
06399abf63 Jean* 0049 INTEGER i , j
0050 INTEGER gridNx , gridNy
0051
0052
0053 _RL dtheta , thisRad
0054
0055 _RL delXloc (0-OLx :sNx +OLx )
0056 _RL delYloc (0-OLy :sNy +OLy )
0057
0058 _RL xGloc (1-OLx :sNx +OLx +1,1-OLy :sNy +OLy +1)
0059 _RL yGloc (1-OLx :sNx +OLx +1,1-OLy :sNy +OLy +1)
0ac260a803 Andr* 0060
0061
06399abf63 Jean* 0062
0ac260a803 Andr* 0063 DO bj = myByLo (myThid ), myByHi (myThid )
0064 DO bi = myBxLo (myThid ), myBxHi (myThid )
0065
06399abf63 Jean* 0066
0067
0068 CALL INI_LOCAL_GRID (
0069 O xGloc , yGloc ,
0070 O delXloc , delYloc ,
0071 O gridNx , gridNy ,
0072 I bi , bj , myThid )
0ac260a803 Andr* 0073
0074
06399abf63 Jean* 0075 DO j =1-OLy ,sNy +OLy
0076 DO i =1-OLx ,sNx +OLx
758c85d317 Jean* 0077 xG (i ,j ,bi ,bj ) = xGloc (i ,j )
0078 yG (i ,j ,bi ,bj ) = yGloc (i ,j )
0ac260a803 Andr* 0079 ENDDO
0080 ENDDO
0081
0082
06399abf63 Jean* 0083 DO j =1-OLy ,sNy +OLy
0084 DO i =1-OLx ,sNx +OLx
0ac260a803 Andr* 0085
758c85d317 Jean* 0086 xC (i ,j ,bi ,bj ) = 0.25 _d 0*(
0087 & xGloc (i ,j )+xGloc (i +1,j )+xGloc (i ,j +1)+xGloc (i +1,j +1) )
0088 yC (i ,j ,bi ,bj ) = 0.25 _d 0*(
0089 & yGloc (i ,j )+yGloc (i +1,j )+yGloc (i ,j +1)+yGloc (i +1,j +1) )
0ac260a803 Andr* 0090 ENDDO
0091 ENDDO
0092
0093
06399abf63 Jean* 0094 DO j =1-OLy ,sNy +OLy
0095 DO i =1-OLx ,sNx +OLx
758c85d317 Jean* 0096 thisRad = yC (i ,j ,bi ,bj )
06399abf63 Jean* 0097 dtheta = delXloc (i )
758c85d317 Jean* 0098 dxF (i ,j ,bi ,bj ) = thisRad *dtheta *deg2rad
06399abf63 Jean* 0099 dyF (i ,j ,bi ,bj ) = delYloc (j )
0ac260a803 Andr* 0100 ENDDO
0101 ENDDO
0102
0103
06399abf63 Jean* 0104 DO j =1-OLy ,sNy +OLy
0105 DO i =1-OLx ,sNx +OLx
758c85d317 Jean* 0106 thisRad = 0.5 _d 0*(yGloc (i ,j )+yGloc (i +1,j ))
06399abf63 Jean* 0107 dtheta = delXloc (i )
758c85d317 Jean* 0108 dxG (i ,j ,bi ,bj ) = thisRad *dtheta *deg2rad
06399abf63 Jean* 0109 dyG (i ,j ,bi ,bj ) = delYloc (j )
0ac260a803 Andr* 0110 ENDDO
0111 ENDDO
0112
0113
71b5d4795f Jean* 0114
0115
0ac260a803 Andr* 0116
0117
06399abf63 Jean* 0118 DO j =1-OLy ,sNy +OLy
0119 DO i =1-OLx +1,sNx +OLx
0ac260a803 Andr* 0120
758c85d317 Jean* 0121 dxC (i ,j ,bi ,bj ) = 0.5 _d 0*(dxF (i ,j ,bi ,bj )+dxF (i -1,j ,bi ,bj ))
0ac260a803 Andr* 0122 ENDDO
0123 ENDDO
0124
0125
06399abf63 Jean* 0126 DO j =1-OLy +1,sNy +OLy
0127 DO i =1-OLx ,sNx +OLx
0ac260a803 Andr* 0128
758c85d317 Jean* 0129 dyC (i ,j ,bi ,bj ) = 0.5 _d 0*(dyF (i ,j ,bi ,bj )+dyF (i ,j -1,bi ,bj ))
0ac260a803 Andr* 0130 ENDDO
0131 ENDDO
0132
0133
06399abf63 Jean* 0134 DO j =1-OLy +1,sNy +OLy
0135 DO i =1-OLx +1,sNx +OLx
0ac260a803 Andr* 0136
758c85d317 Jean* 0137 dxV (i ,j ,bi ,bj ) = 0.5 _d 0*(dxG (i ,j ,bi ,bj )+dxG (i -1,j ,bi ,bj ))
0138 dyU (i ,j ,bi ,bj ) = 0.5 _d 0*(dyG (i ,j ,bi ,bj )+dyG (i ,j -1,bi ,bj ))
0ac260a803 Andr* 0139 ENDDO
0140 ENDDO
0141
9780090eaa Jean* 0142
06399abf63 Jean* 0143 DO j =1-OLy ,sNy +OLy
0144 DO i =1-OLx ,sNx +OLx
b6aef9f254 Jean* 0145
758c85d317 Jean* 0146 rA (i ,j ,bi ,bj ) = dxF (i ,j ,bi ,bj )*dyF (i ,j ,bi ,bj )
0147 rAw (i ,j ,bi ,bj ) = dxC (i ,j ,bi ,bj )*dyG (i ,j ,bi ,bj )
0148 rAs (i ,j ,bi ,bj ) = dxG (i ,j ,bi ,bj )*dyC (i ,j ,bi ,bj )
0149 rAz (i ,j ,bi ,bj ) = dxV (i ,j ,bi ,bj )*dyU (i ,j ,bi ,bj )
b6aef9f254 Jean* 0150
71b5d4795f Jean* 0151
0152
0153
0154
0155
0ac260a803 Andr* 0156 ENDDO
0157 ENDDO
0158
06399abf63 Jean* 0159
0160 ENDDO
0161 ENDDO
f76021331f Jean* 0162
0ac260a803 Andr* 0163 RETURN
0164 END