Changes from NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/TRA/trabbl.F90 at r14757 to NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/trabbl.F90 at r14765
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/trabbl.F90
r14757 r14765 126 126 CALL prt_ctl( tab3d_1=pts(:,:,:,jp_tem,Krhs), clinfo1=' bbl_ldf - Ta: ', mask1=tmask, & 127 127 & tab3d_2=pts(:,:,:,jp_sal,Krhs), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 128 IF( ntile == 0 .OR. ntile == nijtile ) THEN ! Do only on the last tile 129 CALL iom_put( "ahu_bbl", ahu_bbl ) ! bbl diffusive flux i-coef 130 CALL iom_put( "ahv_bbl", ahv_bbl ) ! bbl diffusive flux j-coef 131 ENDIF 128 CALL iom_put( "ahu_bbl", ahu_bbl ) ! bbl diffusive flux i-coef 129 CALL iom_put( "ahv_bbl", ahv_bbl ) ! bbl diffusive flux j-coef 132 130 ! 133 131 ENDIF … … 139 137 CALL prt_ctl( tab3d_1=pts(:,:,:,jp_tem,Krhs), clinfo1=' bbl_adv - Ta: ', mask1=tmask, & 140 138 & tab3d_2=pts(:,:,:,jp_sal,Krhs), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 141 IF( ntile == 0 .OR. ntile == nijtile ) THEN ! Do only on the last tile 142 ! lateral boundary conditions ; just need for outputs 143 CALL iom_put( "uoce_bbl", utr_bbl ) ! bbl i-transport 144 CALL iom_put( "voce_bbl", vtr_bbl ) ! bbl j-transport 145 ENDIF 139 CALL iom_put( "uoce_bbl", utr_bbl ) ! bbl i-transport 140 CALL iom_put( "voce_bbl", vtr_bbl ) ! bbl j-transport 146 141 ! 147 142 ENDIF … … 214 209 215 210 211 ! NOTE: [tiling] tiling changes the results, but only the order of floating point operations is different 216 212 SUBROUTINE tra_bbl_adv( pt, pt_rhs, kjpt, Kmm ) 217 213 !!---------------------------------------------------------------------- … … 237 233 INTEGER :: iis , iid , ijs , ijd ! local integers 238 234 INTEGER :: ikus, ikud, ikvs, ikvd ! - - 239 INTEGER :: isi, isj ! - -240 235 REAL(wp) :: zbtr, ztra ! local scalars 241 236 REAL(wp) :: zu_bbl, zv_bbl ! - - 242 237 !!---------------------------------------------------------------------- 243 !244 IF( ntsi == Nis0 ) THEN ; isi = 1 ; ELSE ; isi = 0 ; ENDIF ! Avoid double-counting when using tiling245 IF( ntsj == Njs0 ) THEN ; isj = 1 ; ELSE ; isj = 0 ; ENDIF246 238 ! ! =========== 247 239 DO jn = 1, kjpt ! tracer loop 248 240 ! ! =========== 249 DO_2D ( isi, 0, isj, 0 ) ! CAUTION start from i=1 to update i=2 when cyclic east-west241 DO_2D_OVR( 1, 0, 1, 0 ) ! CAUTION start from i=1 to update i=2 when cyclic east-west 250 242 IF( utr_bbl(ji,jj) /= 0.e0 ) THEN ! non-zero i-direction bbl advection 251 243 ! down-slope i/k-indices (deep) & up-slope i/k indices (shelf) … … 339 331 !!---------------------------------------------------------------------- 340 332 ! 341 IF( ntile == 0.OR. ntile == 1 ) THEN ! Do only on the first tile333 IF( .NOT. l_istiled .OR. ntile == 1 ) THEN ! Do only on the first tile 342 334 IF( kt == kit000 ) THEN 343 335 IF(lwp) WRITE(numout,*) … … 362 354 IF( nn_bbl_ldf == 1 ) THEN ! diffusive bbl ! 363 355 ! !-------------------! 364 DO_2D ( 1, 0, 1, 0 ) ! (criteria for non zero flux: grad(rho).grad(h) < 0 )356 DO_2D_OVR( 1, 0, 1, 0 ) ! (criteria for non zero flux: grad(rho).grad(h) < 0 ) 365 357 ! ! i-direction 366 358 za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem) ! 2*(alpha,beta) at u-point … … 392 384 ! 393 385 CASE( 1 ) != use of upper velocity 394 DO_2D ( 1, 0, 1, 0 ) ! criteria: grad(rho).grad(h)<0 and grad(rho).grad(h)<0386 DO_2D_OVR( 1, 0, 1, 0 ) ! criteria: grad(rho).grad(h)<0 and grad(rho).grad(h)<0 395 387 ! ! i-direction 396 388 za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem) ! 2*(alpha,beta) at u-point … … 421 413 CASE( 2 ) != bbl velocity = F( delta rho ) 422 414 zgbbl = grav * rn_gambbl 423 DO_2D ( 1, 0, 1, 0 ) ! criteria: rho_up > rho_down415 DO_2D_OVR( 1, 0, 1, 0 ) ! criteria: rho_up > rho_down 424 416 ! ! i-direction 425 417 ! down-slope T-point i/k-index (deep) & up-slope T-point i/k-index (shelf)
Note: See TracChangeset
for help on using the changeset viewer.