Changeset 10954 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/traldf_triad.F90
- Timestamp:
- 2019-05-09T18:12:29+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/traldf_triad.F90
r10922 r10954 143 143 DO jj = 1, jpjm1 144 144 DO ji = 1, fs_jpim1 145 ze3wr = 1._wp / e3w _n(ji+ip,jj,jk+kp)146 zbu = e1e2u(ji,jj) * e3u _n(ji,jj,jk)145 ze3wr = 1._wp / e3w(ji+ip,jj,jk+kp,Kmm) 146 zbu = e1e2u(ji,jj) * e3u(ji,jj,jk,Kmm) 147 147 zah = 0.25_wp * pahu(ji,jj,jk) 148 148 zslope_skew = triadi_g(ji+ip,jj,jk,1-ip,kp) 149 149 ! Subtract s-coordinate slope at t-points to give slope rel to s-surfaces (do this by *adding* gradient of depth) 150 zslope2 = zslope_skew + ( gdept _n(ji+1,jj,jk) - gdept_n(ji,jj,jk) ) * r1_e1u(ji,jj) * umask(ji,jj,jk+kp)150 zslope2 = zslope_skew + ( gdept(ji+1,jj,jk,Kmm) - gdept(ji,jj,jk,Kmm) ) * r1_e1u(ji,jj) * umask(ji,jj,jk+kp) 151 151 zslope2 = zslope2 *zslope2 152 152 ah_wslp2(ji+ip,jj,jk+kp) = ah_wslp2(ji+ip,jj,jk+kp) + zah * zbu * ze3wr * r1_e1e2t(ji+ip,jj) * zslope2 … … 167 167 DO jj = 1, jpjm1 168 168 DO ji = 1, fs_jpim1 169 ze3wr = 1.0_wp / e3w _n(ji,jj+jp,jk+kp)170 zbv = e1e2v(ji,jj) * e3v _n(ji,jj,jk)169 ze3wr = 1.0_wp / e3w(ji,jj+jp,jk+kp,Kmm) 170 zbv = e1e2v(ji,jj) * e3v(ji,jj,jk,Kmm) 171 171 zah = 0.25_wp * pahv(ji,jj,jk) 172 172 zslope_skew = triadj_g(ji,jj+jp,jk,1-jp,kp) 173 173 ! Subtract s-coordinate slope at t-points to give slope rel to s surfaces 174 174 ! (do this by *adding* gradient of depth) 175 zslope2 = zslope_skew + ( gdept _n(ji,jj+1,jk) - gdept_n(ji,jj,jk) ) * r1_e2v(ji,jj) * vmask(ji,jj,jk+kp)175 zslope2 = zslope_skew + ( gdept(ji,jj+1,jk,Kmm) - gdept(ji,jj,jk,Kmm) ) * r1_e2v(ji,jj) * vmask(ji,jj,jk+kp) 176 176 zslope2 = zslope2 * zslope2 177 177 ah_wslp2(ji,jj+jp,jk+kp) = ah_wslp2(ji,jj+jp,jk+kp) + zah * zbv * ze3wr * r1_e1e2t(ji,jj+jp) * zslope2 … … 194 194 DO ji = 1, fs_jpim1 195 195 akz(ji,jj,jk) = 16._wp * ah_wslp2(ji,jj,jk) & 196 & * ( akz(ji,jj,jk) + ah_wslp2(ji,jj,jk) / ( e3w _n(ji,jj,jk) * e3w_n(ji,jj,jk) ) )196 & * ( akz(ji,jj,jk) + ah_wslp2(ji,jj,jk) / ( e3w(ji,jj,jk,Kmm) * e3w(ji,jj,jk,Kmm) ) ) 197 197 END DO 198 198 END DO … … 202 202 DO jj = 1, jpjm1 203 203 DO ji = 1, fs_jpim1 204 ze3w_2 = e3w _n(ji,jj,jk) * e3w_n(ji,jj,jk)204 ze3w_2 = e3w(ji,jj,jk,Kmm) * e3w(ji,jj,jk,Kmm) 205 205 zcoef0 = z2dt * ( akz(ji,jj,jk) + ah_wslp2(ji,jj,jk) / ze3w_2 ) 206 206 akz(ji,jj,jk) = MAX( zcoef0 - 0.5_wp , 0._wp ) * ze3w_2 * z1_2dt … … 274 274 ze1ur = r1_e1u(ji,jj) 275 275 zdxt = zdit(ji,jj,jk) * ze1ur 276 ze3wr = 1._wp / e3w _n(ji+ip,jj,jk+kp)276 ze3wr = 1._wp / e3w(ji+ip,jj,jk+kp,Kmm) 277 277 zdzt = zdkt3d(ji+ip,jj,kp) * ze3wr 278 278 zslope_skew = triadi_g(ji+ip,jj,jk,1-ip,kp) 279 279 zslope_iso = triadi (ji+ip,jj,jk,1-ip,kp) 280 280 ! 281 zbu = 0.25_wp * e1e2u(ji,jj) * e3u _n(ji,jj,jk)281 zbu = 0.25_wp * e1e2u(ji,jj) * e3u(ji,jj,jk,Kmm) 282 282 ! ln_botmix_triad is .T. don't mask zah for bottom half cells !!gm ????? ahu is masked.... 283 283 zah = pahu(ji,jj,jk) … … 297 297 ze2vr = r1_e2v(ji,jj) 298 298 zdyt = zdjt(ji,jj,jk) * ze2vr 299 ze3wr = 1._wp / e3w _n(ji,jj+jp,jk+kp)299 ze3wr = 1._wp / e3w(ji,jj+jp,jk+kp,Kmm) 300 300 zdzt = zdkt3d(ji,jj+jp,kp) * ze3wr 301 301 zslope_skew = triadj_g(ji,jj+jp,jk,1-jp,kp) 302 302 zslope_iso = triadj(ji,jj+jp,jk,1-jp,kp) 303 zbv = 0.25_wp * e1e2v(ji,jj) * e3v _n(ji,jj,jk)303 zbv = 0.25_wp * e1e2v(ji,jj) * e3v(ji,jj,jk,Kmm) 304 304 ! ln_botmix_triad is .T. don't mask zah for bottom half cells !!gm ????? ahv is masked... 305 305 zah = pahv(ji,jj,jk) … … 321 321 ze1ur = r1_e1u(ji,jj) 322 322 zdxt = zdit(ji,jj,jk) * ze1ur 323 ze3wr = 1._wp / e3w _n(ji+ip,jj,jk+kp)323 ze3wr = 1._wp / e3w(ji+ip,jj,jk+kp,Kmm) 324 324 zdzt = zdkt3d(ji+ip,jj,kp) * ze3wr 325 325 zslope_skew = triadi_g(ji+ip,jj,jk,1-ip,kp) 326 326 zslope_iso = triadi(ji+ip,jj,jk,1-ip,kp) 327 327 ! 328 zbu = 0.25_wp * e1e2u(ji,jj) * e3u _n(ji,jj,jk)328 zbu = 0.25_wp * e1e2u(ji,jj) * e3u(ji,jj,jk,Kmm) 329 329 ! ln_botmix_triad is .F. mask zah for bottom half cells 330 330 zah = pahu(ji,jj,jk) * umask(ji,jj,jk+kp) ! pahu(ji+ip,jj,jk) ===>> ???? … … 344 344 ze2vr = r1_e2v(ji,jj) 345 345 zdyt = zdjt(ji,jj,jk) * ze2vr 346 ze3wr = 1._wp / e3w _n(ji,jj+jp,jk+kp)346 ze3wr = 1._wp / e3w(ji,jj+jp,jk+kp,Kmm) 347 347 zdzt = zdkt3d(ji,jj+jp,kp) * ze3wr 348 348 zslope_skew = triadj_g(ji,jj+jp,jk,1-jp,kp) 349 349 zslope_iso = triadj(ji,jj+jp,jk,1-jp,kp) 350 zbv = 0.25_wp * e1e2v(ji,jj) * e3v _n(ji,jj,jk)350 zbv = 0.25_wp * e1e2v(ji,jj) * e3v(ji,jj,jk,Kmm) 351 351 ! ln_botmix_triad is .F. mask zah for bottom half cells 352 352 zah = pahv(ji,jj,jk) * vmask(ji,jj,jk+kp) ! pahv(ji,jj+jp,jk) ???? … … 365 365 pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + zsign * ( zftu(ji-1,jj,jk) - zftu(ji,jj,jk) & 366 366 & + zftv(ji,jj-1,jk) - zftv(ji,jj,jk) ) & 367 & / ( e1e2t(ji,jj) * e3t _n(ji,jj,jk) )367 & / ( e1e2t(ji,jj) * e3t(ji,jj,jk,Kmm) ) 368 368 END DO 369 369 END DO … … 376 376 DO jj = 1, jpjm1 377 377 DO ji = fs_2, fs_jpim1 378 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) - e1e2t(ji,jj) / e3w _n(ji,jj,jk) * tmask(ji,jj,jk) &378 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) - e1e2t(ji,jj) / e3w(ji,jj,jk,Kmm) * tmask(ji,jj,jk) & 379 379 & * ( ah_wslp2(ji,jj,jk) - akz(ji,jj,jk) ) & 380 380 & * ( ptb(ji,jj,jk-1,jn) - ptb(ji,jj,jk,jn) ) … … 388 388 DO jj = 1, jpjm1 389 389 DO ji = fs_2, fs_jpim1 390 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) - e1e2t(ji,jj) / e3w _n(ji,jj,jk) * tmask(ji,jj,jk) &390 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) - e1e2t(ji,jj) / e3w(ji,jj,jk,Kmm) * tmask(ji,jj,jk) & 391 391 & * ah_wslp2(ji,jj,jk) * ( ptb(ji,jj,jk-1,jn) - ptb(ji,jj,jk,jn) ) 392 392 END DO … … 397 397 DO jj = 1, jpjm1 398 398 DO ji = fs_2, fs_jpim1 399 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) - e1e2t(ji,jj) / e3w _n(ji,jj,jk) * tmask(ji,jj,jk) &399 ztfw(ji,jj,jk) = ztfw(ji,jj,jk) - e1e2t(ji,jj) / e3w(ji,jj,jk,Kmm) * tmask(ji,jj,jk) & 400 400 & * ( ah_wslp2(ji,jj,jk) * ( ptb (ji,jj,jk-1,jn) - ptb (ji,jj,jk,jn) ) & 401 401 & + akz (ji,jj,jk) * ( ptbb(ji,jj,jk-1,jn) - ptbb(ji,jj,jk,jn) ) ) … … 410 410 DO ji = fs_2, fs_jpim1 ! vector opt. 411 411 pta(ji,jj,jk,jn) = pta(ji,jj,jk,jn) + zsign * ( ztfw(ji,jj,jk+1) - ztfw(ji,jj,jk) ) & 412 & / ( e1e2t(ji,jj) * e3t _n(ji,jj,jk) )412 & / ( e1e2t(ji,jj) * e3t(ji,jj,jk,Kmm) ) 413 413 END DO 414 414 END DO
Note: See TracChangeset
for help on using the changeset viewer.