New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Diff from NEMO/branches/2021/dev_r14393_HPC-03_Mele_Comm_Cleanup/src/OCE/TRA/trabbl.F90@14757 to NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/trabbl.F90@14765 – NEMO

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/trabbl.F90

    r14757 r14765  
    126126         CALL prt_ctl( tab3d_1=pts(:,:,:,jp_tem,Krhs), clinfo1=' bbl_ldf  - Ta: ', mask1=tmask, & 
    127127            &          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 
    132130         ! 
    133131      ENDIF 
     
    139137         CALL prt_ctl( tab3d_1=pts(:,:,:,jp_tem,Krhs), clinfo1=' bbl_adv  - Ta: ', mask1=tmask, & 
    140138            &          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 
    146141         ! 
    147142      ENDIF 
     
    214209 
    215210 
     211   ! NOTE: [tiling] tiling changes the results, but only the order of floating point operations is different 
    216212   SUBROUTINE tra_bbl_adv( pt, pt_rhs, kjpt, Kmm ) 
    217213      !!---------------------------------------------------------------------- 
     
    237233      INTEGER  ::   iis , iid , ijs , ijd    ! local integers 
    238234      INTEGER  ::   ikus, ikud, ikvs, ikvd   !   -       - 
    239       INTEGER  ::   isi, isj                 !   -       - 
    240235      REAL(wp) ::   zbtr, ztra               ! local scalars 
    241236      REAL(wp) ::   zu_bbl, zv_bbl           !   -      - 
    242237      !!---------------------------------------------------------------------- 
    243       ! 
    244       IF( ntsi == Nis0 ) THEN ; isi = 1 ; ELSE ; isi = 0 ; ENDIF    ! Avoid double-counting when using tiling 
    245       IF( ntsj == Njs0 ) THEN ; isj = 1 ; ELSE ; isj = 0 ; ENDIF 
    246238      !                                                          ! =========== 
    247239      DO jn = 1, kjpt                                            ! tracer loop 
    248240         !                                                       ! =========== 
    249          DO_2D( isi, 0, isj, 0 )            ! CAUTION start from i=1 to update i=2 when cyclic east-west 
     241         DO_2D_OVR( 1, 0, 1, 0 )            ! CAUTION start from i=1 to update i=2 when cyclic east-west 
    250242            IF( utr_bbl(ji,jj) /= 0.e0 ) THEN            ! non-zero i-direction bbl advection 
    251243               ! down-slope i/k-indices (deep)      &   up-slope i/k indices (shelf) 
     
    339331      !!---------------------------------------------------------------------- 
    340332      ! 
    341       IF( ntile == 0 .OR. ntile == 1 )  THEN                       ! Do only on the first tile 
     333      IF( .NOT. l_istiled .OR. ntile == 1 )  THEN                       ! Do only on the first tile 
    342334         IF( kt == kit000 )  THEN 
    343335            IF(lwp)  WRITE(numout,*) 
     
    362354      IF( nn_bbl_ldf == 1 ) THEN          !   diffusive bbl   ! 
    363355         !                                !-------------------! 
    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 ) 
    365357            !                                                   ! i-direction 
    366358            za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem)              ! 2*(alpha,beta) at u-point 
     
    392384         ! 
    393385         CASE( 1 )                                   != use of upper velocity 
    394             DO_2D( 1, 0, 1, 0 )                              ! criteria: grad(rho).grad(h)<0  and grad(rho).grad(h)<0 
     386            DO_2D_OVR( 1, 0, 1, 0 )                              ! criteria: grad(rho).grad(h)<0  and grad(rho).grad(h)<0 
    395387               !                                                  ! i-direction 
    396388               za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem)               ! 2*(alpha,beta) at u-point 
     
    421413         CASE( 2 )                                 != bbl velocity = F( delta rho ) 
    422414            zgbbl = grav * rn_gambbl 
    423             DO_2D( 1, 0, 1, 0 )                         ! criteria: rho_up > rho_down 
     415            DO_2D_OVR( 1, 0, 1, 0 )                         ! criteria: rho_up > rho_down 
    424416               !                                                  ! i-direction 
    425417               ! 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.