Changeset 435 for trunk/SRC/Grid/computegrid.pro
- Timestamp:
- 06/23/10 10:06:05 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/Grid/computegrid.pro
r421 r435 1109 1109 ; 1110 1110 IF jpi GT 2 AND jpj GT 2 AND NOT keyword_set(plain) $ 1111 AND ixminmesh EQ 0l AND ixmaxmesh eq jpiglo-1 $1112 AND iyminmesh EQ 0l AND iymaxmesh eq jpjglo-1 $1111 ;; AND ixminmesh EQ 0l AND ixmaxmesh eq jpiglo-1 $ 1112 ;; AND iyminmesh EQ 0l AND iymaxmesh eq jpjglo-1 $ 1113 1113 AND total(tmask[*, 0, *]) EQ 0 AND total(tmask[*, jpj-1, *]) EQ 0 $ 1114 1114 AND total(tmask[0, *, *]) EQ 0 AND total(tmask[jpi-1, *, *]) EQ 0 THEN BEGIN 1115 xminmesh = 1 1116 xmaxmesh = -1 1117 yminmesh = 1 1118 ymaxmesh = -1 1119 computegrid, XAXIS = glamt, YAXIS = gphit, ZAXIS = zaxis $ 1120 , MASK = mask, GLAMBOUNDARY = glamboundary $ 1121 , XMINMESH = xminmesh, XMAXMESH = xmaxmesh $ 1122 , YMINMESH = yminmesh, YMAXMESH = ymaxmesh $ 1123 , ZMINMESH = zminmesh, ZMAXMESH = zmaxmesh $ 1124 , ONEARTH = onearth, PERIODIC = periodic $ 1125 , PLAIN = plain, SHIFT = shift, STRIDE = stride $ 1126 , FULLCGRID = fullcgrid, XYINDEX = xyindex $ 1127 , UBASE2TBASE = ubase2tbase, VBASE2TBASE = vbase2tbase $ 1128 , FBASE2TBASE = fbase2tbase, STRCALLING = strcalling $ 1129 , ROMSH = romsh, _extra = ex 1130 return 1115 IF NOT keyword_set(key_periodic) THEN BEGIN 1116 xminmesh = ixminmesh + 1 1117 xmaxmesh = ixmaxmesh - 1 1118 ENDIF 1119 yminmesh = iyminmesh + 1 1120 ymaxmesh = iymaxmesh - 1 1121 ; come back to the original grid before calling computegrid with the 1122 ; new parameters... 1123 IF keyword_set(yreverse) THEN BEGIN 1124 gphit = reverse(gphit, 2) 1125 glamt = reverse(glamt, 2) 1126 tmask = reverse(tmask, 2) 1127 IF jpk EQ 1 THEN tmask = reform(tmask, jpi, jpj, jpk, /over) 1128 ENDIF 1129 IF keyword_set(zreverse) THEN BEGIN 1130 zaxis = reverse(zaxis) 1131 tmask = reverse(tmask, 3) 1132 IF jpk EQ 1 THEN tmask = reform(tmask, jpi, jpj, jpk, /over) 1133 ENDIF 1134 IF key_shift NE 0 THEN BEGIN 1135 glamt = shift(glamt, -key_shift, 0) 1136 gphit = shift(gphit, -key_shift, 0) 1137 tmask = shift(tmask, -key_shift, 0, 0) 1138 IF jpk EQ 1 THEN tmask = reform(tmask, jpi, jpj, jpk, /over) 1139 ENDIF 1140 IF ixminmesh NE 0 THEN BEGIN 1141 glamt = [fltarr(ixminmesh, jpj), glamt] 1142 gphit = [fltarr(ixminmesh, jpj), gphit] 1143 tmask = [fltarr(ixminmesh, jpj), tmask] 1144 jpi = jpi+ixminmesh 1145 IF jpk EQ 1 THEN tmask = reform(tmask, jpi, jpj, jpk, /over) 1146 ENDIF 1147 IF ixmaxmesh NE jpiglo-1 THEN BEGIN 1148 glamt = [glamt, fltarr(jpiglo-1-ixmaxmesh, jpj)] 1149 gphit = [gphit, fltarr(jpiglo-1-ixmaxmesh, jpj)] 1150 tmask = [tmask, fltarr(jpiglo-1-ixmaxmesh, jpj)] 1151 jpi = jpi+jpiglo-1-ixmaxmesh 1152 IF jpk EQ 1 THEN tmask = reform(tmask, jpi, jpj, jpk, /over) 1153 ENDIF 1154 IF iyminmesh NE 0 THEN BEGIN 1155 glamt = [[fltarr(jpi, iyminmesh)], [glamt]] 1156 gphit = [[fltarr(jpi, iyminmesh)], [gphit]] 1157 tmask = [[fltarr(jpi, iyminmesh)], [tmask]] 1158 jpj = jpj+iyminmesh 1159 IF jpk EQ 1 THEN tmask = reform(tmask, jpi, jpj, jpk, /over) 1160 ENDIF 1161 IF iymaxmesh NE jpjglo-1 THEN BEGIN 1162 glamt = [[glamt], [fltarr(jpi, jpjglo-1-iymaxmesh)]] 1163 gphit = [[gphit], [fltarr(jpi, jpjglo-1-iymaxmesh)]] 1164 tmask = [[tmask], [fltarr(jpi, jpjglo-1-iymaxmesh)]] 1165 jpj = jpj+jpjglo-1-iymaxmesh 1166 IF jpk EQ 1 THEN tmask = reform(tmask, jpi, jpj, jpk, /over) 1167 ENDIF 1168 computegrid, XAXIS = glamt, YAXIS = gphit, ZAXIS = zaxis $ 1169 , MASK = tmask, GLAMBOUNDARY = glamboundary $ 1170 , XMINMESH = xminmesh, XMAXMESH = xmaxmesh $ 1171 , YMINMESH = yminmesh, YMAXMESH = ymaxmesh $ 1172 , ZMINMESH = zminmesh, ZMAXMESH = zmaxmesh $ 1173 , ONEARTH = onearth, PERIODIC = key_periodic $ 1174 , PLAIN = plain, SHIFT = key_shift, STRIDE = key_stride $ 1175 , FULLCGRID = fullcgrid, XYINDEX = xyindex $ 1176 , UBASE2TBASE = ubase2tbase, VBASE2TBASE = vbase2tbase $ 1177 , FBASE2TBASE = fbase2tbase, STRCALLING = strcalling $ 1178 , ROMSH = romsh, _extra = ex 1179 return 1131 1180 ENDIF 1132 1181 ;
Note: See TracChangeset
for help on using the changeset viewer.