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.
Changeset 14856 for NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/src/OCE/TRA/trabbl.F90 – NEMO

Ignore:
Timestamp:
2021-05-12T17:58:07+02:00 (3 years ago)
Author:
smueller
Message:

Synchronizing with /NEMO/trunk@14854 (ticket #2353)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14122_HPC-08_Mueller_OSMOSIS_streamlining/src/OCE/TRA/trabbl.F90

    r14822 r14856  
    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 lbc_lnk( 'trabbl', utr_bbl, 'U', -1.0_wp , vtr_bbl, 'V', -1.0_wp ) 
    144             CALL iom_put( "uoce_bbl", utr_bbl )  ! bbl i-transport 
    145             CALL iom_put( "voce_bbl", vtr_bbl )  ! bbl j-transport 
    146          ENDIF 
     139         CALL iom_put( "uoce_bbl", utr_bbl )  ! bbl i-transport 
     140         CALL iom_put( "voce_bbl", vtr_bbl )  ! bbl j-transport 
    147141         ! 
    148142      ENDIF 
     
    215209 
    216210 
     211   ! NOTE: [tiling] tiling changes the results, but only the order of floating point operations is different 
    217212   SUBROUTINE tra_bbl_adv( pt, pt_rhs, kjpt, Kmm ) 
    218213      !!---------------------------------------------------------------------- 
     
    238233      INTEGER  ::   iis , iid , ijs , ijd    ! local integers 
    239234      INTEGER  ::   ikus, ikud, ikvs, ikvd   !   -       - 
    240       INTEGER  ::   isi, isj                 !   -       - 
    241235      REAL(wp) ::   zbtr, ztra               ! local scalars 
    242236      REAL(wp) ::   zu_bbl, zv_bbl           !   -      - 
    243237      !!---------------------------------------------------------------------- 
    244       ! 
    245       IF( ntsi == Nis0 ) THEN ; isi = 1 ; ELSE ; isi = 0 ; ENDIF    ! Avoid double-counting when using tiling 
    246       IF( ntsj == Njs0 ) THEN ; isj = 1 ; ELSE ; isj = 0 ; ENDIF 
    247238      !                                                          ! =========== 
    248239      DO jn = 1, kjpt                                            ! tracer loop 
    249240         !                                                       ! =========== 
    250          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 
    251242            IF( utr_bbl(ji,jj) /= 0.e0 ) THEN            ! non-zero i-direction bbl advection 
    252243               ! down-slope i/k-indices (deep)      &   up-slope i/k indices (shelf) 
     
    340331      !!---------------------------------------------------------------------- 
    341332      ! 
    342       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 
    343334         IF( kt == kit000 )  THEN 
    344335            IF(lwp)  WRITE(numout,*) 
     
    363354      IF( nn_bbl_ldf == 1 ) THEN          !   diffusive bbl   ! 
    364355         !                                !-------------------! 
    365          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 ) 
    366357            !                                                   ! i-direction 
    367358            za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem)              ! 2*(alpha,beta) at u-point 
     
    393384         ! 
    394385         CASE( 1 )                                   != use of upper velocity 
    395             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 
    396387               !                                                  ! i-direction 
    397388               za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem)               ! 2*(alpha,beta) at u-point 
     
    422413         CASE( 2 )                                 != bbl velocity = F( delta rho ) 
    423414            zgbbl = grav * rn_gambbl 
    424             DO_2D( 1, 0, 1, 0 )                         ! criteria: rho_up > rho_down 
     415            DO_2D_OVR( 1, 0, 1, 0 )                         ! criteria: rho_up > rho_down 
    425416               !                                                  ! i-direction 
    426417               ! 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.