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 13570 for NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/src/OCE – NEMO

Ignore:
Timestamp:
2020-10-06T16:49:27+02:00 (4 years ago)
Author:
mocavero
Message:

Added key_mpi3 to activate/deactivate the use of MPI3 neighborhood collectives lbc routines - ticket #2496

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/src/OCE/TRA/traadv_fct.F90

    r13561 r13570  
    237237               END_2D 
    238238            END DO 
    239             CALL lbc_lnk_nc_multi( 'traadv_fct', zltu, 'T', 1.0_wp , zltv, 'T', 1.0_wp )   ! Lateral boundary cond. (unchanged sgn) 
     239#if defined key_mpi3 
     240            CALL lbc_lnk_nc_multi( 'traadv_fct', zltu, 'T', 1.0_wp , zltv, 'T', 1.0_wp, ncsten=.FALSE. )   ! Lateral boundary cond. (unchanged sgn) 
     241#else 
     242            CALL lbc_lnk_multi( 'traadv_fct', zltu, 'T', 1.0_wp , zltv, 'T', 1.0_wp )   ! Lateral boundary cond. (unchanged sgn) 
     243#endif 
    240244            ! 
    241245            DO_3D( 1, 0, 1, 0, 1, jpkm1 ) 
     
    254258               ztv(ji,jj,jk) = ( pt(ji  ,jj+1,jk,jn,Kmm) - pt(ji,jj,jk,jn,Kmm) ) * vmask(ji,jj,jk) 
    255259            END_3D 
    256             CALL lbc_lnk_nc_multi( 'traadv_fct', ztu, 'U', -1.0_wp , ztv, 'V', -1.0_wp )   ! Lateral boundary cond. (unchanged sgn) 
     260#if defined key_mpi3 
     261            CALL lbc_lnk_nc_multi( 'traadv_fct', ztu, 'U', -1.0_wp , ztv, 'V', -1.0_wp, ncsten=.FALSE. )   ! Lateral boundary cond. (unchanged sgn) 
     262#else 
     263            CALL lbc_lnk_multi( 'traadv_fct', ztu, 'U', -1.0_wp , ztv, 'V', -1.0_wp )   ! Lateral boundary cond. (unchanged sgn) 
     264#endif 
    257265            ! 
    258266            DO_3D( 0, 0, 0, 0, 1, jpkm1 ) 
     
    306314         END IF 
    307315         ! 
    308          CALL lbc_lnk_nc_multi( 'traadv_fct', zwi, 'T', 1.0_wp, zwx, 'U', -1.0_wp , zwy, 'V', -1.0_wp,  zwz, 'W',  1.0_wp ) 
     316#if defined key_mpi3 
     317         CALL lbc_lnk_nc_multi( 'traadv_fct', zwi, 'T', 1.0_wp, zwx, 'U', -1.0_wp , zwy, 'V', -1.0_wp,  zwz, 'W',  1.0_wp, ncsten=.FALSE. ) 
     318#else 
     319         CALL lbc_lnk_multi( 'traadv_fct', zwi, 'T', 1.0_wp, zwx, 'U', -1.0_wp , zwy, 'V', -1.0_wp,  zwz, 'W',  1.0_wp ) 
     320#endif 
    309321         ! 
    310322         !        !==  monotonicity algorithm  ==! 
     
    440452         END_2D 
    441453      END DO 
    442       CALL lbc_lnk_nc_multi( 'traadv_fct', zbetup, 'T', 1.0_wp , zbetdo, 'T', 1.0_wp )   ! lateral boundary cond. (unchanged sign) 
     454#if defined key_mpi3 
     455      CALL lbc_lnk_nc_multi( 'traadv_fct', zbetup, 'T', 1.0_wp , zbetdo, 'T', 1.0_wp, ncsten=.FALSE. )   ! lateral boundary cond. (unchanged sign) 
     456#else 
     457      CALL lbc_lnk_multi( 'traadv_fct', zbetup, 'T', 1.0_wp , zbetdo, 'T', 1.0_wp )   ! lateral boundary cond. (unchanged sign) 
     458#endif 
    443459 
    444460      ! 3. monotonic flux in the i & j direction (paa & pbb) 
     
    462478         pcc(ji,jj,jk+1) = pcc(ji,jj,jk+1) * ( zc * za + ( 1._wp - zc) * zb ) 
    463479      END_3D 
    464       CALL lbc_lnk_nc_multi( 'traadv_fct', paa, 'U', -1.0_wp , pbb, 'V', -1.0_wp ) ! lateral boundary condition (changed sign) 
     480#if defined key_mpi3 
     481      CALL lbc_lnk_nc_multi( 'traadv_fct', paa, 'U', -1.0_wp , pbb, 'V', -1.0_wp, ncsten=.FALSE. ) ! lateral boundary condition (changed sign) 
     482#else 
     483      CALL lbc_lnk_multi( 'traadv_fct', paa, 'U', -1.0_wp , pbb, 'V', -1.0_wp ) ! lateral boundary condition (changed sign) 
     484#endif 
    465485      ! 
    466486   END SUBROUTINE nonosc 
Note: See TracChangeset for help on using the changeset viewer.