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 13056 for utils/tools_dev_r12970_AGRIF_CMEMS/DOMAINcfg/src/lib_mpp.F90 – NEMO

Ignore:
Timestamp:
2020-06-07T18:26:09+02:00 (4 years ago)
Author:
rblod
Message:

ticket #2129 : cleaning domcfg

File:
1 edited

Legend:

Unmodified
Added
Removed
  • utils/tools_dev_r12970_AGRIF_CMEMS/DOMAINcfg/src/lib_mpp.F90

    r13024 r13056  
    1919   !!            3.2  !  2009  (O. Marti)    add mpp_ini_znl 
    2020   !!            4.0  !  2011  (G. Madec)  move ctl_ routines from in_out_manager 
    21    !!            3.5  !  2012  (S.Mocavero, I. Epicoco) Add mpp_lnk_bdy_3d/2d routines to optimize the BDY comm. 
    2221   !!            3.5  !  2013  (C. Ethe, G. Madec)  message passing arrays as local variables  
    2322   !!            3.5  !  2013  (S.Mocavero, I.Epicoco - CMCC) north fold optimizations 
     
    8786   PUBLIC   mpp_ini_znl 
    8887   PUBLIC   mppsend, mpprecv                          ! needed by TAM and ICB routines 
    89    PUBLIC   mpp_lnk_bdy_2d, mpp_lnk_bdy_3d, mpp_lnk_bdy_4d 
    9088    
    9189   !! * Interfaces 
     
    179177   INTEGER,          DIMENSION(nbdelay), PUBLIC  ::   ndelayid = -1     !: mpi request id of the delayed operations 
    180178 
    181    ! timing summary report 
    182    REAL(wp), DIMENSION(2), PUBLIC ::  waiting_time = 0._wp 
    183    REAL(wp)              , PUBLIC ::  compute_time = 0._wp, elapsed_time = 0._wp 
    184     
    185179   REAL(wp), DIMENSION(:), ALLOCATABLE, SAVE ::   tampon   ! buffer in case of bsend 
    186180 
     
    435429 
    436430   !!---------------------------------------------------------------------- 
    437    !!                   ***  routine mpp_lnk_bdy_(2,3,4)d  *** 
    438    !! 
    439    !!   * Argument : dummy argument use in mpp_lnk_... routines 
    440    !!                ptab   :   array or pointer of arrays on which the boundary condition is applied 
    441    !!                cd_nat :   nature of array grid-points 
    442    !!                psgn   :   sign used across the north fold boundary 
    443    !!                kb_bdy :   BDY boundary set 
    444    !!                kfld   :   optional, number of pt3d arrays 
    445    !!---------------------------------------------------------------------- 
    446    ! 
    447    !                       !==  2D array and array of 2D pointer  ==! 
    448    ! 
    449 #  define DIM_2d 
    450 #     define ROUTINE_BDY           mpp_lnk_bdy_2d 
    451 #     include "mpp_bdy_generic.h90" 
    452 #     undef ROUTINE_BDY 
    453 #  undef DIM_2d 
    454    ! 
    455    !                       !==  3D array and array of 3D pointer  ==! 
    456    ! 
    457 #  define DIM_3d 
    458 #     define ROUTINE_BDY           mpp_lnk_bdy_3d 
    459 #     include "mpp_bdy_generic.h90" 
    460 #     undef ROUTINE_BDY 
    461 #  undef DIM_3d 
    462    ! 
    463    !                       !==  4D array and array of 4D pointer  ==! 
    464    ! 
    465 #  define DIM_4d 
    466 #     define ROUTINE_BDY           mpp_lnk_bdy_4d 
    467 #     include "mpp_bdy_generic.h90" 
    468 #     undef ROUTINE_BDY 
    469 #  undef DIM_4d 
    470  
    471    !!---------------------------------------------------------------------- 
    472431   !! 
    473432   !!   load_array  &   mpp_lnk_2d_9    à generaliser a 3D et 4D 
     
    640599      ! send y_in into todelay(idvar)%y1d with a non-blocking communication 
    641600#if defined key_mpi2 
    642       IF( ln_timing ) CALL tic_tac( .TRUE., ld_global = .TRUE.) 
    643601      CALL  mpi_allreduce( y_in(:), todelay(idvar)%y1d(:), isz, MPI_DOUBLE_COMPLEX, mpi_sumdd, ilocalcomm, ndelayid(idvar), ierr ) 
    644       IF( ln_timing ) CALL tic_tac(.FALSE., ld_global = .TRUE.) 
    645602#else 
    646603      CALL mpi_iallreduce( y_in(:), todelay(idvar)%y1d(:), isz, MPI_DOUBLE_COMPLEX, mpi_sumdd, ilocalcomm, ndelayid(idvar), ierr ) 
     
    703660      ! send p_in into todelay(idvar)%z1d with a non-blocking communication 
    704661#if defined key_mpi2 
    705       IF( ln_timing ) CALL tic_tac( .TRUE., ld_global = .TRUE.) 
    706662      CALL  mpi_allreduce( p_in(:), todelay(idvar)%z1d(:), isz, MPI_DOUBLE_PRECISION, mpi_max, ilocalcomm, ndelayid(idvar), ierr ) 
    707       IF( ln_timing ) CALL tic_tac(.FALSE., ld_global = .TRUE.) 
    708663#else 
    709664      CALL mpi_iallreduce( p_in(:), todelay(idvar)%z1d(:), isz, MPI_DOUBLE_PRECISION, mpi_max, ilocalcomm, ndelayid(idvar), ierr ) 
     
    725680      IF( ndelayid(kid) /= -2 ) THEN   
    726681#if ! defined key_mpi2 
    727          IF( ln_timing ) CALL tic_tac( .TRUE., ld_global = .TRUE.) 
    728682         CALL mpi_wait( ndelayid(kid), MPI_STATUS_IGNORE, ierr )                        ! make sure todelay(kid) is received 
    729          IF( ln_timing ) CALL tic_tac(.FALSE., ld_global = .TRUE.) 
    730683#endif 
    731684         IF( ASSOCIATED(todelay(kid)%y1d) )   todelay(kid)%z1d(:) = REAL(todelay(kid)%y1d(:), wp)  ! define %z1d from %y1d 
     
    12361189      itaille = jpimax * ( ipj + 2*kextj ) 
    12371190      ! 
    1238       IF( ln_timing ) CALL tic_tac(.TRUE.) 
    12391191      CALL MPI_ALLGATHER( znorthloc_e(1,1-kextj)    , itaille, MPI_DOUBLE_PRECISION,    & 
    12401192         &                znorthgloio_e(1,1-kextj,1), itaille, MPI_DOUBLE_PRECISION,    & 
    12411193         &                ncomm_north, ierr ) 
    12421194      ! 
    1243       IF( ln_timing ) CALL tic_tac(.FALSE.) 
    12441195      ! 
    12451196      DO jr = 1, ndim_rank_north            ! recover the global north array 
     
    13671318      !                           ! Migrations 
    13681319      imigr = ipreci * ( jpj + 2*kextj ) 
    1369       ! 
    1370       IF( ln_timing ) CALL tic_tac(.TRUE.) 
    13711320      ! 
    13721321      SELECT CASE ( nbondi ) 
     
    13881337      END SELECT 
    13891338      ! 
    1390       IF( ln_timing ) CALL tic_tac(.FALSE.) 
    1391       ! 
    13921339      !                           ! Write Dirichlet lateral conditions 
    13931340      iihom = jpi - nn_hls 
     
    14241371      !                           ! Migrations 
    14251372      imigr = iprecj * ( jpi + 2*kexti ) 
    1426       ! 
    1427       IF( ln_timing ) CALL tic_tac(.TRUE.) 
    14281373      ! 
    14291374      SELECT CASE ( nbondj ) 
     
    14441389         IF(l_isend) CALL mpi_wait(ml_req1,ml_stat,ml_err) 
    14451390      END SELECT 
    1446       ! 
    1447       IF( ln_timing ) CALL tic_tac(.FALSE.) 
    14481391      ! 
    14491392      !                           ! Write Dirichlet lateral conditions 
Note: See TracChangeset for help on using the changeset viewer.