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 11071 for NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcbdy.F90 – NEMO

Ignore:
Timestamp:
2019-06-04T14:58:06+02:00 (5 years ago)
Author:
girrmann
Message:

dev_r10984_HPC-13 : step 2, remove unneeded communications, see #2285

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcbdy.F90

    r11067 r11071  
    4646      INTEGER, INTENT( in ) :: kt     ! Main time step counter 
    4747      !! 
    48       INTEGER                           :: ib_bdy ,jn ,igrd ! Loop indeces 
     48      INTEGER                           :: ib_bdy ,jn ,igrd ! Loop indices 
    4949      REAL(wp), POINTER, DIMENSION(:,:) ::  ztrc 
    5050      REAL(wp), POINTER                 ::  zfac 
    51       LOGICAL, DIMENSION(4)             :: lsend1, lrecv1     ! indicate how communications are to be carried out 
     51      LOGICAL, DIMENSION(4)             :: llsend1, llrecv1     ! indicate how communications are to be carried out 
    5252      !!---------------------------------------------------------------------- 
    5353      ! 
     
    7575      END DO 
    7676      ! 
    77       lsend1(:) = .false. 
    78       lrecv1(:) = .false. 
     77      llsend1(:) = .false. 
     78      llrecv1(:) = .false. 
    7979      DO ib_bdy=1, nb_bdy 
    8080         SELECT CASE( TRIM(cn_tra(ib_bdy)) ) 
    8181         CASE('neumann') 
    82             lsend1(:) = lsend1(:) .OR. lsend_bdy(ib_bdy,1,:)   ! to   every bdy neighbour, T points 
    83             lrecv1(:) = lrecv1(:) .OR. lrecv_bdy(ib_bdy,1,:)   ! from every bdy neighbour, T points 
    84          CASE('orlanski') 
    85             lsend1(:) = lsend1(:) .OR. lsend_bdy(ib_bdy,1,:)   ! to   every bdy neighbour, T points 
    86             lrecv1(:) = lrecv1(:) .OR. lrecv_bdy(ib_bdy,1,:)   ! from every bdy neighbour, T points 
    87          CASE('orlanski_npo') 
    88             lsend1(:) = lsend1(:) .OR. lsend_bdy(ib_bdy,1,:)   ! to   every bdy neighbour, T points 
    89             lrecv1(:) = lrecv1(:) .OR. lrecv_bdy(ib_bdy,1,:)   ! from every bdy neighbour, T points 
     82            llsend1(:) = llsend1(:) .OR. lsend_bdyint(ib_bdy,1,:)   ! possibly every direction, T points 
     83            llrecv1(:) = llrecv1(:) .OR. lrecv_bdyint(ib_bdy,1,:)   ! possibly every direction, T points 
     84         CASE('orlanski','orlanski_npo') 
     85            llsend1(:) = llsend1(:) .OR. lsend_bdy(ib_bdy,1,:)   ! possibly every direction, T points 
     86            llrecv1(:) = llrecv1(:) .OR. lrecv_bdy(ib_bdy,1,:)   ! possibly every direction, T points 
    9087         END SELECT 
    9188      END DO 
    92       IF( ANY(lsend1) .OR. ANY(lrecv1) ) THEN   ! if need to send/recv in at least one direction 
    93          CALL lbc_bdy_lnk( 'bdytra', lsend1, lrecv1, tsa, 'T',  1. ) 
     89      IF( ANY(llsend1) .OR. ANY(llrecv1) ) THEN   ! if need to send/recv in at least one direction 
     90         CALL lbc_bdy_lnk( 'bdytra', llsend1, llrecv1, tsa, 'T',  1. ) 
    9491      END IF 
    9592      ! 
Note: See TracChangeset for help on using the changeset viewer.