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 13630 for NEMO/branches/2020/dev_r13296_HPC-07_mocavero_mpi3/src/OCE/SBC/sbcice_cice.F90 – NEMO

Ignore:
Timestamp:
2020-10-19T10:48:19+02:00 (4 years ago)
Author:
mocavero
Message:

Add neighborhood collectives calls in the NEMO src - ticket #2496

File:
1 edited

Legend:

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

    r13295 r13630  
    222222      END_2D 
    223223 
     224#if defined key_mpi3 
     225      CALL lbc_lnk_nc_multi( 'sbcice_cice', fr_iu , 'U', 1.0_wp,  fr_iv , 'V', 1.0_wp ) 
     226#else 
    224227      CALL lbc_lnk_multi( 'sbcice_cice', fr_iu , 'U', 1.0_wp,  fr_iv , 'V', 1.0_wp ) 
     228#endif 
    225229 
    226230      ! set the snow+ice mass 
     
    506510         ss_iou(ji,jj) = 0.5 * ( ztmp1(ji,jj-1) + ztmp1(ji,jj) ) * umask(ji,jj,1) 
    507511      END_2D 
     512#if defined key_mpi3 
     513      CALL lbc_lnk_nc_multi( 'sbcice_cice', ss_iou , 'U', -1.0_wp ) 
     514#else 
    508515      CALL lbc_lnk( 'sbcice_cice', ss_iou , 'U', -1.0_wp ) 
     516#endif 
    509517 
    510518! y comp of ocean-ice stress  
     
    516524         ss_iov(ji,jj) = 0.5 * ( ztmp1(ji-1,jj) + ztmp1(ji,jj) ) * vmask(ji,jj,1) 
    517525      END_2D 
     526#if defined key_mpi3 
     527      CALL lbc_lnk_nc_multi( 'sbcice_cice', ss_iov , 'V', -1.0_wp ) 
     528#else 
    518529      CALL lbc_lnk( 'sbcice_cice', ss_iov , 'V', -1.0_wp ) 
     530#endif 
    519531 
    520532! x and y comps of surface stress 
     
    569581      fmmflx(:,:) = ztmp1(:,:) !!Joakim edit 
    570582       
     583#if defined key_mpi3 
     584      CALL lbc_lnk_nc_multi( 'sbcice_cice', emp , 'T', 1.0_wp, sfx , 'T', 1.0_wp ) 
     585#else 
    571586      CALL lbc_lnk_multi( 'sbcice_cice', emp , 'T', 1.0_wp, sfx , 'T', 1.0_wp ) 
     587#endif 
    572588 
    573589! Solar penetrative radiation and non solar surface heat flux 
     
    595611#endif 
    596612      qsr(:,:)=qsr(:,:)+ztmp1(:,:) 
     613#if defined key_mpi3 
     614      CALL lbc_lnk_nc_multi( 'sbcice_cice', qsr , 'T', 1.0_wp ) 
     615#else 
    597616      CALL lbc_lnk( 'sbcice_cice', qsr , 'T', 1.0_wp ) 
     617#endif 
    598618 
    599619      DO_2D( 1, 1, 1, 1 ) 
     
    608628      qns(:,:)=qns(:,:)+nfrzmlt(:,:)+ztmp1(:,:) 
    609629 
     630#if defined key_mpi3 
     631      CALL lbc_lnk_nc_multi( 'sbcice_cice', qns , 'T', 1.0_wp ) 
     632#else 
    610633      CALL lbc_lnk( 'sbcice_cice', qns , 'T', 1.0_wp ) 
     634#endif 
    611635 
    612636! Prepare for the following CICE time-step 
     
    626650      END_2D 
    627651 
     652#if defined key_mpi3 
     653      CALL lbc_lnk_nc_multi( 'sbcice_cice', fr_iu , 'U', 1.0_wp, fr_iv , 'V', 1.0_wp ) 
     654#else 
    628655      CALL lbc_lnk_multi( 'sbcice_cice', fr_iu , 'U', 1.0_wp, fr_iv , 'V', 1.0_wp ) 
     656#endif 
    629657 
    630658      ! set the snow+ice mass 
     
    848876!     A. Ensure all haloes are filled in NEMO field (pn) 
    849877 
     878#if defined key_mpi3 
     879      CALL lbc_lnk_nc_multi( 'sbcice_cice', pn , cd_type, psgn ) 
     880#else 
    850881      CALL lbc_lnk( 'sbcice_cice', pn , cd_type, psgn ) 
     882#endif 
    851883 
    852884#if defined key_nemocice_decomp 
     
    10231055!     D. Ensure all haloes are filled in pn 
    10241056 
     1057#if defined key_mpi3 
     1058      CALL lbc_lnk_nc_multi( 'sbcice_cice', pn , cd_type, psgn ) 
     1059#else 
    10251060      CALL lbc_lnk( 'sbcice_cice', pn , cd_type, psgn ) 
     1061#endif 
    10261062 
    10271063   END SUBROUTINE cice2nemo 
Note: See TracChangeset for help on using the changeset viewer.