Changeset 11210
- Timestamp:
- 2019-07-03T12:08:42+02:00 (5 years ago)
- Location:
- NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdydyn2d.F90
r11195 r11210 54 54 LOGICAL, DIMENSION(4) :: llsend2, llrecv2, llsend3, llrecv3 ! indicate how communications are to be carried out 55 55 56 llsend2(:) = .false. ; llrecv2(:) = .false. 57 llsend3(:) = .false. ; llrecv3(:) = .false. 56 58 DO ir = 1, 0, -1 ! treat rim 1 before rim 0 57 59 IF( ir == 0 ) THEN ; llrim0 = .TRUE. … … 77 79 ENDDO 78 80 ! 79 llsend2(:) = .false. 80 llrecv2(:) = .false. 81 llsend3(:) = .false. 82 llrecv3(:) = .false. 81 IF( nn_hls > 1 .AND. ir == 1 ) CYCLE ! at least 2 halos will be corrected -> no need to correct rim 1 before rim 0 82 IF( nn_hls == 1 ) THEN 83 llsend2(:) = .false. ; llrecv2(:) = .false. 84 llsend3(:) = .false. ; llrecv3(:) = .false. 85 END IF 83 86 DO ib_bdy=1, nb_bdy 84 87 SELECT CASE( cn_dyn2d(ib_bdy) ) … … 310 313 LOGICAL, DIMENSION(4) :: llsend1, llrecv1 ! indicate how communications are to be carried out 311 314 !!---------------------------------------------------------------------- 315 llsend1(:) = .false. ; llrecv1(:) = .false. 312 316 DO ir = 1, 0, -1 ! treat rim 1 before rim 0 313 llsend1(:) = .false. 314 llrecv1(:) = .false. 317 IF( nn_hls == 1 ) THEN ; llsend1(:) = .false. ; llrecv1(:) = .false. ; END IF 315 318 IF( ir == 0 ) THEN ; llrim0 = .TRUE. 316 319 ELSE ; llrim0 = .FALSE. … … 321 324 llrecv1(:) = llrecv1(:) .OR. lrecv_bdyint(ib_bdy,1,:,ir) ! possibly every direction, T points 322 325 END DO 326 IF( nn_hls > 1 .AND. ir == 1 ) CYCLE ! at least 2 halos will be corrected -> no need to correct rim 1 before rim 0 323 327 IF( ANY(llsend1) .OR. ANY(llrecv1) ) THEN ! if need to send/recv in at least one direction 324 328 CALL lbc_lnk( 'bdydyn2d', zssh(:,:,1), 'T', 1., kfillmode=jpfillnothing ,lsend=llsend1, lrecv=llrecv1 ) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdydyn3d.F90
r11195 r11210 47 47 48 48 !!---------------------------------------------------------------------- 49 llsend2(:) = .false. ; llrecv2(:) = .false. 50 llsend3(:) = .false. ; llrecv3(:) = .false. 49 51 DO ir = 1, 0, -1 ! treat rim 1 before rim 0 50 52 IF( ir == 0 ) THEN ; llrim0 = .TRUE. … … 69 71 END DO 70 72 ! 71 llsend2(:) = .false. 72 llrecv2(:) = .false. 73 llsend3(:) = .false. 74 llrecv3(:) = .false. 73 IF( nn_hls > 1 .AND. ir == 1 ) CYCLE ! at least 2 halos will be corrected -> no need to correct rim 1 before rim 0 74 IF( nn_hls == 1 ) THEN 75 llsend2(:) = .false. ; llrecv2(:) = .false. 76 llsend3(:) = .false. ; llrecv3(:) = .false. 77 END IF 75 78 DO ib_bdy=1, nb_bdy 76 79 SELECT CASE( cn_dyn3d(ib_bdy) ) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdyice.F90
r11195 r11210 66 66 CALL ice_var_glo2eqv 67 67 ! 68 llsend1(:) = .false. ; llrecv1(:) = .false. 68 69 DO ir = 1, 0, -1 ! treat rim 1 before rim 0 69 70 IF( ir == 0 ) THEN ; llrim0 = .TRUE. … … 81 82 END DO 82 83 ! 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 86 87 DO jbdy = 1, nb_bdy 87 88 IF( cn_ice(jbdy) == 'frs' ) THEN … … 316 317 IF( ln_timing ) CALL timing_start('bdy_ice_dyn') 317 318 ! 319 llsend2(:) = .false. ; llrecv2(:) = .false. 320 llsend3(:) = .false. ; llrecv3(:) = .false. 318 321 DO ir = 1, 0, -1 319 322 DO jbdy = 1, nb_bdy … … 404 407 SELECT CASE ( cd_type ) 405 408 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 407 411 DO jbdy = 1, nb_bdy 408 412 IF( cn_ice(jbdy) == 'frs' .AND. nn_ice_dta(jbdy) /= 0 ) THEN … … 417 421 END IF 418 422 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 420 425 DO jbdy = 1, nb_bdy 421 426 IF( cn_ice(jbdy) == 'frs' .AND. nn_ice_dta(jbdy) /= 0 ) THEN -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/BDY/bdytra.F90
r11195 r11210 55 55 !!---------------------------------------------------------------------- 56 56 igrd = 1 57 57 llsend1(:) = .false. ; llrecv1(:) = .false. 58 58 DO ir = 1, 0, -1 ! treat rim 1 before rim 0 59 59 IF( ir == 0 ) THEN ; llrim0 = .TRUE. … … 85 85 END DO 86 86 ! 87 llsend1(:) = .false.88 llrecv1(:) = .false.87 IF( nn_hls > 1 .AND. ir == 1 ) CYCLE ! at least 2 halos will be corrected -> no need to correct rim 1 before rim 0 88 IF( nn_hls == 1 ) THEN ; llsend1(:) = .false. ; llrecv1(:) = .false. ; END IF 89 89 DO ib_bdy=1, nb_bdy 90 90 SELECT CASE( TRIM(cn_tra(ib_bdy)) ) -
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcbdy.F90
r11195 r11210 56 56 ! 57 57 igrd = 1 58 !58 llsend1(:) = .false. ; llrecv1(:) = .false. 59 59 DO ir = 1, 0, -1 ! treat rim 1 before rim 0 60 60 IF( ir == 0 ) THEN ; llrim0 = .TRUE. … … 82 82 END DO 83 83 ! 84 llsend1(:) = .false.85 llrecv1(:) = .false.84 IF( nn_hls > 1 .AND. ir == 1 ) CYCLE ! at least 2 halos will be corrected -> no need to correct rim 1 before rim 0 85 IF( nn_hls == 1 ) THEN ; llsend1(:) = .false. ; llrecv1(:) = .false. ; END IF 86 86 DO ib_bdy=1, nb_bdy 87 87 SELECT CASE( TRIM(cn_tra(ib_bdy)) )
Note: See TracChangeset
for help on using the changeset viewer.