Changeset 14986 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/TRA/trabbl.F90
- Timestamp:
- 2021-06-14T13:34:08+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/TRA/trabbl.F90
r14644 r14986 127 127 CALL prt_ctl( tab3d_1=CASTWP(pts(:,:,:,jp_tem,Krhs)), clinfo1=' bbl_ldf - Ta: ', mask1=tmask, & 128 128 & tab3d_2=CASTWP(pts(:,:,:,jp_sal,Krhs)), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 129 IF( ntile == 0 .OR. ntile == nijtile ) THEN ! Do only on the last tile 130 CALL iom_put( "ahu_bbl", ahu_bbl ) ! bbl diffusive flux i-coef 131 CALL iom_put( "ahv_bbl", ahv_bbl ) ! bbl diffusive flux j-coef 132 ENDIF 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 133 131 ! 134 132 ENDIF … … 140 138 CALL prt_ctl( tab3d_1=CASTWP(pts(:,:,:,jp_tem,Krhs)), clinfo1=' bbl_adv - Ta: ', mask1=tmask, & 141 139 & tab3d_2=CASTWP(pts(:,:,:,jp_sal,Krhs)), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 142 IF( ntile == 0 .OR. ntile == nijtile ) THEN ! Do only on the last tile 143 ! lateral boundary conditions ; just need for outputs 144 CALL lbc_lnk( 'trabbl', utr_bbl, 'U', 1.0_wp , vtr_bbl, 'V', 1.0_wp ) 145 CALL iom_put( "uoce_bbl", utr_bbl ) ! bbl i-transport 146 CALL iom_put( "voce_bbl", vtr_bbl ) ! bbl j-transport 147 ENDIF 140 CALL iom_put( "uoce_bbl", utr_bbl ) ! bbl i-transport 141 CALL iom_put( "voce_bbl", vtr_bbl ) ! bbl j-transport 148 142 ! 149 143 ENDIF … … 216 210 217 211 212 ! NOTE: [tiling] tiling changes the results, but only the order of floating point operations is different 218 213 SUBROUTINE tra_bbl_adv( pt, pt_rhs, kjpt, Kmm ) 219 214 !!---------------------------------------------------------------------- … … 239 234 INTEGER :: iis , iid , ijs , ijd ! local integers 240 235 INTEGER :: ikus, ikud, ikvs, ikvd ! - - 241 INTEGER :: isi, isj ! - -242 236 REAL(wp) :: zbtr, ztra ! local scalars 243 237 REAL(wp) :: zu_bbl, zv_bbl ! - - 244 238 !!---------------------------------------------------------------------- 245 !246 IF( ntsi == Nis0 ) THEN ; isi = 1 ; ELSE ; isi = 0 ; ENDIF ! Avoid double-counting when using tiling247 IF( ntsj == Njs0 ) THEN ; isj = 1 ; ELSE ; isj = 0 ; ENDIF248 239 ! ! =========== 249 240 DO jn = 1, kjpt ! tracer loop 250 241 ! ! =========== 251 DO_2D ( isi, 0, isj, 0 ) ! CAUTION start from i=1 to update i=2 when cyclic east-west242 DO_2D_OVR( 1, 0, 1, 0 ) ! CAUTION start from i=1 to update i=2 when cyclic east-west 252 243 IF( utr_bbl(ji,jj) /= 0.e0 ) THEN ! non-zero i-direction bbl advection 253 244 ! down-slope i/k-indices (deep) & up-slope i/k indices (shelf) … … 341 332 !!---------------------------------------------------------------------- 342 333 ! 343 IF( ntile == 0.OR. ntile == 1 ) THEN ! Do only on the first tile334 IF( .NOT. l_istiled .OR. ntile == 1 ) THEN ! Do only on the first tile 344 335 IF( kt == kit000 ) THEN 345 336 IF(lwp) WRITE(numout,*) … … 364 355 IF( nn_bbl_ldf == 1 ) THEN ! diffusive bbl ! 365 356 ! !-------------------! 366 DO_2D ( 1, 0, 1, 0 ) ! (criteria for non zero flux: grad(rho).grad(h) < 0 )357 DO_2D_OVR( 1, 0, 1, 0 ) ! (criteria for non zero flux: grad(rho).grad(h) < 0 ) 367 358 ! ! i-direction 368 359 za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem) ! 2*(alpha,beta) at u-point … … 394 385 ! 395 386 CASE( 1 ) != use of upper velocity 396 DO_2D ( 1, 0, 1, 0 ) ! criteria: grad(rho).grad(h)<0 and grad(rho).grad(h)<0387 DO_2D_OVR( 1, 0, 1, 0 ) ! criteria: grad(rho).grad(h)<0 and grad(rho).grad(h)<0 397 388 ! ! i-direction 398 389 za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem) ! 2*(alpha,beta) at u-point … … 423 414 CASE( 2 ) != bbl velocity = F( delta rho ) 424 415 zgbbl = grav * rn_gambbl 425 DO_2D ( 1, 0, 1, 0 ) ! criteria: rho_up > rho_down416 DO_2D_OVR( 1, 0, 1, 0 ) ! criteria: rho_up > rho_down 426 417 ! ! i-direction 427 418 ! 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.