Changeset 11067 for NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcbdy.F90
- Timestamp:
- 2019-05-29T11:34:32+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/TOP/trcbdy.F90
r10425 r11067 49 49 REAL(wp), POINTER, DIMENSION(:,:) :: ztrc 50 50 REAL(wp), POINTER :: zfac 51 LOGICAL, DIMENSION(4) :: lsend1, lrecv1 ! indicate how communications are to be carried out 51 52 !!---------------------------------------------------------------------- 52 53 ! … … 70 71 CASE DEFAULT ; CALL ctl_stop( 'trc_bdy : unrecognised option for open boundaries for passive tracers' ) 71 72 END SELECT 72 ! Boundary points should be updated73 CALL lbc_bdy_lnk( 'trcbdy', tra(:,:,:,jn), 'T', 1., ib_bdy )74 73 ! 75 74 END DO 76 75 END DO 77 76 ! 77 lsend1(:) = .false. 78 lrecv1(:) = .false. 79 DO ib_bdy=1, nb_bdy 80 SELECT CASE( TRIM(cn_tra(ib_bdy)) ) 81 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 90 END SELECT 91 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. ) 94 END IF 95 ! 78 96 IF( ln_timing ) CALL timing_stop('trc_bdy') 79 97 ! 80 98 END SUBROUTINE trc_bdy 81 99
Note: See TracChangeset
for help on using the changeset viewer.