Changeset 14892
- Timestamp:
- 2021-05-20T16:16:01+02:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14447_HPC-07_Irrmann_try_new_pt2pt/src/OCE/LBC/lbc_lnk_call_generic.h90
r14835 r14892 2 2 # define XD 2d 3 3 # define DIMS :,: 4 # define ISZ3 1 5 # define ISZ4 1 4 # define ISZ3 1 5 # define ISZ4 1 6 6 #endif 7 7 #if defined DIM_3d … … 24 24 & , pt9 , cdna9 , psgn9 , pt10, cdna10, psgn10, pt11, cdna11, psgn11, pt12, cdna12, psgn12 & 25 25 & , pt13, cdna13, psgn13, pt14, cdna14, psgn14, pt15, cdna15, psgn15, pt16, cdna16, psgn16 & 26 & , kfillmode, pfillval, khls, lsend, lrecv, ld4only ) 26 & , kfillmode, pfillval, khls, lsend, lrecv, ld4only & 27 & , loop_fct & 28 & ) 27 29 !!--------------------------------------------------------------------- 28 30 CHARACTER(len=*) , INTENT(in ) :: cdname ! name of the calling subroutine … … 46 48 CHARACTER(len=1) , DIMENSION(16) :: cdna_ptr ! nature of ptab_ptr grid-points 47 49 REAL(PRECISION) , DIMENSION(16) :: psgn_ptr ! sign used across the north fold boundary 50 interface 51 subroutine loop_fct(i0, i1, j0, j1, k0, k1, buf) 52 integer, intent(in) :: i0, i1, j0, j1, k0, k1 53 REAL*8, dimension(:,:,:,:,:,:), optional, intent(out) :: buf 54 end subroutine loop_fct 55 end interface 56 optional :: loop_fct 48 57 !!--------------------------------------------------------------------- 49 58 ! … … 70 79 IF( PRESENT(psgn16) ) CALL load_ptr_/**/XD/**/_/**/PRECISION( pt16, cdna16, psgn16, ptab_ptr, cdna_ptr, psgn_ptr, kfld ) 71 80 ! 72 81 73 82 IF( lints ) THEN ! in time splitting 74 83 IF( ln_tspers ) THEN 75 84 CALL lbc_lnk_persistent( cdname, ptab_ptr, cdna_ptr, psgn_ptr, kfld, kfillmode, pfillval, khls, lsend, lrecv, ld4only ) 85 elseif(present(loop_fct) .and. ln_async) 86 CALL lbc_lnk_pt2pt_async( cdname, loop_fct, ptab_ptr, cdna_ptr, psgn_ptr, kfld, kfillmode, pfillval, khls, lsend, lrecv, ld4only ) 76 87 ELSE 77 88 SELECT CASE (nn_comm) … … 86 97 END SELECT 87 98 END IF 99 elseif(present(loop_fct) .and. ln_async) 100 CALL lbc_lnk_pt2pt_async( cdname, loop_fct, ptab_ptr, cdna_ptr, psgn_ptr, kfld, kfillmode, pfillval, khls, lsend, lrecv, ld4only ) 88 101 ELSE ! No persistent call outside time-splitting 89 102 SELECT CASE (nn_comm)
Note: See TracChangeset
for help on using the changeset viewer.