Changeset 14229 for NEMO/trunk/src/OCE/LBC
- Timestamp:
- 2020-12-20T13:45:55+01:00 (3 years ago)
- Location:
- NEMO/trunk/src/OCE/LBC
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/OCE/LBC/lbclnk.F90
r14072 r14229 66 66 PUBLIC lbc_lnk_nc_multi ! modified ocean/ice lateral boundary conditions (MPI3 version) 67 67 68 #if defined key_mpp_mpi68 #if ! defined key_mpi_off 69 69 !$AGRIF_DO_NOT_TREAT 70 70 INCLUDE 'mpif.h' -
NEMO/trunk/src/OCE/LBC/lib_mpp.F90
r14072 r14229 73 73 PUBLIC mpp_bcast_nml 74 74 PUBLIC tic_tac 75 #if ! defined key_mpp_mpi75 #if defined key_mpp_off 76 76 PUBLIC MPI_wait 77 77 PUBLIC MPI_Wtime … … 110 110 !! MPI variable definition !! 111 111 !! ========================= !! 112 #if defined key_mpp_mpi112 #if ! defined key_mpi_off 113 113 !$AGRIF_DO_NOT_TREAT 114 114 INCLUDE 'mpif.h' … … 209 209 LOGICAL :: llmpi_init 210 210 !!---------------------------------------------------------------------- 211 #if defined key_mpp_mpi211 #if ! defined key_mpi_off 212 212 ! 213 213 CALL mpi_initialized ( llmpi_init, ierr ) … … 271 271 !!---------------------------------------------------------------------- 272 272 ! 273 #if defined key_mpp_mpi273 #if ! defined key_mpi_off 274 274 IF (wp == dp) THEN 275 275 mpi_working_type = mpi_double_precision … … 299 299 !!---------------------------------------------------------------------- 300 300 ! 301 #if defined key_mpp_mpi301 #if ! defined key_mpi_off 302 302 CALL mpi_isend( pmess, kbytes, mpi_double_precision, kdest , ktyp, mpi_comm_oce, md_req, iflag ) 303 303 #endif … … 322 322 !!---------------------------------------------------------------------- 323 323 ! 324 #if defined key_mpp_mpi324 #if ! defined key_mpi_off 325 325 CALL mpi_isend( pmess, kbytes, mpi_real, kdest , ktyp, mpi_comm_oce, md_req, iflag ) 326 326 #endif … … 347 347 !!---------------------------------------------------------------------- 348 348 ! 349 #if defined key_mpp_mpi349 #if ! defined key_mpi_off 350 350 ! If a specific process number has been passed to the receive call, 351 351 ! use that one. Default is to use mpi_any_source … … 380 380 !!---------------------------------------------------------------------- 381 381 ! 382 #if defined key_mpp_mpi382 #if ! defined key_mpi_off 383 383 ! If a specific process number has been passed to the receive call, 384 384 ! use that one. Default is to use mpi_any_source … … 409 409 !!---------------------------------------------------------------------- 410 410 ! 411 #if defined key_mpp_mpi411 #if ! defined key_mpi_off 412 412 ! If a specific process number has been passed to the receive call, 413 413 ! use that one. Default is to use mpi_any_source … … 437 437 ! 438 438 itaille = jpi * jpj 439 #if defined key_mpp_mpi439 #if ! defined key_mpi_off 440 440 CALL mpi_gather( ptab, itaille, mpi_double_precision, pio, itaille , & 441 441 & mpi_double_precision, kp , mpi_comm_oce, ierror ) … … 464 464 itaille = jpi * jpj 465 465 ! 466 #if defined key_mpp_mpi466 #if ! defined key_mpi_off 467 467 CALL mpi_scatter( pio, itaille, mpi_double_precision, ptab, itaille , & 468 468 & mpi_double_precision, kp , mpi_comm_oce, ierror ) … … 493 493 COMPLEX(dp), ALLOCATABLE, DIMENSION(:) :: ytmp 494 494 !!---------------------------------------------------------------------- 495 #if defined key_mpp_mpi495 #if ! defined key_mpi_off 496 496 ilocalcomm = mpi_comm_oce 497 497 IF( PRESENT(kcom) ) ilocalcomm = kcom … … 568 568 !!---------------------------------------------------------------------- 569 569 570 #if defined key_mpp_mpi570 #if ! defined key_mpi_off 571 571 if( wp == dp ) then 572 572 MPI_TYPE = MPI_DOUBLE_PRECISION … … 640 640 INTEGER :: ierr 641 641 !!---------------------------------------------------------------------- 642 #if defined key_mpp_mpi642 #if ! defined key_mpi_off 643 643 IF( ln_timing ) CALL tic_tac( .TRUE., ld_global = .TRUE.) 644 644 ! test on ndelayid(kid) useless as mpi_wait return immediatly if the request handle is MPI_REQUEST_NULL … … 662 662 !!---------------------------------------------------------------------- 663 663 ! 664 #if defined key_mpp_mpi664 #if ! defined key_mpi_off 665 665 call MPI_BCAST(kleng, 1, MPI_INT, 0, mpi_comm_oce, iflag) 666 666 call MPI_BARRIER(mpi_comm_oce, iflag) … … 928 928 !!----------------------------------------------------------------------- 929 929 ! 930 #if defined key_mpp_mpi930 #if ! defined key_mpi_off 931 931 CALL mpi_barrier( mpi_comm_oce, ierror ) 932 932 #endif … … 949 949 IF( PRESENT(ld_abort) ) ll_abort = ld_abort 950 950 ! 951 #if defined key_mpp_mpi951 #if ! defined key_mpi_off 952 952 IF(ll_abort) THEN 953 953 CALL mpi_abort( MPI_COMM_WORLD ) … … 969 969 !!---------------------------------------------------------------------- 970 970 ! 971 #if defined key_mpp_mpi971 #if ! defined key_mpi_off 972 972 CALL MPI_COMM_FREE(kcom, ierr) 973 973 #endif … … 1001 1001 INTEGER, ALLOCATABLE, DIMENSION(:) :: kwork 1002 1002 !!---------------------------------------------------------------------- 1003 #if defined key_mpp_mpi1003 #if ! defined key_mpi_off 1004 1004 !-$$ WRITE (numout,*) 'mpp_ini_znl ', nproc, ' - ngrp_world : ', ngrp_world 1005 1005 !-$$ WRITE (numout,*) 'mpp_ini_znl ', nproc, ' - mpi_comm_world : ', mpi_comm_world … … 1094 1094 LOGICAL, PARAMETER :: ireord = .FALSE. 1095 1095 1096 #if defined key_mpp_mpi1096 #if ! defined key_mpi_off 1097 1097 1098 1098 ideg = 0 … … 1248 1248 !!---------------------------------------------------------------------- 1249 1249 ! 1250 #if defined key_mpp_mpi1250 #if ! defined key_mpi_off 1251 1251 njmppmax = MAXVAL( njmppt ) 1252 1252 ! … … 1330 1330 INTEGER :: ji, jj, jk, jh, jf, jcount ! dummy loop indices 1331 1331 !!---------------------------------------------------------------------- 1332 #if defined key_mpp_mpi1332 #if ! defined key_mpi_off 1333 1333 ! 1334 1334 ll_lbc = .FALSE. … … 1451 1451 REAL(dp), SAVE :: tic_ct = 0._dp 1452 1452 INTEGER :: ii 1453 #if defined key_mpp_mpi1453 #if ! defined key_mpi_off 1454 1454 1455 1455 IF( ncom_stp <= nit000 ) RETURN … … 1471 1471 END SUBROUTINE tic_tac 1472 1472 1473 #if ! defined key_mpp_mpi1473 #if defined key_mpi_off 1474 1474 SUBROUTINE mpi_wait(request, status, ierror) 1475 1475 INTEGER , INTENT(in ) :: request … … 1792 1792 !write(*,'(32A)') cdnambuff 1793 1793 ENDIF 1794 #if defined key_mpp_mpi1794 #if ! defined key_mpi_off 1795 1795 CALL mpp_bcast_nml( cdnambuff, itot ) 1796 1796 #endif -
NEMO/trunk/src/OCE/LBC/mpp_allreduce_generic.h90
r13226 r14229 48 48 INTEGER, OPTIONAL, INTENT(in ) :: kdim ! optional pointer dimension 49 49 INTEGER, OPTIONAL, INTENT(in ) :: kcom ! optional communicator 50 #if defined key_mpp_mpi50 #if ! defined key_mpi_off 51 51 ! 52 52 INTEGER :: ipi, ii, ierr -
NEMO/trunk/src/OCE/LBC/mpp_lbc_north_icb_generic.h90
r13438 r14229 42 42 REAL(PRECISION), DIMENSION(:,:,:), ALLOCATABLE :: znorthgloio_e 43 43 !!---------------------------------------------------------------------- 44 #if defined key_mpp_mpi44 #if ! defined key_mpi_off 45 45 ! 46 46 ipj=4 … … 67 67 ! 68 68 IF( ln_timing ) CALL tic_tac(.TRUE.) 69 #if defined key_mpp_mpi69 #if ! defined key_mpi_off 70 70 CALL MPI_ALLGATHER( znorthloc_e(1,1-kextj) , itaille, MPI_TYPE, & 71 71 & znorthgloio_e(1,1-kextj,1), itaille, MPI_TYPE, & -
NEMO/trunk/src/OCE/LBC/mpp_loc_generic.h90
r13458 r14229 2 2 # if defined SINGLE_PRECISION 3 3 # define ARRAY_TYPE(i,j,k) REAL(sp) , INTENT(in ) :: ARRAY_IN(i,j,k) 4 #if defined key_mpp_mpi4 #if ! defined key_mpi_off 5 5 # define MPI_TYPE MPI_2REAL 6 6 #endif … … 8 8 # else 9 9 # define ARRAY_TYPE(i,j,k) REAL(dp) , INTENT(in ) :: ARRAY_IN(i,j,k) 10 #if defined key_mpp_mpi10 #if ! defined key_mpi_off 11 11 # define MPI_TYPE MPI_2DOUBLE_PRECISION 12 12 #endif … … 95 95 zain(2,:) = REAL(index0, PRECISION) 96 96 ! 97 #if defined key_mpp_mpi97 #if ! defined key_mpi_off 98 98 IF( ln_timing ) CALL tic_tac(.TRUE., ld_global = .TRUE.) 99 99 CALL MPI_ALLREDUCE( zain, zaout, 1, MPI_TYPE, MPI_OPERATION ,MPI_COMM_OCE, ierror) … … 131 131 #undef MASK_IN 132 132 #undef K_SIZE 133 #if defined key_mpp_mpi133 #if ! defined key_mpi_off 134 134 # undef MPI_TYPE 135 135 #endif -
NEMO/trunk/src/OCE/LBC/mpp_nfd_generic.h90
r13438 r14229 317 317 ! start waiting time measurement 318 318 IF( ln_timing ) CALL tic_tac(.TRUE.) 319 #if defined key_mpp_mpi319 #if ! defined key_mpi_off 320 320 CALL MPI_ALLGATHER( znorthloc, ibuffsize, MPI_TYPE, znorthglo, ibuffsize, MPI_TYPE, ncomm_north, ierr ) 321 321 #endif -
NEMO/trunk/src/OCE/LBC/mppini.F90
r14072 r14229 47 47 CONTAINS 48 48 49 #if ! defined key_mpp_mpi49 #if defined key_mpi_off 50 50 !!---------------------------------------------------------------------- 51 51 !! Default option : shared memory computing … … 107 107 #else 108 108 !!---------------------------------------------------------------------- 109 !! 'key_mpp_mpi'MPI massively parallel processing109 !! MPI massively parallel processing 110 110 !!---------------------------------------------------------------------- 111 111
Note: See TracChangeset
for help on using the changeset viewer.