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 13906 for NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests – NEMO

Ignore:
Timestamp:
2020-11-28T19:03:50+01:00 (4 years ago)
Author:
mocavero
Message:

Merge with dev_r13296_HPC-07_mocavero_mpi3

Location:
NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/BENCH/MY_SRC/usrdef_istate.F90

    r13295 r13906  
    9595      pv( :,:,jpk  ) = 0._wp 
    9696      ! 
     97#if defined key_mpi3 
     98      CALL lbc_lnk_nc_multi('usrdef_istate', pssh, 'T',  1. )            ! apply boundary conditions 
     99      CALL lbc_lnk_nc_multi('usrdef_istate',  pts, 'T',  1. )            ! apply boundary conditions 
     100      CALL lbc_lnk_nc_multi('usrdef_istate',   pu, 'U', -1. )            ! apply boundary conditions 
     101      CALL lbc_lnk_nc_multi('usrdef_istate',   pv, 'V', -1. )            ! apply boundary conditions 
     102#else 
    97103      CALL lbc_lnk('usrdef_istate', pssh, 'T',  1. )            ! apply boundary conditions 
    98104      CALL lbc_lnk('usrdef_istate',  pts, 'T',  1. )            ! apply boundary conditions 
    99105      CALL lbc_lnk('usrdef_istate',   pu, 'U', -1. )            ! apply boundary conditions 
    100106      CALL lbc_lnk('usrdef_istate',   pv, 'V', -1. )            ! apply boundary conditions 
     107#endif 
    101108       
    102109   END SUBROUTINE usr_def_istate 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/BENCH/MY_SRC/usrdef_sbc.F90

    r13742 r13906  
    120120      vtau_ice(:,:) = 0.1_wp + z2d(:,:) 
    121121 
     122#if defined key_mpi3 
     123      CALL lbc_lnk_nc_multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
     124#else 
    122125      CALL lbc_lnk_multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
     126#endif 
    123127#endif 
    124128      ! 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/BENCH/MY_SRC/usrdef_zgr.F90

    r13286 r13906  
    210210 
    211211      ! 
     212#if defined key_mpi3 
     213      CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     214#else 
    212215      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     216#endif 
    213217      ! 
    214218      k_bot(:,:) = INT( z2d(:,:) )           ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/CANAL/MY_SRC/domvvl.F90

    r13742 r13906  
    439439         !                       ! d - thickness diffusion transport: boundary conditions 
    440440         !                             (stored for tracer advction and continuity equation) 
     441#if defined key_mpi3 
     442         CALL lbc_lnk_nc_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
     443#else 
    441444         CALL lbc_lnk_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
     445#endif 
    442446 
    443447         ! 4 - Time stepping of baroclinic scale factors 
    444448         ! --------------------------------------------- 
     449#if defined key_mpi3 
     450         CALL lbc_lnk_nc_multi( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 
     451#else 
    445452         CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 
     453#endif 
    446454         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 
    447455 
     
    717725               &                           + e1e2t(ji+1,jj) * ( pe3_in(ji+1,jj,jk) - e3t_0(ji+1,jj,jk) ) ) 
    718726         END_3D 
     727#if defined key_mpi3 
     728         CALL lbc_lnk_nc_multi( 'domvvl', pe3_out(:,:,:), 'U', 1._wp ) 
     729#else 
    719730         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'U', 1._wp ) 
     731#endif 
    720732         pe3_out(:,:,:) = pe3_out(:,:,:) + e3u_0(:,:,:) 
    721733         ! 
     
    726738               &                           + e1e2t(ji,jj+1) * ( pe3_in(ji,jj+1,jk) - e3t_0(ji,jj+1,jk) ) ) 
    727739         END_3D 
     740#if defined key_mpi3 
     741         CALL lbc_lnk_nc_multi( 'domvvl', pe3_out(:,:,:), 'V', 1._wp ) 
     742#else 
    728743         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'V', 1._wp ) 
     744#endif 
    729745         pe3_out(:,:,:) = pe3_out(:,:,:) + e3v_0(:,:,:) 
    730746         ! 
     
    736752               &                           + e1e2u(ji,jj+1) * ( pe3_in(ji,jj+1,jk) - e3u_0(ji,jj+1,jk) ) ) 
    737753         END_3D 
     754#if defined key_mpi3 
     755         CALL lbc_lnk_nc_multi( 'domvvl', pe3_out(:,:,:), 'F', 1._wp ) 
     756#else 
    738757         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'F', 1._wp ) 
     758#endif 
    739759         pe3_out(:,:,:) = pe3_out(:,:,:) + e3f_0(:,:,:) 
    740760         ! 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/CANAL/MY_SRC/trazdf.F90

    r13819 r13906  
    9696         END DO 
    9797!!gm this should be moved in trdtra.F90 and done on all trends 
     98#if defined key_mpi3 
     99         CALL lbc_lnk_nc_multi( 'trazdf', ztrdt, 'T', 1. , ztrds, 'T', 1. ) 
     100#else 
    98101         CALL lbc_lnk_multi( 'trazdf', ztrdt, 'T', 1. , ztrds, 'T', 1. ) 
     102#endif 
    99103!!gm 
    100104         CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_zdf, ztrdt ) 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/CANAL/MY_SRC/usrdef_istate.F90

    r13742 r13906  
    189189               pssh(ji,jj) = pssh(ji,jj-1) - ff_t(ji,jj) / grav * pu(ji,jj,1) * e2t(ji,jj) 
    190190            END_2D 
     191#if defined key_mpi3 
     192            CALL lbc_lnk_nc_multi( 'usrdef_istate', pssh, 'T',  1. ) 
     193#else 
    191194            CALL lbc_lnk( 'usrdef_istate', pssh, 'T',  1. ) 
     195#endif 
    192196         END DO 
    193197          
     
    305309         pssh(:,:) = pssh(:,:) + ( 0.1  * zrandom(:,:) - 0.05 ) 
    306310      END IF 
     311#if defined key_mpi3 
     312      CALL lbc_lnk_nc_multi( 'usrdef_istate', pssh, 'T',  1. ) 
     313      CALL lbc_lnk_nc_multi( 'usrdef_istate', pts , 'T',  1. ) 
     314      CALL lbc_lnk_nc_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 
     315#else 
    307316      CALL lbc_lnk( 'usrdef_istate', pssh, 'T',  1. ) 
    308317      CALL lbc_lnk( 'usrdef_istate', pts , 'T',  1. ) 
    309318      CALL lbc_lnk_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 
     319#endif 
    310320 
    311321   END SUBROUTINE usr_def_istate 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/CANAL/MY_SRC/usrdef_zgr.F90

    r13742 r13906  
    202202      END SELECT 
    203203      ! 
     204#if defined key_mpi3 
     205      CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     206#else 
    204207      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     208#endif 
    205209      ! 
    206210      k_bot(:,:) = NINT( z2d(:,:) )          ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/ISOMIP+/MY_SRC/sbcfwb.F90

    r13742 r13906  
    206206            ! 
    207207!!gm   ===>>>>  lbc_lnk should be useless as all the computation is done over the whole domain ! 
     208#if defined key_mpi3 
     209            CALL lbc_lnk_nc_multi( 'sbcfwb', zerp_cor, 'T', 1.0_wp ) 
     210#else 
    208211            CALL lbc_lnk( 'sbcfwb', zerp_cor, 'T', 1.0_wp ) 
     212#endif 
    209213            ! 
    210214            emp(:,:) = emp(:,:) + zerp_cor(:,:) 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/ISOMIP/MY_SRC/usrdef_zgr.F90

    r13295 r13906  
    164164            pe3f (ji,jj,jk) = pe3v(ji,jj,jk) 
    165165         END_3D 
     166#if defined key_mpi3 
     167         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3v , 'V', 1._wp )   ;   CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3vw, 'V', 1._wp ) 
     168         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3f , 'F', 1._wp ) 
     169#else 
    166170         CALL lbc_lnk( 'usrdef_zgr', pe3v , 'V', 1._wp )   ;   CALL lbc_lnk( 'usrdef_zgr', pe3vw, 'V', 1._wp ) 
    167171         CALL lbc_lnk( 'usrdef_zgr', pe3f , 'F', 1._wp ) 
     172#endif 
    168173         DO jk = 1, jpk 
    169174            ! set to z-scale factor if zero (i.e. along closed boundaries) because of lbclnk 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/LOCK_EXCHANGE/MY_SRC/usrdef_zgr.F90

    r12377 r13906  
    8686      ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0  
    8787      z2d(:,:) = 1._wp                    ! surface ocean is the 1st level 
     88#if defined key_mpi3 
     89      CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     90#else 
    8891      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     92#endif 
    8993      k_top(:,:) = NINT( z2d(:,:) ) 
    9094      ! 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/OVERFLOW/MY_SRC/usrdef_zgr.F90

    r13295 r13906  
    9393         zhu(ji,:) = 0.5_wp * ( zht(ji,:) + zht(ji+1,:) ) 
    9494      END DO 
     95#if defined key_mpi3 
     96      CALL lbc_lnk_nc_multi( 'usrdef_zgr', zhu, 'U', 1. )     ! boundary condition: this mask the surrouding grid-points 
     97#else 
    9598      CALL lbc_lnk( 'usrdef_zgr', zhu, 'U', 1. )     ! boundary condition: this mask the surrouding grid-points 
     99#endif 
    96100      !                                ! ==>>>  set by hand non-zero value on first/last columns & rows  
    97101      DO ji = mi0(1), mi1(1)              ! first row of global domain only 
     
    112116      ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0  
    113117      z2d(:,:) = 1._wp                    ! surface ocean is the 1st level 
     118#if defined key_mpi3 
     119      CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     120#else 
    114121      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     122#endif 
    115123      k_top(:,:) = NINT( z2d(:,:) ) 
    116124      ! 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/VORTEX/MY_SRC/domvvl.F90

    r13742 r13906  
    439439         !                       ! d - thickness diffusion transport: boundary conditions 
    440440         !                             (stored for tracer advction and continuity equation) 
     441#if defined key_mpi3 
     442         CALL lbc_lnk_nc_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
     443#else 
    441444         CALL lbc_lnk_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
     445#endif 
    442446 
    443447         ! 4 - Time stepping of baroclinic scale factors 
    444448         ! --------------------------------------------- 
     449#if defined key_mpi3 
     450         CALL lbc_lnk_nc_multi( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 
     451#else 
    445452         CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 
     453#endif 
    446454         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 
    447455 
     
    717725               &                           + e1e2t(ji+1,jj) * ( pe3_in(ji+1,jj,jk) - e3t_0(ji+1,jj,jk) ) ) 
    718726         END_3D 
     727#if defined key_mpi3 
     728         CALL lbc_lnk_nc_multi( 'domvvl', pe3_out(:,:,:), 'U', 1._wp ) 
     729#else 
    719730         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'U', 1._wp ) 
     731#endif 
    720732         pe3_out(:,:,:) = pe3_out(:,:,:) + e3u_0(:,:,:) 
    721733         ! 
     
    726738               &                           + e1e2t(ji,jj+1) * ( pe3_in(ji,jj+1,jk) - e3t_0(ji,jj+1,jk) ) ) 
    727739         END_3D 
     740#if defined key_mpi3 
     741         CALL lbc_lnk_nc_multi( 'domvvl', pe3_out(:,:,:), 'V', 1._wp ) 
     742#else 
    728743         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'V', 1._wp ) 
     744#endif 
    729745         pe3_out(:,:,:) = pe3_out(:,:,:) + e3v_0(:,:,:) 
    730746         ! 
     
    736752               &                           + e1e2u(ji,jj+1) * ( pe3_in(ji,jj+1,jk) - e3u_0(ji,jj+1,jk) ) ) 
    737753         END_3D 
     754#if defined key_mpi3 
     755         CALL lbc_lnk_nc_multi( 'domvvl', pe3_out(:,:,:), 'F', 1._wp ) 
     756#else 
    738757         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'F', 1._wp ) 
     758#endif 
    739759         pe3_out(:,:,:) = pe3_out(:,:,:) + e3f_0(:,:,:) 
    740760         ! 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/VORTEX/MY_SRC/usrdef_istate.F90

    r13295 r13906  
    130130      END_2D 
    131131      ! 
     132#if defined key_mpi3 
     133      CALL lbc_lnk_nc_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 
     134#else 
    132135      CALL lbc_lnk_multi( 'usrdef_istate', pu, 'U', -1., pv, 'V', -1. ) 
     136#endif 
    133137      !    
    134138   END SUBROUTINE usr_def_istate 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/VORTEX/MY_SRC/usrdef_zgr.F90

    r12740 r13906  
    190190      z2d(:,:) = REAL( jpkm1 , wp )          ! flat bottom 
    191191      ! 
     192#if defined key_mpi3 
     193      CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     194#else 
    192195      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     196#endif 
    193197      ! 
    194198      k_bot(:,:) = NINT( z2d(:,:) )          ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2020/dev_r13898_Tiling_Cleanup_MPI3/tests/WAD/MY_SRC/usrdef_zgr.F90

    r13295 r13906  
    233233         zhu(ji,:) = 0.5_wp * ( zht(ji,:) + zht(ji+1,:) ) 
    234234      END DO 
     235#if defined key_mpi3 
     236      CALL lbc_lnk_nc_multi( 'usrdef_zgr', zhu, 'U', 1. )     ! boundary condition: this mask the surrounding grid-points 
     237#else 
    235238      CALL lbc_lnk( 'usrdef_zgr', zhu, 'U', 1. )     ! boundary condition: this mask the surrounding grid-points 
     239#endif 
    236240      !                                ! ==>>>  set by hand non-zero value on first/last columns & rows  
    237241      DO ji = mi0(1), mi1(1)              ! first row of global domain only 
     
    246250         zhv(ji,jj) = 0.5_wp * ( zht(ji,jj) + zht(ji,jj+1) ) 
    247251      END_2D 
     252#if defined key_mpi3 
     253      CALL lbc_lnk_nc_multi( 'usrdef_zgr', zhv, 'V', 1. )     ! boundary condition: this mask the surrounding grid-points 
     254#else 
    248255      CALL lbc_lnk( 'usrdef_zgr', zhv, 'V', 1. )     ! boundary condition: this mask the surrounding grid-points 
     256#endif 
    249257      DO jj = mj0(1), mj1(1)   ! first  row of global domain only 
    250258         zhv(:,jj) = zht(:,jj) 
     
    271279 
    272280 
     281#if defined key_mpi3 
     282      CALL lbc_lnk_nc_multi( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     283#else 
    273284      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     285#endif 
    274286      k_top(:,:) = NINT( z2d(:,:) ) 
    275287      ! 
     
    306318            END DO 
    307319         END_2D      
     320#if defined key_mpi3 
     321         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pdept, 'T', 1. ) 
     322         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pdepw, 'T', 1. ) 
     323         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3t , 'T', 1. ) 
     324         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3w , 'T', 1. ) 
     325         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3u , 'U', 1. ) 
     326         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3uw, 'U', 1. ) 
     327         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3f , 'F', 1. ) 
     328         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3v , 'V', 1. ) 
     329         CALL lbc_lnk_nc_multi( 'usrdef_zgr', pe3vw, 'V', 1. ) 
     330#else 
    308331         CALL lbc_lnk( 'usrdef_zgr', pdept, 'T', 1. ) 
    309332         CALL lbc_lnk( 'usrdef_zgr', pdepw, 'T', 1. ) 
     
    315338         CALL lbc_lnk( 'usrdef_zgr', pe3v , 'V', 1. ) 
    316339         CALL lbc_lnk( 'usrdef_zgr', pe3vw, 'V', 1. ) 
     340#endif 
    317341         WHERE( pe3t (:,:,:) == 0._wp )   pe3t (:,:,:) = 1._wp 
    318342         WHERE( pe3u (:,:,:) == 0._wp )   pe3u (:,:,:) = 1._wp 
Note: See TracChangeset for help on using the changeset viewer.