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 14663 for NEMO – NEMO

Changeset 14663 for NEMO


Ignore:
Timestamp:
2021-03-31T19:01:28+02:00 (3 years ago)
Author:
hadcv
Message:

#2600: Some additional TRA changes

Location:
NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA
Files:
3 edited

Legend:

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

    r14631 r14663  
    123123         ! TODO: [tiling] NOT TESTED- requires waves 
    124124         IF( ln_wave .AND. ln_sdw )  THEN 
    125             DO_3D_OVR( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
     125            DO_3D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) 
    126126               zuu(ji,jj,jk) = e2u  (ji,jj) * e3u(ji,jj,jk,Kmm) * ( uu(ji,jj,jk,Kmm) + usd(ji,jj,jk) ) 
    127127               zvv(ji,jj,jk) = e1v  (ji,jj) * e3v(ji,jj,jk,Kmm) * ( vv(ji,jj,jk,Kmm) + vsd(ji,jj,jk) ) 
     
    129129            END_3D 
    130130         ELSE 
    131             DO_3D_OVR( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
     131            DO_3D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) 
    132132               zuu(ji,jj,jk) = e2u  (ji,jj) * e3u(ji,jj,jk,Kmm) * uu(ji,jj,jk,Kmm)               ! eulerian transport only 
    133133               zvv(ji,jj,jk) = e1v  (ji,jj) * e3v(ji,jj,jk,Kmm) * vv(ji,jj,jk,Kmm) 
     
    138138         ! TODO: [tiling] NOT TESTED- requires ztilde 
    139139         IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN                                ! add z-tilde and/or vvl corrections 
    140             DO_3D_OVR( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpkm1 ) 
     140            DO_3D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1, 1, jpkm1 ) 
    141141               zuu(ji,jj,jk) = zuu(ji,jj,jk) + un_td(ji,jj,jk) 
    142142               zvv(ji,jj,jk) = zvv(ji,jj,jk) + vn_td(ji,jj,jk) 
     
    144144         ENDIF 
    145145         ! 
    146          DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) 
     146         DO_2D_OVR( nn_hls, nn_hls-1, nn_hls, nn_hls-1 ) 
    147147            zuu(ji,jj,jpk) = 0._wp                                                      ! no transport trough the bottom 
    148148            zvv(ji,jj,jpk) = 0._wp 
  • NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/trabbl.F90

    r14636 r14663  
    140140            ! lateral boundary conditions ; just need for outputs 
    141141            ! [ comm_cleanup ] ! no need lbc_lnk for outputs 
     142            ! NOTE: [tiling] removal of this lbc_lnk causes results to change, as the sign was unchanged (bug in trunk) 
    142143            ! CALL lbc_lnk( 'trabbl', utr_bbl, 'U', 1.0_wp , vtr_bbl, 'V', 1.0_wp ) 
    143144         ENDIF 
     
    214215 
    215216 
     217   ! NOTE: [tiling] tiling changes the results, but only the order of floating point operations is different 
    216218   SUBROUTINE tra_bbl_adv( pt, pt_rhs, kjpt, Kmm ) 
    217219      !!---------------------------------------------------------------------- 
     
    358360      IF( nn_bbl_ldf == 1 ) THEN          !   diffusive bbl   ! 
    359361         !                                !-------------------! 
    360          DO_2D( 1, 0, 1, 0 )                   ! (criteria for non zero flux: grad(rho).grad(h) < 0 ) 
     362         DO_2D_OVR( 1, 0, 1, 0 )                   ! (criteria for non zero flux: grad(rho).grad(h) < 0 ) 
    361363            !                                                   ! i-direction 
    362364            za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem)              ! 2*(alpha,beta) at u-point 
     
    388390         ! 
    389391         CASE( 1 )                                   != use of upper velocity 
    390             DO_2D( 1, 0, 1, 0 )                              ! criteria: grad(rho).grad(h)<0  and grad(rho).grad(h)<0 
     392            DO_2D_OVR( 1, 0, 1, 0 )                              ! criteria: grad(rho).grad(h)<0  and grad(rho).grad(h)<0 
    391393               !                                                  ! i-direction 
    392394               za = zab(ji+1,jj,jp_tem) + zab(ji,jj,jp_tem)               ! 2*(alpha,beta) at u-point 
     
    417419         CASE( 2 )                                 != bbl velocity = F( delta rho ) 
    418420            zgbbl = grav * rn_gambbl 
    419             DO_2D( 1, 0, 1, 0 )                         ! criteria: rho_up > rho_down 
     421            DO_2D_OVR( 1, 0, 1, 0 )                         ! criteria: rho_up > rho_down 
    420422               !                                                  ! i-direction 
    421423               ! down-slope T-point i/k-index (deep)  &   up-slope T-point i/k-index (shelf) 
  • NEMO/branches/2021/dev_r14273_HPC-02_Daley_Tiling/src/OCE/TRA/traldf_lap_blp.F90

    r14636 r14663  
    240240      IF (nn_hls.EQ.1) CALL lbc_lnk( 'traldf_lap_blp', zlap(:,:,:,:) , 'T', 1.0_wp )     ! Lateral boundary conditions (unchanged sign) 
    241241      !                                               ! Partial top/bottom cell: GRADh( zlap ) 
    242       IF( ln_zps ) THEN 
    243          ! [comm_cleanup] ! halo > 2 needed to delete this comm 
    244          IF (nn_hls.EQ.2) CALL lbc_lnk( 'traldf_lap_blp', zlap(:,:,:,:) , 'T', 1.0_wp )     ! Lateral boundary conditions (unchanged sign) 
    245          IF( ln_isfcav ) THEN   ;   CALL zps_hde_isf( kt, Kmm, kjpt, zlap, zglu, zglv, zgui, zgvi )  ! both top & bottom 
    246          ELSE   ;   CALL zps_hde    ( kt, Kmm, kjpt, zlap, zglu, zglv )              ! only bottom 
    247          ENDIF 
     242      IF( ln_isfcav .AND. ln_zps ) THEN   ;   CALL zps_hde_isf( kt, Kmm, kjpt, zlap, zglu, zglv, zgui, zgvi )  ! both top & bottom 
     243      ELSEIF(             ln_zps ) THEN   ;   CALL zps_hde    ( kt, Kmm, kjpt, zlap, zglu, zglv )              ! only bottom 
    248244      ENDIF 
    249245      ! 
Note: See TracChangeset for help on using the changeset viewer.