File indexing completed on 2020-02-14 06:10:28 UTC
view on githubraw file Latest commit a2f3aac9 on 2020-02-12 20:50:31 UTC
6d54cf9ca1 Ed H*0001 #include "PACKAGES_CONFIG.h"
1dbaea09ee Chri*0002 #include "CPP_OPTIONS.h"
a74b31ee34 Alis*0003
9366854e02 Chri*0004
0005
0006
a74b31ee34 Alis*0007 SUBROUTINE INI_MASKS_ETC( myThid )
9366854e02 Chri*0008
0009
ab5a98a4ed Jean*0010
0011
9366854e02 Chri*0012
ab5a98a4ed Jean*0013
0014
0015
0016
0017
9366854e02 Chri*0018
0019
a74b31ee34 Alis*0020
9366854e02 Chri*0021
0022 IMPLICIT NONE
a74b31ee34 Alis*0023
0024 #include "SIZE.h"
0025 #include "EEPARAMS.h"
0026 #include "PARAMS.h"
0027 #include "GRID.h"
f88bbe67c4 Jean*0028 #ifdef NONLIN_FRSURF
0029 # include "SURFACE.h"
0030 #endif /* NONLIN_FRSURF */
a74b31ee34 Alis*0031
9366854e02 Chri*0032
21ab794b7f Jean*0033
a74b31ee34 Alis*0034 INTEGER myThid
0035
9366854e02 Chri*0036
21ab794b7f Jean*0037
0038
0039
dff94812d5 Jean*0040
0041
a74b31ee34 Alis*0042 INTEGER bi, bj
86566ea478 Jean*0043 INTEGER i, j, k
7b03dab2b2 jm-c 0044
dff94812d5 Jean*0045 _RL tmpVar(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
a2f3aac956 Jean*0046 _RL hFacMnSz, hFac_loc
21ab794b7f Jean*0047 _RL hFac1tmp, hFac2tmp
dff94812d5 Jean*0048 _RS rEmpty
9366854e02 Chri*0049
fb481a83c2 Alis*0050
86566ea478 Jean*0051
0052
ea3c970699 Jean*0053 #ifdef ALLOW_SHELFICE
0054 IF ( useShelfIce ) THEN
0055
0056 CALL SHELFICE_INIT_DEPTHS(
0057 U R_low, Ro_surf,
0058 I myThid )
0059 ENDIF
0060 #endif /* ALLOW_SHELFICE */
0061
f15994caab Jean*0062 IF ( selectSigmaCoord.EQ.0 ) THEN
0063
0064
21ab794b7f Jean*0065
0066
dff94812d5 Jean*0067 rEmpty = rF(1)
21ab794b7f Jean*0068 DO bj=myByLo(myThid), myByHi(myThid)
0069 DO bi=myBxLo(myThid), myBxHi(myThid)
0070 i = 1-OLx
0071 DO j=1-OLy,sNy+OLy
dff94812d5 Jean*0072 rLowW (i,j,bi,bj) = rEmpty
0073 rSurfW(i,j,bi,bj) = rEmpty
21ab794b7f Jean*0074 ENDDO
0075 j = 1-OLy
0076 DO i=1-OLx,sNx+OLx
dff94812d5 Jean*0077 rLowS (i,j,bi,bj) = rEmpty
0078 rSurfS(i,j,bi,bj) = rEmpty
21ab794b7f Jean*0079 ENDDO
0080 DO j=1-OLy,sNy+OLy
0081 DO i=2-OLx,sNx+OLx
0082 rLowW(i,j,bi,bj) =
0083 & MAX( R_low(i-1,j,bi,bj), R_low(i,j,bi,bj) )
0084 rSurfW(i,j,bi,bj) =
0085 & MIN( Ro_surf(i-1,j,bi,bj), Ro_surf(i,j,bi,bj) )
0086 ENDDO
0087 ENDDO
0088 DO j=2-OLy,sNy+OLy
0089 DO i=1-OLx,sNx+OLx
0090 rLowS(i,j,bi,bj) =
0091 & MAX( R_low(i,j-1,bi,bj), R_low(i,j,bi,bj) )
0092 rSurfS(i,j,bi,bj) =
0093 & MIN( Ro_surf(i,j-1,bi,bj), Ro_surf(i,j,bi,bj) )
0094 ENDDO
0095 ENDDO
0096 ENDDO
0097 ENDDO
0098
89a48da7c6 Alis*0099 DO bj=myByLo(myThid), myByHi(myThid)
0100 DO bi=myBxLo(myThid), myBxHi(myThid)
21ab794b7f Jean*0101
0102
0103
86566ea478 Jean*0104 DO k=1, Nr
a5212b6221 Jean*0105 hFacMnSz = MAX( hFacMin, MIN(hFacMinDr*recip_drF(k),oneRL) )
b45b3dc2f0 Jean*0106 DO j=1-OLy,sNy+OLy
0107 DO i=1-OLx,sNx+OLx
aea29c8517 Alis*0108
a2f3aac956 Jean*0109 hFac_loc = (rF(k)-R_low(i,j,bi,bj))*recip_drF(k)
aea29c8517 Alis*0110
a2f3aac956 Jean*0111 hFac_loc = MIN( MAX( hFac_loc, zeroRL ) , oneRL )
aea29c8517 Alis*0112
a2f3aac956 Jean*0113 IF ( hFac_loc.LT.hFacMnSz*halfRL .OR.
36941d6f03 Jean*0114 & R_low(i,j,bi,bj).GE.Ro_surf(i,j,bi,bj) ) THEN
a2f3aac956 Jean*0115 hFacC(i,j,k,bi,bj) = zeroRS
aea29c8517 Alis*0116 ELSE
a2f3aac956 Jean*0117 hFacC(i,j,k,bi,bj) = MAX( hFac_loc, hFacMnSz )
89a48da7c6 Alis*0118 ENDIF
0119 ENDDO
0120 ENDDO
0121 ENDDO
aea29c8517 Alis*0122
86566ea478 Jean*0123
b45b3dc2f0 Jean*0124 DO j=1-OLy,sNy+OLy
0125 DO i=1-OLx,sNx+OLx
a2f3aac956 Jean*0126 tmpVar(i,j) = 0. _d 0
bbebcf4c4e Mart*0127 ENDDO
0128 ENDDO
21ab794b7f Jean*0129 DO k=1,Nr
b45b3dc2f0 Jean*0130 DO j=1-OLy,sNy+OLy
0131 DO i=1-OLx,sNx+OLx
dff94812d5 Jean*0132 tmpVar(i,j) = tmpVar(i,j) + drF(k)*hFacC(i,j,k,bi,bj)
aea29c8517 Alis*0133 ENDDO
0134 ENDDO
0135 ENDDO
21ab794b7f Jean*0136 DO j=1-OLy,sNy+OLy
0137 DO i=1-OLx,sNx+OLx
dff94812d5 Jean*0138 R_low(i,j,bi,bj) = rF(1) - tmpVar(i,j)
21ab794b7f Jean*0139 ENDDO
0140 ENDDO
c712b7e80b Chri*0141
86566ea478 Jean*0142
0143
0144 DO k=1, Nr
a5212b6221 Jean*0145 hFacMnSz = MAX( hFacMin, MIN(hFacMinDr*recip_drF(k),oneRL) )
b45b3dc2f0 Jean*0146 DO j=1-OLy,sNy+OLy
0147 DO i=1-OLx,sNx+OLx
aea29c8517 Alis*0148
a2f3aac956 Jean*0149 hFac_loc = (rF(k)-Ro_surf(i,j,bi,bj))*recip_drF(k)
aea29c8517 Alis*0150
a2f3aac956 Jean*0151 hFac_loc = hFacC(i,j,k,bi,bj) - MAX( hFac_loc, zeroRL )
aea29c8517 Alis*0152
a2f3aac956 Jean*0153 hFac_loc = MAX( hFac_loc, zeroRL )
aea29c8517 Alis*0154
a2f3aac956 Jean*0155 IF ( hFac_loc.LT.hFacMnSz*halfRL ) THEN
0156 hFacC(i,j,k,bi,bj) = zeroRS
aea29c8517 Alis*0157 ELSE
a2f3aac956 Jean*0158 hFacC(i,j,k,bi,bj) = MAX( hFac_loc, hFacMnSz )
aea29c8517 Alis*0159 ENDIF
0160 ENDDO
0161 ENDDO
0162 ENDDO
a6cbc7a360 Mart*0163
86566ea478 Jean*0164
0165
0166
b45b3dc2f0 Jean*0167 DO j=1-OLy,sNy+OLy
0168 DO i=1-OLx,sNx+OLx
a2f3aac956 Jean*0169 tmpVar(i,j) = 0. _d 0
86566ea478 Jean*0170 kSurfC(i,j,bi,bj) = Nr+1
21ab794b7f Jean*0171 kLowC (i,j,bi,bj) = 0
0172 ENDDO
0173 ENDDO
0174 DO k=1,Nr
0175 DO j=1-OLy,sNy+OLy
0176 DO i=1-OLx,sNx+OLx
dff94812d5 Jean*0177 tmpVar(i,j) = tmpVar(i,j) + drF(k)*hFacC(i,j,k,bi,bj)
21ab794b7f Jean*0178 IF ( hFacC(i,j,k,bi,bj).NE.zeroRS ) kLowC(i,j,bi,bj) = k
ab42872a05 Alis*0179 ENDDO
21ab794b7f Jean*0180 ENDDO
0181 ENDDO
0182 DO k=Nr,1,-1
0183 DO j=1-OLy,sNy+OLy
0184 DO i=1-OLx,sNx+OLx
0185 IF ( hFacC(i,j,k,bi,bj).NE.zeroRS ) kSurfC(i,j,bi,bj) = k
60c223928f Mart*0186 ENDDO
21ab794b7f Jean*0187 ENDDO
0188 ENDDO
0189 DO j=1-OLy,sNy+OLy
0190 DO i=1-OLx,sNx+OLx
dff94812d5 Jean*0191 Ro_surf(i,j,bi,bj) = R_low(i,j,bi,bj) + tmpVar(i,j)
a5212b6221 Jean*0192 maskInC(i,j,bi,bj) = 0.
0193 IF ( kSurfC(i,j,bi,bj).LE.Nr ) maskInC(i,j,bi,bj) = 1.
7b03dab2b2 jm-c 0194
0195
ab42872a05 Alis*0196 ENDDO
0197 ENDDO
21ab794b7f Jean*0198
86566ea478 Jean*0199
ab42872a05 Alis*0200 ENDDO
0201 ENDDO
aea29c8517 Alis*0202
337b46d524 Jean*0203 IF ( plotLevel.GE.debLevB ) THEN
ea3c970699 Jean*0204
322e3ca99c Jean*0205
137309e213 Jean*0206 CALL PLOT_FIELD_XYRS(R_low,
322e3ca99c Jean*0207 & 'Model R_low (ini_masks_etc)', -1, myThid )
137309e213 Jean*0208 CALL PLOT_FIELD_XYRS(Ro_surf,
322e3ca99c Jean*0209 & 'Model Ro_surf (ini_masks_etc)', -1, myThid )
137309e213 Jean*0210 ENDIF
ab42872a05 Alis*0211
21ab794b7f Jean*0212
0213
ab42872a05 Alis*0214 DO bj = myByLo(myThid), myByHi(myThid)
0215 DO bi = myBxLo(myThid), myBxHi(myThid)
21ab794b7f Jean*0216
0217
b45b3dc2f0 Jean*0218 DO j=1-OLy,sNy+OLy
0219 DO i=1-OLx,sNx+OLx
aea29c8517 Alis*0220
dff94812d5 Jean*0221 tmpVar(i,j) = Ro_surf(i,j,bi,bj) - R_low(i,j,bi,bj)
0222
aea29c8517 Alis*0223
dff94812d5 Jean*0224 IF ( tmpVar(i,j) .LE. zeroRL ) THEN
a2f3aac956 Jean*0225 recip_Rcol(i,j,bi,bj) = zeroRS
ab42872a05 Alis*0226 ELSE
dff94812d5 Jean*0227 recip_Rcol(i,j,bi,bj) = 1. _d 0 / tmpVar(i,j)
ab42872a05 Alis*0228 ENDIF
0229 ENDDO
0230 ENDDO
0231
db15b951f3 Jean*0232
0233
0234
0235
0236
0237
0238
0239
21ab794b7f Jean*0240 IF ( useMin4hFacEdges ) THEN
0241
0242
a5212b6221 Jean*0243
21ab794b7f Jean*0244 DO k=1, Nr
0245 DO j=1-OLy,sNy+OLy
a2f3aac956 Jean*0246 hFacW(1-OLx,j,k,bi,bj) = zeroRS
21ab794b7f Jean*0247 DO i=2-OLx,sNx+OLx
0248 hFacW(i,j,k,bi,bj) =
0249 & MIN( hFacC(i,j,k,bi,bj), hFacC(i-1,j,k,bi,bj) )
0250 ENDDO
0251 ENDDO
0252 DO i=1-OLx,sNx+OLx
a2f3aac956 Jean*0253 hFacS(i,1-OLy,k,bi,bj) = zeroRS
21ab794b7f Jean*0254 ENDDO
0255 DO j=2-OLy,sNy+OLy
0256 DO i=1-OLx,sNx+OLx
0257 hFacS(i,j,k,bi,bj) =
0258 & MIN( hFacC(i,j,k,bi,bj), hFacC(i,j-1,k,bi,bj) )
0259 ENDDO
0260 ENDDO
0261 ENDDO
0262
0263 ELSE
0264
0265
0266
0267
0268 DO k=1, Nr
0269 hFacMnSz = MAX( hFacMin, MIN(hFacMinDr*recip_drF(k),oneRL) )
0270 DO j=1-OLy,sNy+OLy
0271 DO i=1-OLx,sNx+OLx
0272
0273 hFac1tmp = ( rF(k) - rLowW(i,j,bi,bj) )*recip_drF(k)
a2f3aac956 Jean*0274 hFac_loc = MIN( hFac1tmp, oneRL )
0275
21ab794b7f Jean*0276
a2f3aac956 Jean*0277 IF ( hFac_loc.LT.hFacMnSz*halfRL .OR.
36941d6f03 Jean*0278 & rLowW(i,j,bi,bj).GE.rSurfW(i,j,bi,bj) ) THEN
a2f3aac956 Jean*0279 hFac1tmp = 0. _d 0
21ab794b7f Jean*0280 ELSE
a2f3aac956 Jean*0281 hFac1tmp = MAX( hFac_loc, hFacMnSz )
21ab794b7f Jean*0282 ENDIF
0283
0284
0285 hFac2tmp = ( rF(k) -rSurfW(i,j,bi,bj) )*recip_drF(k)
a2f3aac956 Jean*0286 hFac_loc = hFac1tmp - MAX( hFac2tmp, zeroRL )
21ab794b7f Jean*0287
a2f3aac956 Jean*0288 IF ( hFac_loc.LT.hFacMnSz*halfRL ) THEN
0289 hFacW(i,j,k,bi,bj) = zeroRS
21ab794b7f Jean*0290 ELSE
a2f3aac956 Jean*0291 hFacW(i,j,k,bi,bj) = MAX( hFac_loc, hFacMnSz )
21ab794b7f Jean*0292 ENDIF
0293 ENDDO
0294 ENDDO
0295 DO j=1-OLy,sNy+OLy
0296 DO i=1-OLx,sNx+OLx
0297
0298 hFac1tmp = ( rF(k) - rLowS(i,j,bi,bj) )*recip_drF(k)
a2f3aac956 Jean*0299 hFac_loc = MIN( hFac1tmp, oneRL )
0300
21ab794b7f Jean*0301
a2f3aac956 Jean*0302 IF ( hFac_loc.LT.hFacMnSz*halfRL .OR.
36941d6f03 Jean*0303 & rLowS(i,j,bi,bj).GE.rSurfS(i,j,bi,bj) ) THEN
a2f3aac956 Jean*0304 hFac1tmp = 0. _d 0
21ab794b7f Jean*0305 ELSE
a2f3aac956 Jean*0306 hFac1tmp = MAX( hFac_loc, hFacMnSz )
21ab794b7f Jean*0307 ENDIF
0308
0309
0310 hFac2tmp = ( rF(k) -rSurfS(i,j,bi,bj) )*recip_drF(k)
a2f3aac956 Jean*0311 hFac_loc = hFac1tmp - MAX( hFac2tmp, zeroRL )
21ab794b7f Jean*0312
a2f3aac956 Jean*0313 IF ( hFac_loc.LT.hFacMnSz*halfRL ) THEN
0314 hFacS(i,j,k,bi,bj) = zeroRS
21ab794b7f Jean*0315 ELSE
a2f3aac956 Jean*0316 hFacS(i,j,k,bi,bj) = MAX( hFac_loc, hFacMnSz )
21ab794b7f Jean*0317 ENDIF
0318 ENDDO
0319 ENDDO
0320 ENDDO
0321 ENDIF
0322
0323
0324
0325
0326
b45b3dc2f0 Jean*0327 DO j=1-OLy,sNy+OLy
0328 DO i=2-OLx,sNx+OLx
a239fc1811 Jean*0329 rLowW(i,j,bi,bj) =
0330 & MAX( R_low(i-1,j,bi,bj), R_low(i,j,bi,bj) )
f88bbe67c4 Jean*0331 rSurfW(i,j,bi,bj) =
0332 & MIN( Ro_surf(i-1,j,bi,bj), Ro_surf(i,j,bi,bj) )
0333 rSurfW(i,j,bi,bj) =
0334 & MAX( rSurfW(i,j,bi,bj), rLowW(i,j,bi,bj) )
a239fc1811 Jean*0335 ENDDO
0336 ENDDO
b45b3dc2f0 Jean*0337 DO j=2-OLy,sNy+OLy
0338 DO i=1-OLx,sNx+OLx
a239fc1811 Jean*0339 rLowS(i,j,bi,bj) =
0340 & MAX( R_low(i,j-1,bi,bj), R_low(i,j,bi,bj) )
f88bbe67c4 Jean*0341 rSurfS(i,j,bi,bj) =
0342 & MIN( Ro_surf(i,j-1,bi,bj), Ro_surf(i,j,bi,bj) )
0343 rSurfS(i,j,bi,bj) =
0344 & MAX( rSurfS(i,j,bi,bj), rLowS(i,j,bi,bj) )
a239fc1811 Jean*0345 ENDDO
0346 ENDDO
a5212b6221 Jean*0347
db15b951f3 Jean*0348
dff94812d5 Jean*0349
21ab794b7f Jean*0350
0351
dff94812d5 Jean*0352
a5212b6221 Jean*0353 DO j=1-OLy,sNy+OLy
0354 DO i=1-OLx,sNx+OLx
dff94812d5 Jean*0355 tmpVar(i,j) = 0. _d 0
a5212b6221 Jean*0356 ENDDO
0357 ENDDO
21ab794b7f Jean*0358 DO k=1,Nr
a5212b6221 Jean*0359 DO j=1-OLy,sNy+OLy
0360 DO i=1-OLx,sNx+OLx
dff94812d5 Jean*0361 tmpVar(i,j) = tmpVar(i,j) + drF(k)*hFacW(i,j,k,bi,bj)
a5212b6221 Jean*0362 ENDDO
0363 ENDDO
21ab794b7f Jean*0364 ENDDO
dff94812d5 Jean*0365
0366 DO j=1-OLy,sNy+OLy
0367 DO i=1-OLx,sNx+OLx
0368 rSurfW(i,j,bi,bj) = rLowW(i,j,bi,bj) + tmpVar(i,j)
0369 ENDDO
0370 ENDDO
21ab794b7f Jean*0371
dff94812d5 Jean*0372
0373 DO j=1-OLy,sNy+OLy
0374 DO i=1-OLx,sNx+OLx
0375 tmpVar(i,j) = 0. _d 0
0376 ENDDO
0377 ENDDO
0378 DO k=1,Nr
0379 DO j=1-OLy,sNy+OLy
0380 DO i=1-OLx,sNx+OLx
0381 tmpVar(i,j) = tmpVar(i,j) + drF(k)*hFacS(i,j,k,bi,bj)
21ab794b7f Jean*0382 ENDDO
dff94812d5 Jean*0383 ENDDO
0384 ENDDO
0385
0386 DO j=1-OLy,sNy+OLy
0387 DO i=1-OLx,sNx+OLx
0388 rSurfS(i,j,bi,bj) = rLowS(i,j,bi,bj) + tmpVar(i,j)
0389 ENDDO
0390 ENDDO
21ab794b7f Jean*0391
0392
db15b951f3 Jean*0393
a5212b6221 Jean*0394
86566ea478 Jean*0395
a239fc1811 Jean*0396 ENDDO
0397 ENDDO
21ab794b7f Jean*0398
a5212b6221 Jean*0399 CALL EXCH_UV_XYZ_RS( hFacW, hFacS, .FALSE., myThid )
a239fc1811 Jean*0400 CALL EXCH_UV_XY_RS( rSurfW, rSurfS, .FALSE., myThid )
ea3c970699 Jean*0401 CALL EXCH_UV_XY_RS( rLowW, rLowS, .FALSE., myThid )
a239fc1811 Jean*0402
86566ea478 Jean*0403
0404 DO bj=myByLo(myThid), myByHi(myThid)
0405 DO bi=myBxLo(myThid), myBxHi(myThid)
b45b3dc2f0 Jean*0406 DO j=1-OLy,sNy+OLy
0407 DO i=1-OLx,sNx+OLx
86566ea478 Jean*0408 kSurfW(i,j,bi,bj) = Nr+1
0409 kSurfS(i,j,bi,bj) = Nr+1
0410 DO k=Nr,1,-1
a5212b6221 Jean*0411 IF (hFacW(i,j,k,bi,bj).NE.zeroRS) kSurfW(i,j,bi,bj) = k
0412 IF (hFacS(i,j,k,bi,bj).NE.zeroRS) kSurfS(i,j,bi,bj) = k
86566ea478 Jean*0413 ENDDO
a2f3aac956 Jean*0414 maskInW(i,j,bi,bj)= zeroRS
0415 IF ( kSurfW(i,j,bi,bj).LE.Nr ) maskInW(i,j,bi,bj)= oneRS
0416 maskInS(i,j,bi,bj)= zeroRS
0417 IF ( kSurfS(i,j,bi,bj).LE.Nr ) maskInS(i,j,bi,bj)= oneRS
86566ea478 Jean*0418 ENDDO
0419 ENDDO
0420 ENDDO
0421 ENDDO
0422
dff94812d5 Jean*0423
0424
0425
0426
0427 CALL ADD_WALLS2MASKS( rEmpty, myThid )
0428
f15994caab Jean*0429 ELSE
0430 #ifndef DISABLE_SIGMA_CODE
0431
0432 CALL INI_SIGMA_HFAC( myThid )
0433 #endif /* DISABLE_SIGMA_CODE */
0434 ENDIF
0435
86566ea478 Jean*0436
0437
0438
f4a7634227 Alis*0439
ea3c970699 Jean*0440
f4a7634227 Alis*0441
0442
0443
27d8b2bb9c Jean*0444
337b46d524 Jean*0445 IF ( plotLevel.GE.debLevB ) THEN
322e3ca99c Jean*0446 CALL PLOT_FIELD_XYZRS( hFacC, 'hFacC' , Nr, 0, myThid )
0447 CALL PLOT_FIELD_XYZRS( hFacW, 'hFacW' , Nr, 0, myThid )
0448 CALL PLOT_FIELD_XYZRS( hFacS, 'hFacS' , Nr, 0, myThid )
137309e213 Jean*0449 ENDIF
a74b31ee34 Alis*0450
86566ea478 Jean*0451
a74b31ee34 Alis*0452 DO bj = myByLo(myThid), myByHi(myThid)
0453 DO bi = myBxLo(myThid), myBxHi(myThid)
86566ea478 Jean*0454 DO k=1,Nr
b45b3dc2f0 Jean*0455 DO j=1-OLy,sNy+OLy
0456 DO i=1-OLx,sNx+OLx
a5212b6221 Jean*0457 IF ( hFacC(i,j,k,bi,bj).NE.zeroRS ) THEN
86566ea478 Jean*0458 recip_hFacC(i,j,k,bi,bj) = 1. _d 0 / hFacC(i,j,k,bi,bj)
a2f3aac956 Jean*0459 maskC(i,j,k,bi,bj) = oneRS
a74b31ee34 Alis*0460 ELSE
a2f3aac956 Jean*0461 recip_hFacC(i,j,k,bi,bj) = zeroRS
0462 maskC(i,j,k,bi,bj) = zeroRS
a74b31ee34 Alis*0463 ENDIF
a5212b6221 Jean*0464 IF ( hFacW(i,j,k,bi,bj).NE.zeroRS ) THEN
86566ea478 Jean*0465 recip_hFacW(i,j,k,bi,bj) = 1. _d 0 / hFacW(i,j,k,bi,bj)
a2f3aac956 Jean*0466 maskW(i,j,k,bi,bj) = oneRS
a74b31ee34 Alis*0467 ELSE
a2f3aac956 Jean*0468 recip_hFacW(i,j,k,bi,bj) = zeroRS
0469 maskW(i,j,k,bi,bj) = zeroRS
a74b31ee34 Alis*0470 ENDIF
a5212b6221 Jean*0471 IF ( hFacS(i,j,k,bi,bj).NE.zeroRS ) THEN
86566ea478 Jean*0472 recip_hFacS(i,j,k,bi,bj) = 1. _d 0 / hFacS(i,j,k,bi,bj)
a2f3aac956 Jean*0473 maskS(i,j,k,bi,bj) = oneRS
a74b31ee34 Alis*0474 ELSE
a2f3aac956 Jean*0475 recip_hFacS(i,j,k,bi,bj) = zeroRS
0476 maskS(i,j,k,bi,bj) = zeroRS
a74b31ee34 Alis*0477 ENDIF
0478 ENDDO
0479 ENDDO
0480 ENDDO
adc74f71dd Jean*0481 #ifdef NONLIN_FRSURF
0482
0483
0484
0485 DO k=1,Nr
0486 DO j=1-OLy,sNy+OLy
0487 DO i=1-OLx,sNx+OLx
0488 h0FacC(i,j,k,bi,bj) = _hFacC(i,j,k,bi,bj)
0489 h0FacW(i,j,k,bi,bj) = _hFacW(i,j,k,bi,bj)
0490 h0FacS(i,j,k,bi,bj) = _hFacS(i,j,k,bi,bj)
0491 ENDDO
0492 ENDDO
0493 ENDDO
0494 #endif /* NONLIN_FRSURF */
86566ea478 Jean*0495
a74b31ee34 Alis*0496 ENDDO
0497 ENDDO
0498
ab5a98a4ed Jean*0499
0500
d34bd75e92 Jean*0501
ab5a98a4ed Jean*0502
0503
a74b31ee34 Alis*0504 RETURN
0505 END