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 11210 for NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdyice.F90 – NEMO

Ignore:
Timestamp:
2019-07-03T12:08:42+02:00 (5 years ago)
Author:
girrmann
Message:

dev_r10984_HPC-13 : remove some communications in bdy treatment in case nn_hls > 1, see #2285

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdyice.F90

    r11195 r11210  
    6666      CALL ice_var_glo2eqv 
    6767      ! 
     68      llsend1(:) = .false.   ;   llrecv1(:) = .false. 
    6869      DO ir = 1, 0, -1   ! treat rim 1 before rim 0 
    6970         IF( ir == 0 ) THEN   ;   llrim0 = .TRUE. 
     
    8182         END DO 
    8283         ! 
    83          ! Update bdy points 
    84          llsend1(:) = .false. 
    85          llrecv1(:) = .false. 
     84         ! Update bdy points         
     85         IF( nn_hls > 1 .AND. ir == 1 ) CYCLE   ! at least 2 halos will be corrected -> no need to correct rim 1 before rim 0 
     86         IF( nn_hls == 1 ) THEN   ;   llsend1(:) = .false.   ;   llrecv1(:) = .false.   ;   END IF 
    8687         DO jbdy = 1, nb_bdy 
    8788            IF( cn_ice(jbdy) == 'frs' ) THEN 
     
    316317      IF( ln_timing )   CALL timing_start('bdy_ice_dyn') 
    317318      ! 
     319      llsend2(:) = .false.   ;   llrecv2(:) = .false. 
     320      llsend3(:) = .false.   ;   llrecv3(:) = .false. 
    318321      DO ir = 1, 0, -1 
    319322         DO jbdy = 1, nb_bdy 
     
    404407         SELECT CASE ( cd_type )         
    405408         CASE ( 'U' )  
    406             llsend2(:) = .false.   ;   llrecv2(:) = .false. 
     409         IF( nn_hls > 1 .AND. ir == 1 ) CYCLE   ! at least 2 halos will be corrected -> no need to correct rim 1 before rim 0 
     410         IF( nn_hls == 1 ) THEN   ;   llsend2(:) = .false.   ;   llrecv2(:) = .false.   ;   END IF 
    407411            DO jbdy = 1, nb_bdy 
    408412               IF( cn_ice(jbdy) == 'frs' .AND. nn_ice_dta(jbdy) /= 0 ) THEN 
     
    417421            END IF 
    418422         CASE ( 'V' ) 
    419             llsend3(:) = .false.   ;   llrecv3(:) = .false. 
     423         IF( nn_hls > 1 .AND. ir == 1 ) CYCLE   ! at least 2 halos will be corrected -> no need to correct rim 1 before rim 0 
     424         IF( nn_hls == 1 ) THEN   ;   llsend3(:) = .false.   ;   llrecv3(:) = .false.   ;   END IF 
    420425            DO jbdy = 1, nb_bdy 
    421426               IF( cn_ice(jbdy) == 'frs' .AND. nn_ice_dta(jbdy) /= 0 ) THEN 
Note: See TracChangeset for help on using the changeset viewer.