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 9814 for NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src – NEMO

Ignore:
Timestamp:
2018-06-20T15:41:08+02:00 (6 years ago)
Author:
smasson
Message:

dev_r9759_HPC09_ESIWACE: get more informations

Location:
NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE
Files:
76 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/ASM/asminc.F90

    r9656 r9814  
    421421                  END DO 
    422422               END DO 
    423                CALL lbc_lnk( zhdiv, 'T', 1. )   ! lateral boundary cond. (no sign change) 
     423               CALL lbc_lnk("asminc",zhdiv, 'T', 1. )   ! lateral boundary cond. (no sign change) 
    424424               ! 
    425425               DO jj = 2, jpjm1 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/BDY/bdydyn3d.F90

    r9598 r9814  
    319319      END DO 
    320320      ! 
    321       CALL lbc_lnk_multi( ua, 'U', -1.,  va, 'V', -1. )   ! Boundary points should be updated 
     321      CALL lbc_lnk_multi("bdydyn3d",ua, 'U', -1.,  va, 'V', -1. )   ! Boundary points should be updated 
    322322      ! 
    323323      IF( ln_timing )   CALL timing_stop('bdy_dyn3d_dmp') 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/BDY/bdyini.F90

    r9657 r9814  
    11331133         END DO 
    11341134      END DO 
    1135       CALL lbc_lnk_multi( bdyumask, 'U', 1. , bdyvmask, 'V', 1. )   ! Lateral boundary cond.  
     1135      CALL lbc_lnk_multi("bdyini",bdyumask, 'U', 1. , bdyvmask, 'V', 1. )   ! Lateral boundary cond.  
    11361136 
    11371137      ! bdy masks are now set to zero on boundary points: 
     
    11681168 
    11691169      ! Lateral boundary conditions 
    1170       CALL lbc_lnk( zfmask, 'F', 1. )  
    1171       CALL lbc_lnk_multi( bdyumask, 'U', 1. , bdyvmask, 'V', 1., bdytmask, 'T', 1. ) 
     1170      CALL lbc_lnk("bdyini",zfmask, 'F', 1. )  
     1171      CALL lbc_lnk_multi("bdyini",bdyumask, 'U', 1. , bdyvmask, 'V', 1., bdytmask, 'T', 1. ) 
    11721172      DO ib_bdy = 1, nb_bdy       ! Indices and directions of rim velocity components 
    11731173 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/CRS/crsfld.F90

    r9598 r9814  
    164164            END DO 
    165165         END DO 
    166          CALL lbc_lnk( z3d, 'T', 1. ) 
     166         CALL lbc_lnk("crsfld",z3d, 'T', 1. ) 
    167167         ! 
    168168         CALL crs_dom_ope( z3d, 'VOL', 'T', tmask, zt_crs, p_e12=e1e2t, p_e3=ze3t, psgn=1.0 ) 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/CRS/crslbclnk.F90

    r9598 r9814  
    5555      IF( .NOT.ll_grid_crs )   CALL dom_grid_crs   ! Save the parent grid information  & Switch to coarse grid domain 
    5656      ! 
    57       IF( PRESENT( cd_mpp ) ) THEN   ;   CALL lbc_lnk( pt3d1, cd_type1, psgn, cd_mpp, pval=zval  ) 
    58       ELSE                           ;   CALL lbc_lnk( pt3d1, cd_type1, psgn        , pval=zval  ) 
     57      IF( PRESENT( cd_mpp ) ) THEN   ;   CALL lbc_lnk("crslbclnk",pt3d1, cd_type1, psgn, cd_mpp, pval=zval  ) 
     58      ELSE                           ;   CALL lbc_lnk("crslbclnk",pt3d1, cd_type1, psgn        , pval=zval  ) 
    5959      ENDIF 
    6060      ! 
     
    9292      IF( .NOT.ll_grid_crs )   CALL dom_grid_crs   ! Save the parent grid information  & Switch to coarse grid domain 
    9393      ! 
    94       IF( PRESENT( cd_mpp ) ) THEN   ;   CALL lbc_lnk( pt2d, cd_type, psgn, cd_mpp, pval=zval  ) 
    95       ELSE                           ;   CALL lbc_lnk( pt2d, cd_type, psgn        , pval=zval  ) 
     94      IF( PRESENT( cd_mpp ) ) THEN   ;   CALL lbc_lnk("crslbclnk",pt2d, cd_type, psgn, cd_mpp, pval=zval  ) 
     95      ELSE                           ;   CALL lbc_lnk("crslbclnk",pt2d, cd_type, psgn        , pval=zval  ) 
    9696      ENDIF 
    9797      ! 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DIA/diaar5.F90

    r9598 r9814  
    245245         ENDIF 
    246246!!gm useless lbc_lnk since the computation above is performed over 1:jpi & 1:jpj 
    247 !!gm           CALL lbc_lnk( zpe, 'T', 1._wp)          
     247!!gm           CALL lbc_lnk("diaar5",zpe, 'T', 1._wp)          
    248248          CALL iom_put( 'tnpeo', zpe ) 
    249249          DEALLOCATE( zpe ) 
     
    285285         END DO 
    286286       END DO 
    287        CALL lbc_lnk( z2d, 'U', -1. ) 
     287       CALL lbc_lnk("diaar5",z2d, 'U', -1. ) 
    288288       IF( cptr == 'adv' ) THEN 
    289289          IF( ktra == jp_tem ) CALL iom_put( "uadv_heattr" , rau0_rcp * z2d )  ! advective heat transport in i-direction 
     
    303303          END DO 
    304304       END DO 
    305        CALL lbc_lnk( z2d, 'V', -1. ) 
     305       CALL lbc_lnk("diaar5",z2d, 'V', -1. ) 
    306306       IF( cptr == 'adv' ) THEN 
    307307          IF( ktra == jp_tem ) CALL iom_put( "vadv_heattr" , rau0_rcp * z2d )  ! advective heat transport in j-direction 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DIA/diawri.F90

    r9652 r9814  
    181181            END DO 
    182182         END DO 
    183          CALL lbc_lnk( z2d, 'T', 1. ) 
     183         CALL lbc_lnk( "diawri",z2d, 'T', 1. ) 
    184184         CALL iom_put( "taubot", z2d )            
    185185      ENDIF 
     
    237237            END DO 
    238238         END DO 
    239          CALL lbc_lnk( z2d, 'T', 1. ) 
     239         CALL lbc_lnk( "diawri",z2d, 'T', 1. ) 
    240240         CALL iom_put( "sstgrad2",  z2d )          ! square of module of sst gradient 
    241241         z2d(:,:) = SQRT( z2d(:,:) ) 
     
    281281            END DO 
    282282         END DO 
    283          CALL lbc_lnk( z3d, 'T', 1. ) 
     283         CALL lbc_lnk( "diawri",z3d, 'T', 1. ) 
    284284         CALL iom_put( "eken", z3d )                 ! kinetic energy 
    285285      ENDIF 
     
    307307            END DO 
    308308         END DO 
    309          CALL lbc_lnk( z2d, 'U', -1. ) 
     309         CALL lbc_lnk( "diawri",z2d, 'U', -1. ) 
    310310         CALL iom_put( "u_heattr", 0.5*rcp * z2d )    ! heat transport in i-direction 
    311311      ENDIF 
     
    320320            END DO 
    321321         END DO 
    322          CALL lbc_lnk( z2d, 'U', -1. ) 
     322         CALL lbc_lnk( "diawri",z2d, 'U', -1. ) 
    323323         CALL iom_put( "u_salttr", 0.5 * z2d )        ! heat transport in i-direction 
    324324      ENDIF 
     
    342342            END DO 
    343343         END DO 
    344          CALL lbc_lnk( z2d, 'V', -1. ) 
     344         CALL lbc_lnk( "diawri",z2d, 'V', -1. ) 
    345345         CALL iom_put( "v_heattr", 0.5*rcp * z2d )    !  heat transport in j-direction 
    346346      ENDIF 
     
    355355            END DO 
    356356         END DO 
    357          CALL lbc_lnk( z2d, 'V', -1. ) 
     357         CALL lbc_lnk( "diawri",z2d, 'V', -1. ) 
    358358         CALL iom_put( "v_salttr", 0.5 * z2d )        !  heat transport in j-direction 
    359359      ENDIF 
     
    368368            END DO 
    369369         END DO 
    370          CALL lbc_lnk( z2d, 'T', -1. ) 
     370         CALL lbc_lnk( "diawri",z2d, 'T', -1. ) 
    371371         CALL iom_put( "tosmint", rau0 * z2d )        ! Vertical integral of temperature 
    372372      ENDIF 
     
    380380            END DO 
    381381         END DO 
    382          CALL lbc_lnk( z2d, 'T', -1. ) 
     382         CALL lbc_lnk( "diawri",z2d, 'T', -1. ) 
    383383         CALL iom_put( "somint", rau0 * z2d )         ! Vertical integral of salinity 
    384384      ENDIF 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DOM/closea.F90

    r9598 r9814  
    396396      emp (:,:) = emp (:,:) * tmask(:,:,1) 
    397397      ! 
    398       CALL lbc_lnk( emp , 'T', 1._wp ) 
     398      CALL lbc_lnk("closea",emp , 'T', 1._wp ) 
    399399      ! 
    400400   END SUBROUTINE sbc_clo 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DOM/dommsk.F90

    r9657 r9814  
    145145!SF  add here lbc_lnk: bug not still understood : cause now domain configuration is read ! 
    146146!!gm I don't understand why...   
    147       CALL lbc_lnk( tmask  , 'T', 1._wp )      ! Lateral boundary conditions 
     147      CALL lbc_lnk("dommsk",tmask  , 'T', 1._wp )      ! Lateral boundary conditions 
    148148 
    149149     ! Mask corrections for bdy (read in mppini2) 
     
    183183         END DO 
    184184      END DO 
    185       CALL lbc_lnk_multi( umask, 'U', 1., vmask, 'V', 1., fmask, 'F', 1. )      ! Lateral boundary conditions 
     185      CALL lbc_lnk_multi("dommsk",umask, 'U', 1., vmask, 'V', 1., fmask, 'F', 1. )      ! Lateral boundary conditions 
    186186  
    187187      ! Ocean/land mask at wu-, wv- and w points    (computed from tmask) 
     
    283283         DEALLOCATE( zwf ) 
    284284         ! 
    285          CALL lbc_lnk( fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
     285         CALL lbc_lnk("dommsk",fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
    286286         ! 
    287287         ! CAUTION : The fmask may be further modified in dyn_vor_init ( dynvor.F90 ) depending on ln_vorlat 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DOM/domvvl.F90

    r9598 r9814  
    408408         !                       ! d - thickness diffusion transport: boundary conditions 
    409409         !                             (stored for tracer advction and continuity equation) 
    410          CALL lbc_lnk_multi( un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
     410         CALL lbc_lnk_multi("domvvl",un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
    411411 
    412412         ! 4 - Time stepping of baroclinic scale factors 
     
    419419            z2dt = 2.0_wp * rdt 
    420420         ENDIF 
    421          CALL lbc_lnk( tilde_e3t_a(:,:,:), 'T', 1._wp ) 
     421         CALL lbc_lnk("domvvl",tilde_e3t_a(:,:,:), 'T', 1._wp ) 
    422422         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 
    423423 
     
    711711            END DO 
    712712         END DO 
    713          CALL lbc_lnk( pe3_out(:,:,:), 'U', 1._wp ) 
     713         CALL lbc_lnk("domvvl",pe3_out(:,:,:), 'U', 1._wp ) 
    714714         pe3_out(:,:,:) = pe3_out(:,:,:) + e3u_0(:,:,:) 
    715715         ! 
     
    724724            END DO 
    725725         END DO 
    726          CALL lbc_lnk( pe3_out(:,:,:), 'V', 1._wp ) 
     726         CALL lbc_lnk("domvvl",pe3_out(:,:,:), 'V', 1._wp ) 
    727727         pe3_out(:,:,:) = pe3_out(:,:,:) + e3v_0(:,:,:) 
    728728         ! 
     
    738738            END DO 
    739739         END DO 
    740          CALL lbc_lnk( pe3_out(:,:,:), 'F', 1._wp ) 
     740         CALL lbc_lnk("domvvl",pe3_out(:,:,:), 'F', 1._wp ) 
    741741         pe3_out(:,:,:) = pe3_out(:,:,:) + e3f_0(:,:,:) 
    742742         ! 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DOM/domwri.F90

    r9598 r9814  
    210210      ! 
    211211      puniq(:,:) = ztstref(:,:)                   ! default definition 
    212       CALL lbc_lnk( puniq, cdgrd, 1. )            ! apply boundary conditions 
     212      CALL lbc_lnk("domwri",puniq, cdgrd, 1. )            ! apply boundary conditions 
    213213      lldbl(:,:,1) = puniq(:,:) == ztstref(:,:)   ! check which values have been changed  
    214214      ! 
     
    271271         END DO 
    272272      END DO 
    273       CALL lbc_lnk( zx1, 'T', 1. ) 
     273      CALL lbc_lnk("domwri",zx1, 'T', 1. ) 
    274274      ! 
    275275      IF( PRESENT( px1 ) )    px1 = zx1 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DOM/domzgr.F90

    r9598 r9814  
    307307      END DO 
    308308      ! converte into REAL to use lbc_lnk ; impose a min value of 1 as a zero can be set in lbclnk  
    309       zk(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk( zk, 'U', 1. )   ;   miku(:,:) = MAX( INT( zk(:,:) ), 1 ) 
    310       zk(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mikv(:,:) = MAX( INT( zk(:,:) ), 1 ) 
    311       zk(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk( zk, 'F', 1. )   ;   mikf(:,:) = MAX( INT( zk(:,:) ), 1 ) 
    312       ! 
    313       zk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk( zk, 'U', 1. )   ;   mbku(:,:) = MAX( INT( zk(:,:) ), 1 ) 
    314       zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mbkv(:,:) = MAX( INT( zk(:,:) ), 1 ) 
     309      zk(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk("domzgr",zk, 'U', 1. )   ;   miku(:,:) = MAX( INT( zk(:,:) ), 1 ) 
     310      zk(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk("domzgr",zk, 'V', 1. )   ;   mikv(:,:) = MAX( INT( zk(:,:) ), 1 ) 
     311      zk(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk("domzgr",zk, 'F', 1. )   ;   mikf(:,:) = MAX( INT( zk(:,:) ), 1 ) 
     312      ! 
     313      zk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk("domzgr",zk, 'U', 1. )   ;   mbku(:,:) = MAX( INT( zk(:,:) ), 1 ) 
     314      zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk("domzgr",zk, 'V', 1. )   ;   mbkv(:,:) = MAX( INT( zk(:,:) ), 1 ) 
    315315      ! 
    316316   END SUBROUTINE zgr_top_bot 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DOM/iscplrst.F90

    r9598 r9814  
    175175            END DO 
    176176         END DO 
    177          CALL lbc_lnk_multi( sshn, 'T', 1., zsmask1, 'T', 1. ) 
     177         CALL lbc_lnk_multi("iscplrst",sshn, 'T', 1., zsmask1, 'T', 1. ) 
    178178         zssh0   = sshn 
    179179         zsmask0 = zsmask1 
     
    344344          END DO 
    345345           
    346           CALL lbc_lnk_multi( tsn(:,:,:,jp_tem), 'T', 1., tsn(:,:,:,jp_sal), 'T', 1., ztmask1, 'T', 1.) 
     346          CALL lbc_lnk_multi("iscplrst",tsn(:,:,:,jp_tem), 'T', 1., tsn(:,:,:,jp_sal), 'T', 1., ztmask1, 'T', 1.) 
    347347 
    348348          ! update 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/divhor.F90

    r9598 r9814  
    104104      IF( ln_iscpl .AND. ln_hsb )   CALL iscpl_div( hdivn ) !==  ice sheet  ==!   (update hdivn field) 
    105105      ! 
    106       CALL lbc_lnk( hdivn, 'T', 1. )   !   (no sign change) 
     106      CALL lbc_lnk("divhor",hdivn, 'T', 1. )   !   (no sign change) 
    107107      ! 
    108108      IF( ln_timing )   CALL timing_stop('div_hor') 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/dynadv_ubs.F90

    r9598 r9814  
    123123         END DO 
    124124      END DO 
    125       CALL lbc_lnk_multi( zlu_uu(:,:,:,1), 'U', 1. , zlu_uv(:,:,:,1), 'U', 1.,  & 
     125      CALL lbc_lnk_multi("dynadv_ubs",zlu_uu(:,:,:,1), 'U', 1. , zlu_uv(:,:,:,1), 'U', 1.,  & 
    126126                      &   zlu_uu(:,:,:,2), 'U', 1. , zlu_uv(:,:,:,2), 'U', 1.,  &  
    127127                      &   zlv_vv(:,:,:,1), 'V', 1. , zlv_vu(:,:,:,1), 'V', 1.,  & 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/dynhpg.F90

    r9598 r9814  
    490490           END DO 
    491491        END DO 
    492         CALL lbc_lnk_multi( zcpx, 'U', 1., zcpy, 'V', 1. ) 
     492        CALL lbc_lnk_multi("dynhpg",zcpx, 'U', 1., zcpy, 'V', 1. ) 
    493493      END IF 
    494494 
     
    723723           END DO 
    724724        END DO 
    725         CALL lbc_lnk_multi( zcpx, 'U', 1., zcpy, 'V', 1. ) 
     725        CALL lbc_lnk_multi("dynhpg",zcpx, 'U', 1., zcpy, 'V', 1. ) 
    726726      END IF 
    727727 
     
    883883         END DO 
    884884      END DO 
    885       CALL lbc_lnk_multi( rho_k, 'W', 1., rho_i, 'U', 1., rho_j, 'V', 1. ) 
     885      CALL lbc_lnk_multi("dynhpg",rho_k, 'W', 1., rho_i, 'U', 1., rho_j, 'V', 1. ) 
    886886 
    887887      ! --------------- 
     
    10161016            END DO 
    10171017         END DO 
    1018          CALL lbc_lnk_multi( zcpx, 'U', 1., zcpy, 'V', 1. ) 
     1018         CALL lbc_lnk_multi("dynhpg",zcpx, 'U', 1., zcpy, 'V', 1. ) 
    10191019      ENDIF 
    10201020 
     
    11021102      END DO 
    11031103 
    1104       CALL lbc_lnk_multi (zsshu_n, 'U', 1., zsshv_n, 'V', 1. ) 
     1104      CALL lbc_lnk_multi("dynhpg",zsshu_n, 'U', 1., zsshv_n, 'V', 1. ) 
    11051105 
    11061106      DO jj = 2, jpjm1 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/dynkeg.F90

    r9598 r9814  
    158158            END DO 
    159159         END DO 
    160          CALL lbc_lnk( zhke, 'T', 1. ) 
     160         CALL lbc_lnk("dynkeg",zhke, 'T', 1. ) 
    161161         ! 
    162162      END SELECT 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/dynldf_iso.F90

    r9598 r9814  
    136136         END DO 
    137137         ! Lateral boundary conditions on the slopes 
    138          CALL lbc_lnk_multi( uslp , 'U', -1., vslp , 'V', -1., wslpi, 'W', -1., wslpj, 'W', -1. ) 
     138         CALL lbc_lnk_multi("dynldf_iso",uslp , 'U', -1., vslp , 'V', -1., wslpi, 'W', -1., wslpj, 'W', -1. ) 
    139139         ! 
    140140       ENDIF 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/dynldf_lap_blp.F90

    r9598 r9814  
    136136      CALL dyn_ldf_lap( kt, pub, pvb, zulap, zvlap, 1 )   ! rotated laplacian applied to ptb (output in zlap) 
    137137      ! 
    138       CALL lbc_lnk_multi( zulap, 'U', -1., zvlap, 'V', -1. )             ! Lateral boundary conditions 
     138      CALL lbc_lnk_multi("dynldf_lap_blp",zulap, 'U', -1., zvlap, 'V', -1. )             ! Lateral boundary conditions 
    139139      ! 
    140140      CALL dyn_ldf_lap( kt, zulap, zvlap, pua, pva, 2 )   ! rotated laplacian applied to zlap (output in pta) 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/dynnxt.F90

    r9598 r9814  
    144144# endif 
    145145      ! 
    146       CALL lbc_lnk_multi( ua, 'U', -1., va, 'V', -1. )     !* local domain boundaries 
     146      CALL lbc_lnk_multi("dynnxt",ua, 'U', -1., va, 'V', -1. )     !* local domain boundaries 
    147147      ! 
    148148      !                                !* BDY open boundaries 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/dynspg_ts.F90

    r9598 r9814  
    262262               END DO 
    263263            END SELECT 
    264             CALL lbc_lnk( zwz, 'F', 1._wp ) 
     264            CALL lbc_lnk("dynspg_ts",zwz, 'F', 1._wp ) 
    265265            ! 
    266266            ftne(1,:) = 0._wp ; ftnw(1,:) = 0._wp ; ftse(1,:) = 0._wp ; ftsw(1,:) = 0._wp 
     
    330330               END DO 
    331331            END DO 
    332             CALL lbc_lnk( zhf, 'F', 1._wp ) 
     332            CALL lbc_lnk("dynspg_ts",zhf, 'F', 1._wp ) 
    333333            ! JC: TBC. hf should be greater than 0  
    334334            DO jj = 1, jpj 
     
    777777               END DO 
    778778            END DO 
    779             CALL lbc_lnk_multi( zwx, 'U', 1._wp, zwy, 'V', 1._wp ) 
     779            CALL lbc_lnk_multi("dynspg_ts",zwx, 'U', 1._wp, zwy, 'V', 1._wp ) 
    780780            ! 
    781781            zhup2_e(:,:) = hu_0(:,:) + zwx(:,:)                ! Ocean depth at U- and V-points 
     
    868868         ssha_e(:,:) = (  sshn_e(:,:) - rdtbt * ( zssh_frc(:,:) + zhdiv(:,:) )  ) * ssmask(:,:) 
    869869          
    870          CALL lbc_lnk( ssha_e, 'T',  1._wp ) 
     870         CALL lbc_lnk("dynspg_ts",ssha_e, 'T',  1._wp ) 
    871871 
    872872         ! Duplicate sea level across open boundaries (this is only cosmetic if linssh=T) 
     
    888888               END DO 
    889889            END DO 
    890             CALL lbc_lnk_multi( zsshu_a, 'U', 1._wp, zsshv_a, 'V', 1._wp ) 
     890            CALL lbc_lnk_multi("dynspg_ts",zsshu_a, 'U', 1._wp, zsshv_a, 'V', 1._wp ) 
    891891         ENDIF    
    892892         !                                  
     
    11531153         ENDIF 
    11541154         !                                             !* domain lateral boundary 
    1155          CALL lbc_lnk_multi( ua_e, 'U', -1._wp, va_e , 'V', -1._wp ) 
     1155         CALL lbc_lnk_multi("dynspg_ts",ua_e, 'U', -1._wp, va_e , 'V', -1._wp ) 
    11561156         ! 
    11571157         !                                                 ! open boundaries 
     
    12391239            END DO 
    12401240         END DO 
    1241          CALL lbc_lnk_multi( zsshu_a, 'U', 1._wp, zsshv_a, 'V', 1._wp ) ! Boundary conditions 
     1241         CALL lbc_lnk_multi("dynspg_ts",zsshu_a, 'U', 1._wp, zsshv_a, 'V', 1._wp ) ! Boundary conditions 
    12421242         ! 
    12431243         DO jk=1,jpkm1 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/dynvor.F90

    r9598 r9814  
    242242               END DO 
    243243            ENDIF 
    244             CALL lbc_lnk( zwz, 'F', 1. ) 
     244            CALL lbc_lnk("dynvor",zwz, 'F', 1. ) 
    245245            DO jj = 2, jpj 
    246246               DO ji = 2, jpi   ! vector opt. 
     
    270270               END DO 
    271271            ENDIF 
    272             CALL lbc_lnk( zwz, 'F', 1. ) 
     272            CALL lbc_lnk("dynvor",zwz, 'F', 1. ) 
    273273            DO jj = 2, jpj 
    274274               DO ji = 2, jpi   ! vector opt. 
     
    635635         ENDIF 
    636636         ! 
    637          CALL lbc_lnk( zwz, 'F', 1. ) 
     637         CALL lbc_lnk("dynvor",zwz, 'F', 1. ) 
    638638         ! 
    639639         !                                   !==  horizontal fluxes  ==! 
     
    765765         ENDIF 
    766766         ! 
    767          CALL lbc_lnk( zwz, 'F', 1. ) 
     767         CALL lbc_lnk("dynvor",zwz, 'F', 1. ) 
    768768         ! 
    769769         !                                   !==  horizontal fluxes  ==! 
     
    863863         END DO 
    864864         ! 
    865          CALL lbc_lnk( fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
     865         CALL lbc_lnk("dynvor",fmask, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
    866866         ! 
    867867      ENDIF 
     
    903903               END DO 
    904904            END DO 
    905             CALL lbc_lnk_multi( di_e2u_2, 'T', -1. , dj_e1v_2, 'T', -1. )   ! Lateral boundary conditions 
     905            CALL lbc_lnk_multi("dynvor",di_e2u_2, 'T', -1. , dj_e1v_2, 'T', -1. )   ! Lateral boundary conditions 
    906906            ! 
    907907         CASE DEFAULT                        !* F-point metric term :   pre-compute di(e2u)/(2*e1e2f) and dj(e1v)/(2*e1e2f) 
     
    913913               END DO 
    914914            END DO 
    915             CALL lbc_lnk_multi( di_e2v_2e1e2f, 'F', -1. , dj_e1u_2e1e2f, 'F', -1. )   ! Lateral boundary conditions 
     915            CALL lbc_lnk_multi("dynvor",di_e2v_2e1e2f, 'F', -1. , dj_e1u_2e1e2f, 'F', -1. )   ! Lateral boundary conditions 
    916916         END SELECT 
    917917         ! 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/sshwzv.F90

    r9598 r9814  
    110110      IF ( .NOT.ln_dynspg_ts ) THEN 
    111111         IF( ln_bdy ) THEN 
    112             CALL lbc_lnk( ssha, 'T', 1. )    ! Not sure that's necessary 
     112            CALL lbc_lnk("sshwzv",ssha, 'T', 1. )    ! Not sure that's necessary 
    113113            CALL bdy_ssh( ssha )             ! Duplicate sea level across open boundaries 
    114114         ENDIF 
     
    174174            END DO 
    175175         END DO 
    176          CALL lbc_lnk(zhdiv, 'T', 1.)  ! - ML - Perhaps not necessary: not used for horizontal "connexions" 
     176         CALL lbc_lnk("sshwzv",zhdiv, 'T', 1.)  ! - ML - Perhaps not necessary: not used for horizontal "connexions" 
    177177         !                             ! Is it problematic to have a wrong vertical velocity in boundary cells? 
    178178         !                             ! Same question holds for hdivn. Perhaps just for security 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/DYN/wet_dry.F90

    r9168 r9814  
    241241            END DO 
    242242         END DO 
    243          CALL lbc_lnk_multi( zwdlmtu, 'U', 1., zwdlmtv, 'V', 1. ) 
     243         CALL lbc_lnk_multi("wet_dry",zwdlmtu, 'U', 1., zwdlmtv, 'V', 1. ) 
    244244         ! 
    245245         IF( lk_mpp )   CALL mpp_max(jflag)   !max over the global domain 
     
    257257      ! 
    258258!!gm TO BE SUPPRESSED ?  these lbc_lnk are useless since zwdlmtu and zwdlmtv are defined everywhere ! 
    259       CALL lbc_lnk_multi( un  , 'U', -1., vn  , 'V', -1. ) 
    260       CALL lbc_lnk_multi( un_b, 'U', -1., vn_b, 'V', -1. ) 
     259      CALL lbc_lnk_multi("wet_dry",un  , 'U', -1., vn  , 'V', -1. ) 
     260      CALL lbc_lnk_multi("wet_dry",un_b, 'U', -1., vn_b, 'V', -1. ) 
    261261!!gm 
    262262      ! 
     
    370370         END DO  ! jj loop 
    371371         ! 
    372          CALL lbc_lnk_multi( zwdlmtu, 'U', 1., zwdlmtv, 'V', 1. ) 
     372         CALL lbc_lnk_multi("wet_dry",zwdlmtu, 'U', 1., zwdlmtv, 'V', 1. ) 
    373373         ! 
    374374         IF(lk_mpp) CALL mpp_max(jflag)   !max over the global domain 
     
    382382      ! 
    383383!!gm THIS lbc_lnk is useless since it is already done at the end of the jk1-loop 
    384       CALL lbc_lnk_multi( zflxu, 'U', -1., zflxv, 'V', -1. ) 
     384      CALL lbc_lnk_multi("wet_dry",zflxu, 'U', -1., zflxv, 'V', -1. ) 
    385385!!gm end 
    386386      ! 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/ICB/icbclv.F90

    r9598 r9814  
    173173      ! 
    174174      DO jn = 1, nclasses 
    175          CALL lbc_lnk( berg_grid%stored_ice(:,:,jn), 'T', 1._wp ) 
     175         CALL lbc_lnk("icbclv",berg_grid%stored_ice(:,:,jn), 'T', 1._wp ) 
    176176      END DO 
    177       CALL lbc_lnk( berg_grid%stored_heat, 'T', 1._wp ) 
     177      CALL lbc_lnk("icbclv",berg_grid%stored_heat, 'T', 1._wp ) 
    178178      ! 
    179179      IF( nn_verbose_level > 0 .AND. icntmax > 1 )   WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/ICB/icbini.F90

    r9598 r9814  
    114114         END DO 
    115115      END DO 
    116       CALL lbc_lnk( src_calving_hflx, 'T', 1._wp ) 
    117       CALL lbc_lnk( src_calving     , 'T', 1._wp ) 
     116      CALL lbc_lnk("icbini",src_calving_hflx, 'T', 1._wp ) 
     117      CALL lbc_lnk("icbini",src_calving     , 'T', 1._wp ) 
    118118 
    119119      ! work out interior of processor from exchange array 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/IOM/iom.F90

    r9598 r9814  
    12851285               !--- overlap areas and extra hallows (mpp) 
    12861286               IF(     PRESENT(pv_r2d) .AND. idom /= jpdom_unknown ) THEN 
    1287                   CALL lbc_lnk( pv_r2d,'Z',-999.,'no0' ) 
     1287                  CALL lbc_lnk("iom",pv_r2d,'Z',-999.,'no0' ) 
    12881288               ELSEIF( PRESENT(pv_r3d) .AND. idom /= jpdom_unknown ) THEN 
    12891289                  ! this if could be simplified with the new lbc_lnk that works with any size of the 3rd dimension 
    12901290                  IF( icnt(3) == inlev ) THEN 
    1291                      CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 
     1291                     CALL lbc_lnk("iom",pv_r3d,'Z',-999.,'no0' ) 
    12921292                  ELSE   ! put some arbitrary value (a call to lbc_lnk will be done later...) 
    12931293                     DO jj = nlcj+1, jpj   ;   pv_r3d(1:nlci, jj, :) = pv_r3d(1:nlci, nlej, :)   ;   END DO 
     
    13141314            CALL xios_recv_field( trim(cdvar), pv_r3d) 
    13151315            IF(idom /= jpdom_unknown ) then 
    1316                 CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 
     1316                CALL lbc_lnk("iom",pv_r3d,'Z',-999.,'no0' ) 
    13171317            ENDIF 
    13181318         ELSEIF( PRESENT(pv_r2d) ) THEN 
     
    13211321            CALL xios_recv_field( trim(cdvar), pv_r2d) 
    13221322            IF(idom /= jpdom_unknown ) THEN 
    1323                 CALL lbc_lnk(pv_r2d,'Z',-999.,'no0') 
     1323                CALL lbc_lnk("iom",pv_r2d,'Z',-999.,'no0') 
    13241324            ENDIF 
    13251325         ELSEIF( PRESENT(pv_r1d) ) THEN 
     
    13361336!some final adjustments 
    13371337      ! C1D case : always call lbc_lnk to replicate the central value over the whole 3X3 domain 
    1338       IF( lk_c1d .AND. PRESENT(pv_r2d) )   CALL lbc_lnk( pv_r2d,'Z',1. ) 
    1339       IF( lk_c1d .AND. PRESENT(pv_r3d) )   CALL lbc_lnk( pv_r3d,'Z',1. ) 
     1338      IF( lk_c1d .AND. PRESENT(pv_r2d) )   CALL lbc_lnk("iom",pv_r2d,'Z',1. ) 
     1339      IF( lk_c1d .AND. PRESENT(pv_r3d) )   CALL lbc_lnk("iom",pv_r3d,'Z',1. ) 
    13401340 
    13411341      !--- Apply scale_factor and offset 
     
    19181918         SELECT CASE ( cdgrd ) 
    19191919         CASE('T')   ;   zmask(:,:,:)       = tmask(:,:,:) 
    1920          CASE('U')   ;   zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:)   ;   CALL lbc_lnk( zmask, 'U', 1. ) 
    1921          CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:)   ;   CALL lbc_lnk( zmask, 'V', 1. ) 
     1920         CASE('U')   ;   zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:)   ;   CALL lbc_lnk("iom",zmask, 'U', 1. ) 
     1921         CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:)   ;   CALL lbc_lnk("iom",zmask, 'V', 1. ) 
    19221922         CASE('W')   ;   zmask(:,:,2:jpk  ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk)   ;   zmask(:,:,1) = tmask(:,:,1) 
    19231923         END SELECT 
     
    19621962      ! 
    19631963      z_fld(:,:) = 1._wp 
    1964       CALL lbc_lnk( z_fld, cdgrd, -1. )    ! Working array for location of northfold 
     1964      CALL lbc_lnk("iom",z_fld, cdgrd, -1. )    ! Working array for location of northfold 
    19651965      ! 
    19661966      ! Cell vertices that can be defined 
     
    19801980      ! Cell vertices on boundries 
    19811981      DO jn = 1, 4 
    1982          CALL lbc_lnk( z_bnds(jn,:,:,1), cdgrd, 1., pval=999._wp ) 
    1983          CALL lbc_lnk( z_bnds(jn,:,:,2), cdgrd, 1., pval=999._wp ) 
     1982         CALL lbc_lnk("iom",z_bnds(jn,:,:,1), cdgrd, 1., pval=999._wp ) 
     1983         CALL lbc_lnk("iom",z_bnds(jn,:,:,2), cdgrd, 1., pval=999._wp ) 
    19841984      END DO 
    19851985      ! 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/lbc_lnk_multi_generic.h90

    r9690 r9814  
    1414#   define PTR_ptab              pt4d 
    1515#endif 
    16    SUBROUTINE ROUTINE_MULTI( pt1, cdna1, psgn1, pt2, cdna2, psgn2, pt3, cdna3, psgn3   & 
     16   SUBROUTINE ROUTINE_MULTI( rname, pt1, cdna1, psgn1, pt2, cdna2, psgn2, pt3, cdna3, psgn3   & 
    1717      &                    , pt4, cdna4, psgn4, pt5, cdna5, psgn5, pt6, cdna6, psgn6   & 
    1818      &                    , pt7, cdna7, psgn7, pt8, cdna8, psgn8, pt9, cdna9, psgn9, cd_mpp, pval) 
     
    3131      CHARACTER(len=1) , DIMENSION(9) ::   cdna_ptr    ! nature of ptab_ptr grid-points 
    3232      REAL(wp)         , DIMENSION(9) ::   psgn_ptr    ! sign used across the north fold boundary 
     33      CHARACTER(len=*),             INTENT(in   ) ::   rname       ! name of the calling subroutine 
    3334      !!--------------------------------------------------------------------- 
    3435      ! 
     
    4849      IF( PRESENT(psgn9) )   CALL ROUTINE_LOAD( pt9, cdna9, psgn9, ptab_ptr, cdna_ptr, psgn_ptr, kfld ) 
    4950      ! 
    50       CALL lbc_lnk_ptr( ptab_ptr, cdna_ptr, psgn_ptr, kfld, cd_mpp, pval ) 
     51      CALL lbc_lnk_ptr( rname, ptab_ptr, cdna_ptr, psgn_ptr, kfld, cd_mpp, pval ) 
    5152      ! 
    5253   END SUBROUTINE ROUTINE_MULTI 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/lbclnk.F90

    r9598 r9814  
    5050   PUBLIC   lbc_lnk_icb   ! iceberg lateral boundary conditions 
    5151 
     52   PUBLIC   simulated_lbc_lnk 
     53 
     54   REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE, SAVE ::   zdummy_halo 
    5255   !!---------------------------------------------------------------------- 
    5356   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    325328#  undef DIM_4d 
    326329 
     330   SUBROUTINE simulated_lbc_lnk () 
     331 
     332    INTEGER :: i 
     333 
     334     IF (.NOT. ALLOCATED(zdummy_halo) ) THEN 
     335        i = MAXVAL(icomm_sequence(:,2)) 
     336        ALLOCATE( zdummy_halo(jpi,jpj,jpk,i)) 
     337        zdummy_halo(:,:,:,:) = 0._wp 
     338     ENDIF 
     339 
     340     DO i = 1, n_sequence 
     341        ! unbufferize data 
     342     !   zdummy_halo(:,:,:,:) = zdummy_halo(:,:,:,:) + 1. 
     343        IF ( icomm_sequence(i,1) == 1 ) THEN 
     344           SELECT CASE ( icomm_sequence(i,2) ) 
     345           CASE (1) 
     346              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1)  , 'U', -1. ) 
     347           CASE (2) 
     348              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2)  , 'U', -1. ) 
     349           CASE (3) 
     350              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2)  , 'U', -1. ,zdummy_halo(:,:,1,3) , 'U', -1.) 
     351           CASE (4) 
     352              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2)  , 'U', -1. ,zdummy_halo(:,:,1,3) , 'U', -1.,zdummy_halo(:,:,1,4) , 'U', -1.) 
     353           CASE (5) 
     354              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2)  , 'U', -1. ,zdummy_halo(:,:,1,3) , 'U', -1.,zdummy_halo(:,:,1,4) , 'U', -1.,zdummy_halo(:,:,1,5) , 'U', -1.) 
     355           CASE (6) 
     356              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1) , 'U', -1. , zdummy_halo(:,:,1,2)  , 'U', -1. ,zdummy_halo(:,:,1,3) , 'U', -1.,zdummy_halo(:,:,1,4) , 'U', -1.,zdummy_halo(:,:,1,5) , 'U', -1.,zdummy_halo(:,:,1,6) , 'U', -1.) 
     357           CASE (7) 
     358              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1), 'U', -1., zdummy_halo(:,:,1,2), 'U', -1., &  
     359                                 zdummy_halo(:,:,1,3), 'U', -1., zdummy_halo(:,:,1,4), 'U', -1., & 
     360                                 zdummy_halo(:,:,1,5), 'U', -1., zdummy_halo(:,:,1,6), 'U', -1., & 
     361                                 zdummy_halo(:,:,1,7), 'U', -1.) 
     362           CASE (8) 
     363              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1), 'U', -1., zdummy_halo(:,:,1,2), 'U', -1., &  
     364                                 zdummy_halo(:,:,1,3), 'U', -1., zdummy_halo(:,:,1,4), 'U', -1., & 
     365                                 zdummy_halo(:,:,1,5), 'U', -1., zdummy_halo(:,:,1,6), 'U', -1., & 
     366                                 zdummy_halo(:,:,1,7), 'U', -1., zdummy_halo(:,:,1,8), 'U', -1.) 
     367           CASE (9) 
     368              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,1,1), 'U', -1., zdummy_halo(:,:,1,2), 'U', -1., &  
     369                                 zdummy_halo(:,:,1,3), 'U', -1., zdummy_halo(:,:,1,4), 'U', -1., & 
     370                                 zdummy_halo(:,:,1,5), 'U', -1., zdummy_halo(:,:,1,6), 'U', -1., & 
     371                                 zdummy_halo(:,:,1,7), 'U', -1., zdummy_halo(:,:,1,8), 'U', -1., & 
     372                                 zdummy_halo(:,:,1,9), 'U', -1.) 
     373           CASE DEFAULT 
     374              WRITE(6,*) ' Warning (simulated_lbc_lnk): multi array dimension > 9, not transmitted ' 
     375           END SELECT 
     376        ELSE 
     377           SELECT CASE ( icomm_sequence(i,2) ) 
     378           CASE (1) 
     379              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1.) 
     380           CASE (2) 
     381              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2)  , 'U', -1.) 
     382           CASE (3) 
     383              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2)  , 'U', -1. ,zdummy_halo(:,:,:,3) , 'U', -1.) 
     384           CASE (4) 
     385              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2)  , 'U', -1. ,zdummy_halo(:,:,:,3) , 'U', -1.,zdummy_halo(:,:,:,4) , 'U', -1.) 
     386           CASE (5) 
     387              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2)  , 'U', -1. ,zdummy_halo(:,:,:,3) , 'U', -1.,zdummy_halo(:,:,:,4) , 'U', -1.,zdummy_halo(:,:,:,5) , 'U', -1.) 
     388           CASE (6) 
     389              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1) , 'U', -1. , zdummy_halo(:,:,:,2)  , 'U', -1. ,zdummy_halo(:,:,:,3) , 'U', -1.,zdummy_halo(:,:,:,4) , 'U', -1.,zdummy_halo(:,:,:,5) , 'U', -1.,zdummy_halo(:,:,:,6) , 'U', -1.) 
     390           CASE (7) 
     391              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1), 'U', -1., zdummy_halo(:,:,:,2), 'U', -1., &  
     392                                 zdummy_halo(:,:,:,3), 'U', -1., zdummy_halo(:,:,:,4), 'U', -1., & 
     393                                 zdummy_halo(:,:,:,5), 'U', -1., zdummy_halo(:,:,:,6), 'U', -1., & 
     394                                 zdummy_halo(:,:,:,7), 'U', -1.) 
     395           CASE (8) 
     396              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1), 'U', -1., zdummy_halo(:,:,:,2), 'U', -1., &  
     397                                 zdummy_halo(:,:,:,3), 'U', -1., zdummy_halo(:,:,:,4), 'U', -1., & 
     398                                 zdummy_halo(:,:,:,5), 'U', -1., zdummy_halo(:,:,:,6), 'U', -1., & 
     399                                 zdummy_halo(:,:,:,7), 'U', -1., zdummy_halo(:,:,:,8), 'U', -1.) 
     400           CASE (9) 
     401              CALL lbc_lnk_multi("simulated_lbc_lnk",zdummy_halo(:,:,:,1), 'U', -1., zdummy_halo(:,:,:,2), 'U', -1., &  
     402                                 zdummy_halo(:,:,:,3), 'U', -1., zdummy_halo(:,:,:,4), 'U', -1., & 
     403                                 zdummy_halo(:,:,:,5), 'U', -1., zdummy_halo(:,:,:,6), 'U', -1., & 
     404                                 zdummy_halo(:,:,:,7), 'U', -1., zdummy_halo(:,:,:,8), 'U', -1., & 
     405                                 zdummy_halo(:,:,:,9), 'U', -1.) 
     406           CASE DEFAULT 
     407              WRITE(6,*) ' Warning (simulated_lbc_lnk): multi 3D array dimension > 9, not transmitted ' 
     408           END SELECT 
     409        ENDIF 
     410     ENDDO 
     411 
     412   END SUBROUTINE simulated_lbc_lnk 
    327413   !!====================================================================== 
    328414END MODULE lbclnk 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/lib_mpp.F90

    r9772 r9814  
    16251625    ELSE 
    16261626       IF ( ncom_stp > nit000 ) tac_wt = tac_wt + MPI_Wtime() - tic_wt 
    1627        IF ( ( ncom_stp == ( nitend - 1 ) ) .AND. l_write_wt ) then 
     1627       IF ( ( ncom_stp == ( nitend - nn_comm_mod ) ) .AND. l_write_wt ) then 
    16281628          WRITE(6,'(A20,F11.6,A15,I8)') 'Computing time : ',tac_ct,' on MPI rank : ', narea 
    16291629          WRITE(6,'(A20,F11.6,A15,I8)') 'Waiting time : ',tac_wt,' on MPI rank : ', narea 
     
    18381838   END SUBROUTINE mppmax_real_multiple 
    18391839 
     1840   SUBROUTINE simulated_lbc_lnk () 
     1841      WRITE(*,*) 'simulated_lbc_lnk: You should not have seen this print! error?' 
     1842   END SUBROUTINE simulated_lbc_lnk () 
    18401843#endif 
    18411844 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/mpp_lnk_generic.h90

    r9772 r9814  
    4646 
    4747#if defined MULTI 
    48    SUBROUTINE ROUTINE_LNK( ptab, cd_nat, psgn, kfld, cd_mpp, pval ) 
     48   SUBROUTINE ROUTINE_LNK( rname, ptab, cd_nat, psgn, kfld, cd_mpp, pval ) 
    4949      INTEGER                     , INTENT(in   ) ::   kfld        ! number of pt3d arrays 
    5050#else 
    51    SUBROUTINE ROUTINE_LNK( ptab, cd_nat, psgn      , cd_mpp, pval ) 
     51   SUBROUTINE ROUTINE_LNK( rname, ptab, cd_nat, psgn      , cd_mpp, pval ) 
    5252#endif 
    5353      ARRAY_TYPE(:,:,:,:,:)                                        ! array or pointer of arrays on which the boundary condition is applied 
     
    5656      CHARACTER(len=3), OPTIONAL  , INTENT(in   ) ::   cd_mpp      ! fill the overlap area only 
    5757      REAL(wp)        , OPTIONAL  , INTENT(in   ) ::   pval        ! background value (used at closed boundaries) 
     58      CHARACTER(len=*),             INTENT(in   ) ::   rname       ! name of the calling subroutine 
    5859      ! 
    5960      INTEGER  ::    ji,  jj,  jk,  jl, jh, jf   ! dummy loop indices 
     
    155156         icomm_sequence(n_sequence,2) = ipf 
    156157         ! write(6,'(A,6I4)') 'size comm ', nn_hls, jpi, jpj, ipk, ipl, ipf 
    157       ELSE IF ( mpprank == 0 .AND. ncom_stp == (nit000+1) .AND. l_print_comm_report ) THEN 
    158          write(6,*) 'Communication pattern report : ' 
    159          write(6,*) ' ' 
    160          write(6,'(A,I3)') ' Exchanged halos : ', n_sequence 
    161          jj = 0; jk = 0; jf = 0; jh = 0 
    162          DO ji = 1, n_sequence 
    163            IF ( icomm_sequence(ji,1) .gt. 1 ) jk = jk + 1 
    164            IF ( icomm_sequence(ji,2) .gt. 1 ) jf = jf + 1 
    165            IF ( icomm_sequence(ji,1) .gt. 1 .AND. icomm_sequence(ji,2) .gt. 1 ) jj = jj + 1 
    166            jh = MAX (jh, icomm_sequence(ji,1)*icomm_sequence(ji,2)) 
    167          END DO 
    168          write(6,'(A,I3)') ' 3D Exchanged halos : ', jk 
    169          write(6,'(A,I3)') ' Multi arrays exchanged halos : ', jf 
    170          write(6,'(A,I3)') '   from which 3D : ', jj 
    171          write(6,'(A,I10)') ' array max size : ', jh*jpi*jpj 
    172          l_print_comm_report = .FALSE. 
     158      ELSE IF ( mpprank == 0 .AND. ncom_stp == (nit000+1) ) THEN 
     159         IF ( l_print_comm_report ) THEN 
     160            write(6,*) 'Communication pattern report : ' 
     161            write(6,*) ' ' 
     162            write(6,'(A,I3)') ' Exchanged halos : ', n_sequence 
     163            jj = 0; jk = 0; jf = 0; jh = 0 
     164            DO ji = 1, n_sequence 
     165              IF ( icomm_sequence(ji,1) .gt. 1 ) jk = jk + 1 
     166              IF ( icomm_sequence(ji,2) .gt. 1 ) jf = jf + 1 
     167              IF ( icomm_sequence(ji,1) .gt. 1 .AND. icomm_sequence(ji,2) .gt. 1 ) jj = jj + 1 
     168              jh = MAX (jh, icomm_sequence(ji,1)*icomm_sequence(ji,2)) 
     169            END DO 
     170            write(6,'(A,I3)') ' 3D Exchanged halos : ', jk 
     171            write(6,'(A,I3)') ' Multi arrays exchanged halos : ', jf 
     172            write(6,'(A,I3)') '   from which 3D : ', jj 
     173            write(6,'(A,I10)') ' array max size : ', jh*jpi*jpj 
     174            write(6,*) ' ' 
     175            l_print_comm_report = .FALSE. 
     176         END IF 
     177         write(6,'(A19,A)') 'calling subroutine ', TRIM(rname) 
    173178      END IF 
    174179      ! 
     
    177182         CALL tic_tac(.TRUE.) 
    178183         ! 
     184         IF ( TRIM(rname) == "simulated_lbc_lnk" ) THEN 
     185            zt3we = zt3we + 1. ; zt3ew = zt3ew + 1. 
     186         ENDIF 
    179187         SELECT CASE ( nbondi ) 
    180188         CASE ( -1 ) 
     
    255263      ! 
    256264      IF (ncom_stp <= ( nit000 + 1 ) .or. mod(ncom_stp,nn_comm_mod) == 0 ) THEN 
     265         IF ( TRIM(rname) == "simulated_lbc_lnk" ) THEN 
     266            zt3sn = zt3sn + 1. ; zt3ns = zt3ns + 1. 
     267         ENDIF 
    257268  
    258269         SELECT CASE ( nbondj ) 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/mpp_nfd_generic.h90

    r9690 r9814  
    110110            END DO 
    111111         END DO 
     112         ! 
     113         IF (ncom_stp <= ( nit000 + 1 ) .or. mod(ncom_stp,nn_comm_mod) == 0 ) THEN 
     114         ! start waiting time measurement 
     115         CALL tic_tac(.TRUE.) 
    112116         ! 
    113117         DO jr = 1, nsndto 
     
    157161            END DO 
    158162         ENDIF 
     163         ! stop waiting time measurement 
     164         CALL tic_tac(.FALSE.) 
     165         ENDIF 
     166         ! 
    159167         DO jf = 1, ipf 
    160168            CALL lbc_nfd_nogather( ztabl(:,:,:,:,jf), ztabr(:,:,:,:,jf), cd_nat LBC_ARG, psgn LBC_ARG )   ! North fold boundary condition 
     
    179187         ALLOCATE( znorthgloio(jpimax,4,ipk,ipl,ipf,jpni) ) 
    180188         ! 
    181          CALL MPI_ALLGATHER( znorthloc  , itaille, MPI_DOUBLE_PRECISION,                & 
    182             &                znorthgloio, itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 
     189         IF (ncom_stp <= ( nit000 + 1 ) .or. mod(ncom_stp,nn_comm_mod) == 0 ) THEN 
     190         ! start waiting time measurement 
     191         CALL tic_tac(.TRUE.) 
     192         IF (ncom_stp <= ( nit000 + 1 ) .or. mod(ncom_stp,nn_comm_mod) == 0 ) THEN 
     193            CALL MPI_ALLGATHER( znorthloc  , itaille, MPI_DOUBLE_PRECISION,                & 
     194               &                znorthgloio, itaille, MPI_DOUBLE_PRECISION, ncomm_north, ierr ) 
     195         ENDIF 
     196         ! 
     197         ! stop waiting time measurement 
     198         CALL tic_tac(.FALSE.) 
     199         ENDIF 
    183200         ! 
    184201         ztab(:,:,:,:,:) = 0._wp 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LBC/mppini.F90

    r9772 r9814  
    6262      jpi    = jpiglo 
    6363      jpj    = jpjglo 
    64       jpk    = jpjglo 
     64      jpk    = jpkglo 
    6565      jpim1  = jpi-1                                            ! inner domain indices 
    6666      jpjm1  = jpj-1                                            !   "           " 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LDF/ldfc1d_c2d.F90

    r9598 r9814  
    8787            END DO 
    8888         END DO 
    89          CALL lbc_lnk( pah2, 'F', 1. )   ! Lateral boundary conditions 
     89         CALL lbc_lnk("ldfc1d_c2d",pah2, 'F', 1. )   ! Lateral boundary conditions 
    9090         ! 
    9191      CASE( 'TRA' )                     ! U- and V-points (zdep1 & 2 are an approximation in zps-coord.) 
     
    101101         END DO 
    102102         ! Lateral boundary conditions 
    103          CALL lbc_lnk_multi( pah1, 'U', 1. , pah2, 'V', 1. )    
     103         CALL lbc_lnk_multi("ldfc1d_c2d",pah1, 'U', 1. , pah2, 'V', 1. )    
    104104         ! 
    105105      CASE DEFAULT                        ! error 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LDF/ldfdyn.F90

    r9598 r9814  
    399399         ENDIF 
    400400         ! 
    401          CALL lbc_lnk_multi( ahmt, 'T', 1.,  ahmf, 'F', 1. ) 
     401         CALL lbc_lnk_multi("ldfdyn",ahmt, 'T', 1.,  ahmf, 'F', 1. ) 
    402402         ! 
    403403         ! 
     
    477477         ENDIF 
    478478         ! 
    479          CALL lbc_lnk_multi( ahmt, 'T', 1. , ahmf, 'F', 1. ) 
     479         CALL lbc_lnk_multi("ldfdyn",ahmt, 'T', 1. , ahmf, 'F', 1. ) 
    480480         ! 
    481481      END SELECT 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LDF/ldfslp.F90

    r9736 r9814  
    232232         END DO 
    233233      END DO 
    234       CALL lbc_lnk_multi( zwz, 'U', -1.,  zww, 'V', -1. )      ! lateral boundary conditions 
     234      CALL lbc_lnk_multi("ldfslp",zwz, 'U', -1.,  zww, 'V', -1. )      ! lateral boundary conditions 
    235235      ! 
    236236      !                                            !* horizontal Shapiro filter 
     
    314314         END DO 
    315315      END DO 
    316       CALL lbc_lnk_multi( zwz, 'T', -1.,  zww, 'T', -1. )      ! lateral boundary conditions 
     316      CALL lbc_lnk_multi("ldfslp",zwz, 'T', -1.,  zww, 'T', -1. )      ! lateral boundary conditions 
    317317      ! 
    318318      !                                           !* horizontal Shapiro filter 
     
    363363      ! IV. Lateral boundary conditions 
    364364      ! =============================== 
    365       CALL lbc_lnk_multi( uslp , 'U', -1. , vslp , 'V', -1. , wslpi, 'W', -1., wslpj, 'W', -1. ) 
     365      CALL lbc_lnk_multi("ldfslp",uslp , 'U', -1. , vslp , 'V', -1. , wslpi, 'W', -1., wslpj, 'W', -1. ) 
    366366 
    367367      IF(ln_ctl) THEN 
     
    611611      wslp2(:,:,1) = 0._wp                ! force the surface wslp to zero 
    612612 
    613       CALL lbc_lnk( wslp2, 'W', 1. )      ! lateral boundary confition on wslp2 only   ==>>> gm : necessary ? to be checked 
     613      CALL lbc_lnk("ldfslp",wslp2, 'W', 1. )      ! lateral boundary confition on wslp2 only   ==>>> gm : necessary ? to be checked 
    614614      ! 
    615615      IF( ln_timing )   CALL timing_stop('ldf_slp_triad') 
     
    725725      END DO 
    726726      !!gm this lbc_lnk should be useless.... 
    727       CALL lbc_lnk_multi( uslpml , 'U', -1. , vslpml , 'V', -1. , wslpiml, 'W', -1. , wslpjml, 'W', -1. )  
     727      CALL lbc_lnk_multi("ldfslp",uslpml , 'U', -1. , vslpml , 'V', -1. , wslpiml, 'W', -1. , wslpjml, 'W', -1. )  
    728728      ! 
    729729   END SUBROUTINE ldf_slp_mxl 
     
    793793!               END DO 
    794794!            END DO 
    795 !            CALL lbc_lnk_multi( uslp , 'U', -1. ; CALL lbc_lnk( vslp , 'V', -1.,  wslpi, 'W', -1.,  wslpj, 'W', -1. ) 
     795!            CALL lbc_lnk_multi("ldfslp",uslp , 'U', -1. ; CALL lbc_lnk("ldfslp",vslp , 'V', -1.,  wslpi, 'W', -1.,  wslpj, 'W', -1. ) 
    796796!!gm         ENDIF 
    797797      ENDIF 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/LDF/ldftra.F90

    r9737 r9814  
    707707         END DO 
    708708      END DO 
    709       CALL lbc_lnk( zaeiw(:,:), 'W', 1. )       ! lateral boundary condition 
     709      CALL lbc_lnk("ldftra",zaeiw(:,:), 'W', 1. )       ! lateral boundary condition 
    710710      !                
    711711      DO jj = 2, jpjm1                          !== aei at u- and v-points  ==! 
     
    715715         END DO  
    716716      END DO  
    717       CALL lbc_lnk_multi( paeiu(:,:,1), 'U', 1. , paeiv(:,:,1), 'V', 1. )      ! lateral boundary condition 
     717      CALL lbc_lnk_multi("ldftra",paeiu(:,:,1), 'U', 1. , paeiv(:,:,1), 'V', 1. )      ! lateral boundary condition 
    718718 
    719719      DO jk = 2, jpkm1                          !==  deeper values equal the surface one  ==! 
     
    821821!!gm     to be redesigned....    
    822822      !                                                  !==  eiv stream function: output  ==! 
    823       CALL lbc_lnk_multi( psi_uw, 'U', -1. , psi_vw, 'V', -1. ) 
     823      CALL lbc_lnk_multi("ldftra",psi_uw, 'U', -1. , psi_vw, 'V', -1. ) 
    824824      ! 
    825825!!gm      CALL iom_put( "psi_eiv_uw", psi_uw )                 ! output 
     
    848848         END DO 
    849849      END DO 
    850       CALL lbc_lnk( zw3d, 'T', 1. )      ! lateral boundary condition 
     850      CALL lbc_lnk("ldftra",zw3d, 'T', 1. )      ! lateral boundary condition 
    851851      CALL iom_put( "woce_eiv", zw3d ) 
    852852      ! 
     
    865865           END DO 
    866866        END DO 
    867         CALL lbc_lnk( zw2d, 'U', -1. ) 
    868         CALL lbc_lnk( zw3d, 'U', -1. ) 
     867        CALL lbc_lnk("ldftra",zw2d, 'U', -1. ) 
     868        CALL lbc_lnk("ldftra",zw3d, 'U', -1. ) 
    869869        CALL iom_put( "ueiv_heattr"  , zztmp * zw2d )                  ! heat transport in i-direction 
    870870        CALL iom_put( "ueiv_heattr3d", zztmp * zw3d )                  ! heat transport in i-direction 
     
    881881         END DO 
    882882      END DO 
    883       CALL lbc_lnk( zw2d, 'V', -1. ) 
     883      CALL lbc_lnk("ldftra",zw2d, 'V', -1. ) 
    884884      CALL iom_put( "veiv_heattr", zztmp * zw2d )                  !  heat transport in j-direction 
    885885      CALL iom_put( "veiv_heattr", zztmp * zw3d )                  !  heat transport in j-direction 
     
    900900           END DO 
    901901        END DO 
    902         CALL lbc_lnk( zw2d, 'U', -1. ) 
    903         CALL lbc_lnk( zw3d, 'U', -1. ) 
     902        CALL lbc_lnk("ldftra",zw2d, 'U', -1. ) 
     903        CALL lbc_lnk("ldftra",zw3d, 'U', -1. ) 
    904904        CALL iom_put( "ueiv_salttr", zztmp * zw2d )                  ! salt transport in i-direction 
    905905        CALL iom_put( "ueiv_salttr3d", zztmp * zw3d )                  ! salt transport in i-direction 
     
    916916         END DO 
    917917      END DO 
    918       CALL lbc_lnk( zw2d, 'V', -1. ) 
     918      CALL lbc_lnk("ldftra",zw2d, 'V', -1. ) 
    919919      CALL iom_put( "veiv_salttr", zztmp * zw2d )                  !  salt transport in j-direction 
    920920      CALL iom_put( "veiv_salttr", zztmp * zw3d )                  !  salt transport in j-direction 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/cpl_oasis3.F90

    r9598 r9814  
    410410         !--- Fill the overlap areas and extra hallows (mpp) 
    411411         !--- check periodicity conditions (all cases) 
    412          IF( .not. llfisrt )   CALL lbc_lnk( pdata(:,:,jc), srcv(kid)%clgrid, srcv(kid)%nsgn )    
     412         IF( .not. llfisrt )   CALL lbc_lnk("cpl_oasis3",pdata(:,:,jc), srcv(kid)%clgrid, srcv(kid)%nsgn )    
    413413  
    414414      ENDDO 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/fldread.F90

    r9598 r9814  
    669669               IF( sdjf%ln_tint ) THEN 
    670670                  CALL iom_get( sdjf%num, sdjf%clvar, sdjf%fdta(2,2,1,2), sdjf%nrec_a(1) ) 
    671                   CALL lbc_lnk( sdjf%fdta(:,:,1,2),'Z',1. ) 
     671                  CALL lbc_lnk("fldread",sdjf%fdta(:,:,1,2),'Z',1. ) 
    672672               ELSE 
    673673                  CALL iom_get( sdjf%num, sdjf%clvar, sdjf%fnow(2,2,1  ), sdjf%nrec_a(1) ) 
    674                   CALL lbc_lnk( sdjf%fnow(:,:,1  ),'Z',1. ) 
     674                  CALL lbc_lnk("fldread",sdjf%fnow(:,:,1  ),'Z',1. ) 
    675675               ENDIF 
    676676            ELSE 
     
    683683               IF( sdjf%ln_tint ) THEN 
    684684                  CALL iom_get( sdjf%num, jpdom_unknown, sdjf%clvar, sdjf%fdta(2,2,:,2), sdjf%nrec_a(1) ) 
    685                   CALL lbc_lnk( sdjf%fdta(:,:,:,2),'Z',1. ) 
     685                  CALL lbc_lnk("fldread",sdjf%fdta(:,:,:,2),'Z',1. ) 
    686686               ELSE 
    687687                  CALL iom_get( sdjf%num, jpdom_unknown, sdjf%clvar, sdjf%fnow(2,2,:  ), sdjf%nrec_a(1) ) 
    688                   CALL lbc_lnk( sdjf%fnow(:,:,:  ),'Z',1. ) 
     688                  CALL lbc_lnk("fldread",sdjf%fnow(:,:,:  ),'Z',1. ) 
    689689               ENDIF 
    690690            ELSE 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/geo2ocean.F90

    r9598 r9814  
    280280      ! =========================== ! 
    281281      !           ! lateral boundary cond.: T-, U-, V-, F-pts, sgn 
    282       CALL lbc_lnk_multi( gcost, 'T', -1., gsint, 'T', -1., gcosu, 'U', -1., gsinu, 'U', -1., &  
     282      CALL lbc_lnk_multi("geo2ocean",gcost, 'T', -1., gsint, 'T', -1., gcosu, 'U', -1., gsinu, 'U', -1., &  
    283283                      &   gcosv, 'V', -1., gsinv, 'V', -1., gcosf, 'F', -1., gsinf, 'F', -1.  ) 
    284284      ! 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbc_oce.F90

    r9598 r9814  
    216216         END DO 
    217217      END DO 
    218       CALL lbc_lnk( wndm(:,:) , 'T', 1. ) 
     218      CALL lbc_lnk("sbc_oce",wndm(:,:) , 'T', 1. ) 
    219219      ! 
    220220   END SUBROUTINE sbc_tau2wnd 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbcblk.F90

    r9752 r9814  
    407407         END DO 
    408408      END DO 
    409       CALL lbc_lnk_multi( zwnd_i, 'T', -1., zwnd_j, 'T', -1. ) 
     409      CALL lbc_lnk_multi("sbcblk",zwnd_i, 'T', -1., zwnd_j, 'T', -1. ) 
    410410      ! ... scalar wind ( = | U10m - U_oce | ) at T-point (masked) 
    411411      wndm(:,:) = SQRT(  zwnd_i(:,:) * zwnd_i(:,:)   & 
     
    485485         END DO 
    486486      END DO 
    487       CALL lbc_lnk_multi( utau, 'U', -1., vtau, 'V', -1. ) 
     487      CALL lbc_lnk_multi("sbcblk",utau, 'U', -1., vtau, 'V', -1. ) 
    488488 
    489489      !  Turbulent fluxes over ocean 
     
    732732            END DO 
    733733         END DO 
    734          CALL lbc_lnk( wndm_ice, 'T',  1. ) 
     734         CALL lbc_lnk("sbcblk",wndm_ice, 'T',  1. ) 
    735735         ! 
    736736      CASE( 'C' )                  ! C-grid ice dynamics :   U & V-points (same as ocean) 
     
    742742            END DO 
    743743         END DO 
    744          CALL lbc_lnk( wndm_ice, 'T',  1. ) 
     744         CALL lbc_lnk("sbcblk",wndm_ice, 'T',  1. ) 
    745745         ! 
    746746      END SELECT 
     
    784784            END DO 
    785785         END DO 
    786          CALL lbc_lnk_multi( utau_ice, 'I', -1., vtau_ice, 'I', -1. ) 
     786         CALL lbc_lnk_multi("sbcblk",utau_ice, 'I', -1., vtau_ice, 'I', -1. ) 
    787787         ! 
    788788      CASE( 'C' )                  ! C-grid ice dynamics :   U & V-points (same as ocean) 
     
    795795            END DO 
    796796         END DO 
    797          CALL lbc_lnk_multi( utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
     797         CALL lbc_lnk_multi("sbcblk",utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
    798798         ! 
    799799      END SELECT 
     
    12181218         END DO 
    12191219      END DO 
    1220       CALL lbc_lnk_multi( Cd, 'T',  1., Ch, 'T', 1. ) 
     1220      CALL lbc_lnk_multi("sbcblk",Cd, 'T',  1., Ch, 'T', 1. ) 
    12211221      ! 
    12221222   END SUBROUTINE Cdn10_Lupkes2015 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbccpl.F90

    r9598 r9814  
    11621162                  END DO 
    11631163               END DO 
    1164                CALL lbc_lnk_multi( frcv(jpr_otx1)%z3(:,:,1), 'U',  -1., frcv(jpr_oty1)%z3(:,:,1), 'V',  -1. ) 
     1164               CALL lbc_lnk_multi("sbccpl",frcv(jpr_otx1)%z3(:,:,1), 'U',  -1., frcv(jpr_oty1)%z3(:,:,1), 'V',  -1. ) 
    11651165            ENDIF 
    11661166            llnewtx = .TRUE. 
     
    11891189               END DO 
    11901190            END DO 
    1191             CALL lbc_lnk( frcv(jpr_taum)%z3(:,:,1), 'T', 1. ) 
     1191            CALL lbc_lnk("sbccpl",frcv(jpr_taum)%z3(:,:,1), 'T', 1. ) 
    11921192            llnewtau = .TRUE. 
    11931193         ELSE 
     
    15771577            END SELECT 
    15781578            IF( srcv(jpr_itx1)%clgrid /= 'I' ) THEN  
    1579                CALL lbc_lnk_multi( p_taui, 'I',  -1., p_tauj, 'I',  -1. ) 
     1579               CALL lbc_lnk_multi("sbccpl",p_taui, 'I',  -1., p_tauj, 'I',  -1. ) 
    15801580            ENDIF 
    15811581            ! 
     
    16101610            END SELECT 
    16111611            IF( srcv(jpr_itx1)%clgrid /= 'F' ) THEN  
    1612                CALL lbc_lnk_multi( p_taui, 'F',  -1., p_tauj, 'F',  -1. ) 
     1612               CALL lbc_lnk_multi("sbccpl",p_taui, 'F',  -1., p_tauj, 'F',  -1. ) 
    16131613            ENDIF 
    16141614            ! 
     
    16411641            END SELECT 
    16421642            IF( srcv(jpr_itx1)%clgrid /= 'U' ) THEN  
    1643                CALL lbc_lnk_multi( p_taui, 'U',  -1., p_tauj, 'V',  -1. ) 
     1643               CALL lbc_lnk_multi("sbccpl",p_taui, 'U',  -1., p_tauj, 'V',  -1. ) 
    16441644            ENDIF 
    16451645         END SELECT 
     
    24262426                  END DO 
    24272427               END SELECT 
    2428                CALL lbc_lnk_multi( zitx1, 'T', -1., zity1, 'T', -1. ) 
     2428               CALL lbc_lnk_multi("sbccpl",zitx1, 'T', -1., zity1, 'T', -1. ) 
    24292429            CASE( 'mixed oce-ice'        ) 
    24302430               SELECT CASE ( cp_ice_msh ) 
     
    24622462               END SELECT 
    24632463            END SELECT 
    2464             CALL lbc_lnk_multi( zotx1, ssnd(jps_ocx1)%clgrid, -1.,  zoty1, ssnd(jps_ocy1)%clgrid, -1. ) 
     2464            CALL lbc_lnk_multi("sbccpl",zotx1, ssnd(jps_ocx1)%clgrid, -1.,  zoty1, ssnd(jps_ocy1)%clgrid, -1. ) 
    24652465            ! 
    24662466         ENDIF 
     
    25592559                END DO  
    25602560             END SELECT  
    2561              CALL lbc_lnk_multi( zitx1, 'T', -1.,  zity1, 'T', -1. )  
     2561             CALL lbc_lnk_multi("sbccpl",zitx1, 'T', -1.,  zity1, 'T', -1. )  
    25622562          CASE( 'mixed oce-ice'        )  
    25632563             SELECT CASE ( cp_ice_msh )  
     
    25952595             END SELECT  
    25962596          END SELECT  
    2597          CALL lbc_lnk_multi( zotx1, ssnd(jps_ocxw)%clgrid, -1., zoty1, ssnd(jps_ocyw)%clgrid, -1. )  
     2597         CALL lbc_lnk_multi("sbccpl",zotx1, ssnd(jps_ocxw)%clgrid, -1., zoty1, ssnd(jps_ocyw)%clgrid, -1. )  
    25982598         !  
    25992599         !  
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbcflx.F90

    r9727 r9814  
    157157         END DO 
    158158         taum(:,:) = taum(:,:) * tmask(:,:,1) ; wndm(:,:) = wndm(:,:) * tmask(:,:,1) 
    159          CALL lbc_lnk( taum(:,:), 'T', 1. )   ;   CALL lbc_lnk( wndm(:,:), 'T', 1. ) 
     159         CALL lbc_lnk("sbcflx",taum(:,:), 'T', 1. )   ;   CALL lbc_lnk("sbcflx",wndm(:,:), 'T', 1. ) 
    160160 
    161161         IF( nitend-nit000 <= 100 .AND. lwp ) THEN                ! control print (if less than 100 time-step asked) 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbcfwb.F90

    r9598 r9814  
    178178            ! 
    179179!!gm   ===>>>>  lbc_lnk should be useless as all the computation is done over the whole domain ! 
    180             CALL lbc_lnk( zerp_cor, 'T', 1. ) 
     180            CALL lbc_lnk("sbcfwb",zerp_cor, 'T', 1. ) 
    181181            ! 
    182182            emp(:,:) = emp(:,:) + zerp_cor(:,:) 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbcice_cice.F90

    r9598 r9814  
    217217      ENDDO 
    218218 
    219       CALL lbc_lnk_multi( fr_iu , 'U', 1.,  fr_iv , 'V', 1. ) 
     219      CALL lbc_lnk_multi("sbcice_cice",fr_iu , 'U', 1.,  fr_iv , 'V', 1. ) 
    220220 
    221221      ! set the snow+ice mass 
     
    513513         ENDDO 
    514514      ENDDO 
    515       CALL lbc_lnk( ss_iou , 'U', -1. ) 
     515      CALL lbc_lnk("sbcice_cice",ss_iou , 'U', -1. ) 
    516516 
    517517! y comp of ocean-ice stress  
     
    525525         ENDDO 
    526526      ENDDO 
    527       CALL lbc_lnk( ss_iov , 'V', -1. ) 
     527      CALL lbc_lnk("sbcice_cice",ss_iov , 'V', -1. ) 
    528528 
    529529! x and y comps of surface stress 
     
    578578      fmmflx(:,:) = ztmp1(:,:) !!Joakim edit 
    579579       
    580       CALL lbc_lnk_multi( emp , 'T', 1., sfx , 'T', 1. ) 
     580      CALL lbc_lnk_multi("sbcice_cice",emp , 'T', 1., sfx , 'T', 1. ) 
    581581 
    582582! Solar penetrative radiation and non solar surface heat flux 
     
    604604#endif 
    605605      qsr(:,:)=qsr(:,:)+ztmp1(:,:) 
    606       CALL lbc_lnk( qsr , 'T', 1. ) 
     606      CALL lbc_lnk("sbcice_cice",qsr , 'T', 1. ) 
    607607 
    608608      DO jj=1,jpj 
     
    619619      qns(:,:)=qns(:,:)+nfrzmlt(:,:)+ztmp1(:,:) 
    620620 
    621       CALL lbc_lnk( qns , 'T', 1. ) 
     621      CALL lbc_lnk("sbcice_cice",qns , 'T', 1. ) 
    622622 
    623623! Prepare for the following CICE time-step 
     
    639639      ENDDO 
    640640 
    641       CALL lbc_lnk_multi( fr_iu , 'U', 1., fr_iv , 'V', 1. ) 
     641      CALL lbc_lnk_multi("sbcice_cice",fr_iu , 'U', 1., fr_iv , 'V', 1. ) 
    642642 
    643643      ! set the snow+ice mass 
     
    863863!     A. Ensure all haloes are filled in NEMO field (pn) 
    864864 
    865       CALL lbc_lnk( pn , cd_type, psgn ) 
     865      CALL lbc_lnk("sbcice_cice",pn , cd_type, psgn ) 
    866866 
    867867#if defined key_nemocice_decomp 
     
    10401040!     D. Ensure all haloes are filled in pn 
    10411041 
    1042       CALL lbc_lnk( pn , cd_type, psgn ) 
     1042      CALL lbc_lnk("sbcice_cice",pn , cd_type, psgn ) 
    10431043 
    10441044   END SUBROUTINE cice2nemo 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbcisf.F90

    r9728 r9814  
    157157 
    158158         ! lbclnk 
    159          CALL lbc_lnk_multi( risf_tsc(:,:,jp_tem), 'T', 1., risf_tsc(:,:,jp_sal), 'T', 1., fwfisf,'T', 1., qisf, 'T', 1.) 
     159         CALL lbc_lnk_multi("sbcisf",risf_tsc(:,:,jp_tem), 'T', 1., risf_tsc(:,:,jp_sal), 'T', 1., fwfisf,'T', 1., qisf, 'T', 1.) 
    160160         ! output 
    161161         IF( iom_use('iceshelf_cea') )   CALL iom_put( 'iceshelf_cea', -fwfisf(:,:)                      )   ! isf mass flux 
     
    722722            END DO 
    723723         END DO 
    724          CALL lbc_lnk_multi( pgt, 'T', 1., pgs, 'T', 1.) 
     724         CALL lbc_lnk_multi("sbcisf",pgt, 'T', 1., pgs, 'T', 1.) 
    725725      END SELECT 
    726726      ! 
     
    779779            END DO 
    780780         END DO 
    781          CALL lbc_lnk(pvarout,'T',-1.) 
     781         CALL lbc_lnk("sbcisf",pvarout,'T',-1.) 
    782782       
    783783      CASE ( 'V' ) ! compute V in the top boundary layer at T- point  
     
    811811            END DO 
    812812         END DO 
    813          CALL lbc_lnk(pvarout,'T',-1.) 
     813         CALL lbc_lnk("sbcisf",pvarout,'T',-1.) 
    814814 
    815815      CASE ( 'T' ) ! compute T in the top boundary layer at T- point  
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbcmod.F90

    r9656 r9814  
    448448!!$!RBbug do not understand why see ticket 667 
    449449!!$!clem: it looks like it is necessary for the north fold (in certain circumstances). Don't know why. 
    450 !!$      CALL lbc_lnk( emp, 'T', 1. ) 
     450!!$      CALL lbc_lnk("sbcmod",emp, 'T', 1. ) 
    451451      ! 
    452452      IF( kt == nit000 ) THEN                          !   set the forcing field at nit000 - 1    ! 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/SBC/sbcwave.F90

    r9598 r9814  
    210210      ENDIF 
    211211 
    212       CALL lbc_lnk_multi( usd, 'U', -1., vsd, 'V', -1. ) 
     212      CALL lbc_lnk_multi("sbcwave",usd, 'U', -1., vsd, 'V', -1. ) 
    213213 
    214214      ! 
     
    235235#endif 
    236236      ! 
    237       CALL lbc_lnk( ze3divh, 'T', 1. ) 
     237      CALL lbc_lnk("sbcwave",ze3divh, 'T', 1. ) 
    238238      ! 
    239239      IF( ln_linssh ) THEN   ;   ik = 1   ! none zero velocity through the sea surface 
     
    296296            END DO 
    297297         END DO 
    298          CALL lbc_lnk_multi( utau(:,:), 'U', -1. , vtau(:,:), 'V', -1. , taum(:,:) , 'T', -1. ) 
     298         CALL lbc_lnk_multi("sbcwave",utau(:,:), 'U', -1. , vtau(:,:), 'V', -1. , taum(:,:) , 'T', -1. ) 
    299299      ENDIF 
    300300      ! 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/STO/stopar.F90

    r9598 r9814  
    172172          ! Apply horizontal Laplacian filter to w 
    173173          DO jflt = 1, sto2d_flt(jsto) 
    174             CALL lbc_lnk( sto2d(:,:,jsto), sto2d_typ(jsto), sto2d_sgn(jsto) ) 
     174            CALL lbc_lnk("stopar",sto2d(:,:,jsto), sto2d_typ(jsto), sto2d_sgn(jsto) ) 
    175175            CALL sto_par_flt( sto2d(:,:,jsto) ) 
    176176          END DO 
     
    195195 
    196196        ! Lateral boundary conditions on sto2d 
    197         CALL lbc_lnk( sto2d(:,:,jsto), sto2d_typ(jsto), sto2d_sgn(jsto) ) 
     197        CALL lbc_lnk("stopar",sto2d(:,:,jsto), sto2d_typ(jsto), sto2d_sgn(jsto) ) 
    198198      END DO 
    199199      ! 
     
    210210             ! Apply horizontal Laplacian filter to w 
    211211             DO jflt = 1, sto3d_flt(jsto) 
    212                CALL lbc_lnk( sto3d(:,:,jk,jsto), sto3d_typ(jsto), sto3d_sgn(jsto) ) 
     212               CALL lbc_lnk("stopar",sto3d(:,:,jk,jsto), sto3d_typ(jsto), sto3d_sgn(jsto) ) 
    213213               CALL sto_par_flt( sto3d(:,:,jk,jsto) ) 
    214214             END DO 
     
    233233         END DO 
    234234         ! Lateral boundary conditions on sto3d 
    235          CALL lbc_lnk( sto3d(:,:,:,jsto), sto3d_typ(jsto), sto3d_sgn(jsto) ) 
     235         CALL lbc_lnk("stopar",sto3d(:,:,:,jsto), sto3d_typ(jsto), sto3d_sgn(jsto) ) 
    236236      END DO 
    237237      ! 
     
    642642         ! Apply horizontal Laplacian filter to w 
    643643         DO jflt = 1, sto2d_flt(jsto) 
    644             CALL lbc_lnk( sto2d(:,:,jsto), sto2d_typ(jsto), sto2d_sgn(jsto) ) 
     644            CALL lbc_lnk("stopar",sto2d(:,:,jsto), sto2d_typ(jsto), sto2d_sgn(jsto) ) 
    645645            CALL sto_par_flt( sto2d(:,:,jsto) ) 
    646646         END DO 
     
    659659            ! Apply horizontal Laplacian filter to w 
    660660            DO jflt = 1, sto3d_flt(jsto) 
    661                CALL lbc_lnk( sto3d(:,:,jk,jsto), sto3d_typ(jsto), sto3d_sgn(jsto) ) 
     661               CALL lbc_lnk("stopar",sto3d(:,:,jk,jsto), sto3d_typ(jsto), sto3d_sgn(jsto) ) 
    662662               CALL sto_par_flt( sto3d(:,:,jk,jsto) ) 
    663663            END DO 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/STO/stopts.F90

    r9598 r9814  
    5454 
    5555      DO jts = 1, jpts 
    56         CALL lbc_lnk( pts(:,:,:,jts), 'T' , 1._wp ) 
     56        CALL lbc_lnk("stopts",pts(:,:,:,jts), 'T' , 1._wp ) 
    5757      ENDDO 
    5858 
     
    123123      DO jdof = 1, nn_sto_eos 
    124124         DO jts = 1, jpts 
    125             CALL lbc_lnk( pts_ran(:,:,:,jts,jdof), 'T' , 1._wp ) 
     125            CALL lbc_lnk("stopts",pts_ran(:,:,:,jts,jdof), 'T' , 1._wp ) 
    126126         END DO 
    127127      END DO 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/eosbn2.F90

    r9757 r9814  
    533533         END DO 
    534534         ! 
    535          CALL lbc_lnk( prd, 'T', 1. )                    ! Lateral boundary conditions 
     535         CALL lbc_lnk("eosbn2",prd, 'T', 1. )                    ! Lateral boundary conditions 
    536536         ! 
    537537      CASE( np_seos )                !==  simplified EOS  ==! 
     
    553553         END DO 
    554554         ! 
    555          CALL lbc_lnk( prd, 'T', 1. )                    ! Lateral boundary conditions 
     555         CALL lbc_lnk("eosbn2",prd, 'T', 1. )                    ! Lateral boundary conditions 
    556556         ! 
    557557      END SELECT 
     
    756756         END DO 
    757757         !                            ! Lateral boundary conditions 
    758          CALL lbc_lnk_multi( pab(:,:,jp_tem), 'T', 1. , pab(:,:,jp_sal), 'T', 1. )                     
     758         CALL lbc_lnk_multi("eosbn2",pab(:,:,jp_tem), 'T', 1. , pab(:,:,jp_sal), 'T', 1. )                     
    759759         ! 
    760760      CASE( np_seos )                  !==  simplified EOS  ==! 
     
    776776         END DO 
    777777         !                            ! Lateral boundary conditions 
    778          CALL lbc_lnk_multi( pab(:,:,jp_tem), 'T', 1. , pab(:,:,jp_sal), 'T', 1. )                     
     778         CALL lbc_lnk_multi("eosbn2",pab(:,:,jp_tem), 'T', 1. , pab(:,:,jp_sal), 'T', 1. )                     
    779779         ! 
    780780      CASE DEFAULT 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/traadv_cen.F90

    r9598 r9814  
    123123               END DO 
    124124            END DO 
    125             CALL lbc_lnk_multi( ztu, 'U', -1. , ztv, 'V', -1. )   ! Lateral boundary cond. 
     125            CALL lbc_lnk_multi("traadv_cen",ztu, 'U', -1. , ztv, 'V', -1. )   ! Lateral boundary cond. 
    126126            ! 
    127127            DO jk = 1, jpkm1                       ! Horizontal advective fluxes 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/traadv_fct.F90

    r9598 r9814  
    169169            END DO 
    170170         END DO 
    171          CALL lbc_lnk( zwi, 'T', 1. )  ! Lateral boundary conditions on zwi  (unchanged sign) 
     171         CALL lbc_lnk("traadv_fct",zwi, 'T', 1. )  ! Lateral boundary conditions on zwi  (unchanged sign) 
    172172         !                 
    173173         IF( l_trd .OR. l_hst )  THEN             ! trend diagnostics (contribution of upstream fluxes) 
     
    208208               END DO 
    209209            END DO 
    210             CALL lbc_lnk_multi( zltu, 'T', 1. , zltv, 'T', 1. )   ! Lateral boundary cond. (unchanged sgn) 
     210            CALL lbc_lnk_multi("traadv_fct",zltu, 'T', 1. , zltv, 'T', 1. )   ! Lateral boundary cond. (unchanged sgn) 
    211211            ! 
    212212            DO jk = 1, jpkm1                 ! Horizontal advective fluxes 
     
    233233               END DO 
    234234            END DO 
    235             CALL lbc_lnk_multi( ztu, 'U', -1. , ztv, 'V', -1. )   ! Lateral boundary cond. (unchanged sgn) 
     235            CALL lbc_lnk_multi("traadv_fct",ztu, 'U', -1. , ztv, 'V', -1. )   ! Lateral boundary cond. (unchanged sgn) 
    236236            ! 
    237237            DO jk = 1, jpkm1                 ! Horizontal advective fluxes 
     
    279279         ENDIF 
    280280         ! 
    281          CALL lbc_lnk_multi( zwx, 'U', -1. , zwy, 'V', -1.,  zwz, 'W',  1. ) 
     281         CALL lbc_lnk_multi("traadv_fct",zwx, 'U', -1. , zwy, 'V', -1.,  zwz, 'W',  1. ) 
    282282         ! 
    283283         !        !==  monotonicity algorithm  ==! 
     
    394394         END DO 
    395395      END DO 
    396       CALL lbc_lnk_multi( zbetup, 'T', 1. , zbetdo, 'T', 1. )   ! lateral boundary cond. (unchanged sign) 
     396      CALL lbc_lnk_multi("traadv_fct",zbetup, 'T', 1. , zbetdo, 'T', 1. )   ! lateral boundary cond. (unchanged sign) 
    397397 
    398398      ! 3. monotonic flux in the i & j direction (paa & pbb) 
     
    420420         END DO 
    421421      END DO 
    422       CALL lbc_lnk_multi( paa, 'U', -1. , pbb, 'V', -1. )   ! lateral boundary condition (changed sign) 
     422      CALL lbc_lnk_multi("traadv_fct",paa, 'U', -1. , pbb, 'V', -1. )   ! lateral boundary condition (changed sign) 
    423423      ! 
    424424   END SUBROUTINE nonosc 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/traadv_mus.F90

    r9598 r9814  
    140140         END DO 
    141141         ! lateral boundary conditions   (changed sign) 
    142          CALL lbc_lnk_multi( zwx, 'U', -1. , zwy, 'V', -1. ) 
     142         CALL lbc_lnk_multi("traadv_mus",zwx, 'U', -1. , zwy, 'V', -1. ) 
    143143         !                                !-- Slopes of tracer 
    144144         zslpx(:,:,jpk) = 0._wp                 ! bottom values 
     
    188188            END DO 
    189189         END DO 
    190          CALL lbc_lnk_multi( zwx, 'U', -1. , zwy, 'V', -1. )   ! lateral boundary conditions   (changed sign) 
     190         CALL lbc_lnk_multi("traadv_mus",zwx, 'U', -1. , zwy, 'V', -1. )   ! lateral boundary conditions   (changed sign) 
    191191         ! 
    192192         DO jk = 1, jpkm1                 !-- Tracer advective trend 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/traadv_qck.F90

    r9598 r9814  
    150150            END DO 
    151151         END DO 
    152          CALL lbc_lnk_multi( zfc(:,:,:), 'T', 1. , zfd(:,:,:), 'T', 1. )   ! Lateral boundary conditions  
     152         CALL lbc_lnk_multi("traadv_qck",zfc(:,:,:), 'T', 1. , zfd(:,:,:), 'T', 1. )   ! Lateral boundary conditions  
    153153          
    154154         ! 
     
    176176         END DO  
    177177         !--- Lateral boundary conditions  
    178          CALL lbc_lnk_multi( zfu(:,:,:), 'T', 1. , zfd(:,:,:), 'T', 1., zfc(:,:,:), 'T', 1.,  zwx(:,:,:), 'T', 1. ) 
     178         CALL lbc_lnk_multi("traadv_qck",zfu(:,:,:), 'T', 1. , zfd(:,:,:), 'T', 1., zfc(:,:,:), 'T', 1.,  zwx(:,:,:), 'T', 1. ) 
    179179 
    180180         !--- QUICKEST scheme 
     
    189189            END DO 
    190190         END DO 
    191          CALL lbc_lnk( zfu(:,:,:), 'T', 1. )      ! Lateral boundary conditions  
     191         CALL lbc_lnk("traadv_qck",zfu(:,:,:), 'T', 1. )      ! Lateral boundary conditions  
    192192 
    193193         ! 
     
    207207         END DO 
    208208         ! 
    209          CALL lbc_lnk( zwx(:,:,:), 'T', 1. ) ! Lateral boundary conditions 
     209         CALL lbc_lnk("traadv_qck",zwx(:,:,:), 'T', 1. ) ! Lateral boundary conditions 
    210210         ! 
    211211         ! Computation of the trend 
     
    265265            END DO 
    266266         END DO 
    267          CALL lbc_lnk_multi( zfc(:,:,:), 'T', 1. , zfd(:,:,:), 'T', 1. )   ! Lateral boundary conditions  
     267         CALL lbc_lnk_multi("traadv_qck",zfc(:,:,:), 'T', 1. , zfd(:,:,:), 'T', 1. )   ! Lateral boundary conditions  
    268268 
    269269          
     
    294294 
    295295         !--- Lateral boundary conditions  
    296          CALL lbc_lnk_multi( zfu(:,:,:), 'T', 1. , zfd(:,:,:), 'T', 1., zfc(:,:,:), 'T', 1., zwy(:,:,:), 'T', 1. ) 
     296         CALL lbc_lnk_multi("traadv_qck",zfu(:,:,:), 'T', 1. , zfd(:,:,:), 'T', 1., zfc(:,:,:), 'T', 1., zwy(:,:,:), 'T', 1. ) 
    297297 
    298298         !--- QUICKEST scheme 
     
    307307            END DO 
    308308         END DO 
    309          CALL lbc_lnk( zfu(:,:,:), 'T', 1. )    !--- Lateral boundary conditions  
     309         CALL lbc_lnk("traadv_qck",zfu(:,:,:), 'T', 1. )    !--- Lateral boundary conditions  
    310310         ! 
    311311         ! Tracer flux on the x-direction 
     
    324324         END DO 
    325325         ! 
    326          CALL lbc_lnk( zwy(:,:,:), 'T', 1. ) ! Lateral boundary conditions 
     326         CALL lbc_lnk("traadv_qck",zwy(:,:,:), 'T', 1. ) ! Lateral boundary conditions 
    327327         ! 
    328328         ! Computation of the trend 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/traadv_ubs.F90

    r9598 r9814  
    141141            !                                     
    142142         END DO          
    143          CALL lbc_lnk( zltu, 'T', 1. )   ;    CALL lbc_lnk( zltv, 'T', 1. )   ! Lateral boundary cond. (unchanged sgn) 
     143         CALL lbc_lnk("traadv_ubs",zltu, 'T', 1. )   ;    CALL lbc_lnk("traadv_ubs",zltv, 'T', 1. )   ! Lateral boundary cond. (unchanged sgn) 
    144144         !     
    145145         DO jk = 1, jpkm1        !==  Horizontal advective fluxes  ==!     (UBS) 
     
    226226               END DO 
    227227            END DO 
    228             CALL lbc_lnk( zti, 'T', 1. )      ! Lateral boundary conditions on zti, zsi   (unchanged sign) 
     228            CALL lbc_lnk("traadv_ubs",zti, 'T', 1. )      ! Lateral boundary conditions on zti, zsi   (unchanged sign) 
    229229            ! 
    230230            !                          !*  anti-diffusive flux : high order minus low order 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/trabbc.F90

    r9598 r9814  
    9292      END DO 
    9393      ! 
    94       CALL lbc_lnk( tsa(:,:,:,jp_tem) , 'T', 1. ) 
     94      CALL lbc_lnk("trabbc",tsa(:,:,:,jp_tem) , 'T', 1. ) 
    9595      ! 
    9696      IF( l_trdtra ) THEN        ! Send the trend for diagnostics 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/trabbl.F90

    r9598 r9814  
    123123            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=           ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    124124         ! lateral boundary conditions ; just need for outputs 
    125          CALL lbc_lnk_multi( ahu_bbl, 'U', 1. , ahv_bbl, 'V', 1. ) 
     125         CALL lbc_lnk_multi("trabbl",ahu_bbl, 'U', 1. , ahv_bbl, 'V', 1. ) 
    126126         CALL iom_put( "ahu_bbl", ahu_bbl )   ! bbl diffusive flux i-coef 
    127127         CALL iom_put( "ahv_bbl", ahv_bbl )   ! bbl diffusive flux j-coef 
     
    136136            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=           ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    137137         ! lateral boundary conditions ; just need for outputs 
    138          CALL lbc_lnk_multi( utr_bbl, 'U', 1. , vtr_bbl, 'V', 1. ) 
     138         CALL lbc_lnk_multi("trabbl",utr_bbl, 'U', 1. , vtr_bbl, 'V', 1. ) 
    139139         CALL iom_put( "uoce_bbl", utr_bbl )  ! bbl i-transport 
    140140         CALL iom_put( "voce_bbl", vtr_bbl )  ! bbl j-transport 
     
    525525      ! converte into REAL to use lbc_lnk ; impose a min value of 1 as a zero can be set in lbclnk 
    526526      zmbku(:,:) = REAL( mbku_d(:,:), wp )   ;     zmbkv(:,:) = REAL( mbkv_d(:,:), wp )   
    527       CALL lbc_lnk_multi( zmbku,'U',1., zmbkv,'V',1.)  
     527      CALL lbc_lnk_multi("trabbl",zmbku,'U',1., zmbkv,'V',1.)  
    528528      mbku_d(:,:) = MAX( INT( zmbku(:,:) ), 1 ) ;  mbkv_d(:,:) = MAX( INT( zmbkv(:,:) ), 1 ) 
    529529      ! 
     
    548548         END DO 
    549549      END DO 
    550       CALL lbc_lnk_multi( e3u_bbl_0, 'U', 1. , e3v_bbl_0, 'V', 1. )      ! lateral boundary conditions 
     550      CALL lbc_lnk_multi("trabbl",e3u_bbl_0, 'U', 1. , e3v_bbl_0, 'V', 1. )      ! lateral boundary conditions 
    551551      ! 
    552552      !                             !* masked diffusive flux coefficients 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/traldf_lap_blp.F90

    r9598 r9814  
    213213      END SELECT 
    214214      ! 
    215       CALL lbc_lnk( zlap(:,:,:,:) , 'T', 1. )     ! Lateral boundary conditions (unchanged sign) 
     215      CALL lbc_lnk("traldf_lap_blp",zlap(:,:,:,:) , 'T', 1. )     ! Lateral boundary conditions (unchanged sign) 
    216216      !                                               ! Partial top/bottom cell: GRADh( zlap )   
    217217      IF( ln_isfcav .AND. ln_zps ) THEN   ;   CALL zps_hde_isf( kt, kjpt, zlap, zglu, zglv, zgui, zgvi )  ! both top & bottom 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/tramle.F90

    r9598 r9814  
    319319               END DO 
    320320            END DO 
    321             CALL lbc_lnk_multi( rfu, 'U', 1. , rfv, 'V', 1. ) 
     321            CALL lbc_lnk_multi("tramle",rfu, 'U', 1. , rfv, 'V', 1. ) 
    322322            ! 
    323323         ELSEIF( nn_mle == 1 ) THEN           ! MLE array allocation & initialisation 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/tranpc.F90

    r9598 r9814  
    309309         ENDIF 
    310310         ! 
    311          CALL lbc_lnk_multi( tsa(:,:,:,jp_tem), 'T', 1., tsa(:,:,:,jp_sal), 'T', 1. ) 
     311         CALL lbc_lnk_multi("tranpc",tsa(:,:,:,jp_tem), 'T', 1., tsa(:,:,:,jp_sal), 'T', 1. ) 
    312312         ! 
    313313         IF( lwp .AND. l_LB_debug ) THEN 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/tranxt.F90

    r9598 r9814  
    107107#endif 
    108108      !                                              ! local domain boundaries  (T-point, unchanged sign) 
    109       CALL lbc_lnk_multi( tsa(:,:,:,jp_tem), 'T', 1., tsa(:,:,:,jp_sal), 'T', 1. ) 
     109      CALL lbc_lnk_multi("tranxt",tsa(:,:,:,jp_tem), 'T', 1., tsa(:,:,:,jp_sal), 'T', 1. ) 
    110110      ! 
    111111      IF( ln_bdy )   CALL bdy_tra( kt )  ! BDY open boundaries 
     
    163163         ENDIF 
    164164         ! 
    165          CALL lbc_lnk_multi( tsb(:,:,:,jp_tem), 'T', 1., tsb(:,:,:,jp_sal), 'T', 1., & 
     165         CALL lbc_lnk_multi("tranxt",tsb(:,:,:,jp_tem), 'T', 1., tsb(:,:,:,jp_sal), 'T', 1., & 
    166166                  &          tsn(:,:,:,jp_tem), 'T', 1., tsn(:,:,:,jp_sal), 'T', 1., & 
    167167                  &          tsa(:,:,:,jp_tem), 'T', 1., tsa(:,:,:,jp_sal), 'T', 1.  ) 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/traqsr.F90

    r9598 r9814  
    275275         END DO 
    276276      END DO 
    277       CALL lbc_lnk( fraqsr_1lev(:,:), 'T', 1._wp ) 
     277      CALL lbc_lnk("traqsr",fraqsr_1lev(:,:), 'T', 1._wp ) 
    278278      ! 
    279279      IF( iom_use('qsr3d') ) THEN      ! output the shortwave Radiation distribution 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/trazdf.F90

    r9598 r9814  
    9292         END DO 
    9393!!gm this should be moved in trdtra.F90 and done on all trends 
    94          CALL lbc_lnk_multi( ztrdt, 'T', 1. , ztrds, 'T', 1. ) 
     94         CALL lbc_lnk_multi("trazdf",ztrdt, 'T', 1. , ztrds, 'T', 1. ) 
    9595!!gm 
    9696         CALL trd_tra( kt, 'TRA', jp_tem, jptra_zdf, ztrdt ) 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRA/zpshde.F90

    r9598 r9814  
    144144            END DO 
    145145         END DO 
    146          CALL lbc_lnk_multi( pgtu(:,:,jn), 'U', -1. , pgtv(:,:,jn), 'V', -1. )   ! Lateral boundary cond. 
     146         CALL lbc_lnk_multi("zpshde",pgtu(:,:,jn), 'U', -1. , pgtv(:,:,jn), 'V', -1. )   ! Lateral boundary cond. 
    147147         ! 
    148148      END DO 
     
    183183            END DO 
    184184         END DO 
    185          CALL lbc_lnk_multi( pgru , 'U', -1. , pgrv , 'V', -1. )   ! Lateral boundary conditions 
     185         CALL lbc_lnk_multi("zpshde",pgru , 'U', -1. , pgrv , 'V', -1. )   ! Lateral boundary conditions 
    186186         ! 
    187187      END IF 
     
    305305            END DO 
    306306         END DO 
    307          CALL lbc_lnk_multi( pgtu(:,:,jn), 'U', -1. , pgtv(:,:,jn), 'V', -1. )   ! Lateral boundary cond. 
     307         CALL lbc_lnk_multi("zpshde",pgtu(:,:,jn), 'U', -1. , pgtv(:,:,jn), 'V', -1. )   ! Lateral boundary cond. 
    308308         ! 
    309309      END DO 
     
    353353         END DO 
    354354 
    355          CALL lbc_lnk_multi( pgru , 'U', -1. , pgrv , 'V', -1. )   ! Lateral boundary conditions 
     355         CALL lbc_lnk_multi("zpshde",pgru , 'U', -1. , pgrv , 'V', -1. )   ! Lateral boundary conditions 
    356356         ! 
    357357      END IF 
     
    406406         ! 
    407407      END DO 
    408       CALL lbc_lnk_multi( pgtui(:,:,:), 'U', -1. , pgtvi(:,:,:), 'V', -1. )   ! Lateral boundary cond. 
     408      CALL lbc_lnk_multi("zpshde",pgtui(:,:,:), 'U', -1. , pgtvi(:,:,:), 'V', -1. )   ! Lateral boundary cond. 
    409409 
    410410      IF( PRESENT( prd ) ) THEN    !==  horizontal derivative of density anomalies (rd)  ==!    (optional part) 
     
    449449            END DO 
    450450         END DO 
    451          CALL lbc_lnk_multi( pgrui, 'U', -1. , pgrvi, 'V', -1. )   ! Lateral boundary conditions 
     451         CALL lbc_lnk_multi("zpshde",pgrui, 'U', -1. , pgrvi, 'V', -1. )   ! Lateral boundary conditions 
    452452         ! 
    453453      END IF   
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRD/trddyn.F90

    r9598 r9814  
    129129                                 END DO 
    130130                              END DO 
    131                               CALL lbc_lnk_multi( z3dx, 'U', -1., z3dy, 'V', -1. ) 
     131                              CALL lbc_lnk_multi("trddyn",z3dx, 'U', -1., z3dy, 'V', -1. ) 
    132132                              CALL iom_put( "utrd_udx", z3dx  ) 
    133133                              CALL iom_put( "vtrd_vdy", z3dy  ) 
     
    165165!                                 END DO 
    166166!                              END DO 
    167 !                              CALL lbc_lnk_multi( z3dx, 'U', -1., z3dy, 'V', -1. ) 
     167!                              CALL lbc_lnk_multi("trddyn",z3dx, 'U', -1., z3dy, 'V', -1. ) 
    168168!                              CALL iom_put( "utrd_bfr", z3dx ) 
    169169!                              CALL iom_put( "vtrd_bfr", z3dy ) 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRD/trdken.F90

    r9598 r9814  
    8888      !!---------------------------------------------------------------------- 
    8989      ! 
    90       CALL lbc_lnk_multi( putrd, 'U', -1. , pvtrd, 'V', -1. )      ! lateral boundary conditions 
     90      CALL lbc_lnk_multi("trdken",putrd, 'U', -1. , pvtrd, 'V', -1. )      ! lateral boundary conditions 
    9191      ! 
    9292      nkstp = kt 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRD/trdmxl.F90

    r9598 r9814  
    152152!!gm to be put juste before the output ! 
    153153!      ! Lateral boundary conditions 
    154 !      CALL lbc_lnk_multi( tmltrd(:,:,jl), 'T', 1. , smltrd(:,:,jl), 'T', 1. ) 
     154!      CALL lbc_lnk_multi("trdmxl",tmltrd(:,:,jl), 'T', 1. , smltrd(:,:,jl), 'T', 1. ) 
    155155!!gm end 
    156156 
     
    470470         !-- Lateral boundary conditions 
    471471         !         ... temperature ...                    ... salinity ... 
    472          CALL lbc_lnk_multi( ztmltot , 'T', 1., zsmltot , 'T', 1., & 
     472         CALL lbc_lnk_multi("trdmxl",ztmltot , 'T', 1., zsmltot , 'T', 1., & 
    473473                  &          ztmlres , 'T', 1., zsmlres , 'T', 1., & 
    474474                  &          ztmlatf , 'T', 1., zsmlatf , 'T', 1. ) 
     
    521521         !-- Lateral boundary conditions 
    522522         !         ... temperature ...                    ... salinity ... 
    523          CALL lbc_lnk_multi( ztmltot2, 'T', 1., zsmltot2, 'T', 1., & 
     523         CALL lbc_lnk_multi("trdmxl",ztmltot2, 'T', 1., zsmltot2, 'T', 1., & 
    524524                  &          ztmlres2, 'T', 1., zsmlres2, 'T', 1. ) 
    525525         ! 
    526          CALL lbc_lnk_multi( ztmltrd2(:,:,:), 'T', 1., zsmltrd2(:,:,:), 'T', 1. ) ! /  in the NetCDF trends file 
     526         CALL lbc_lnk_multi("trdmxl",ztmltrd2(:,:,:), 'T', 1., zsmltrd2(:,:,:), 'T', 1. ) ! /  in the NetCDF trends file 
    527527          
    528528         ! III.3 Time evolution array swap 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/TRD/trdvor.F90

    r9598 r9814  
    161161 
    162162      zudpvor(:,:) = 0._wp                 ;   zvdpvor(:,:) = 0._wp                    ! Initialisation 
    163       CALL lbc_lnk_multi( putrdvor, 'U', -1. , pvtrdvor, 'V', -1. )      ! lateral boundary condition 
     163      CALL lbc_lnk_multi("trdvor",putrdvor, 'U', -1. , pvtrdvor, 'V', -1. )      ! lateral boundary condition 
    164164       
    165165 
     
    250250      zvdpvor(:,:) = 0._wp 
    251251      !                            ! lateral boundary condition on input momentum trends 
    252       CALL lbc_lnk_multi( putrdvor, 'U', -1. , pvtrdvor, 'V', -1. ) 
     252      CALL lbc_lnk_multi("trdvor",putrdvor, 'U', -1. , pvtrdvor, 'V', -1. ) 
    253253 
    254254      !  ===================================== 
     
    395395 
    396396         ! Boundary conditions 
    397          CALL lbc_lnk_multi( vor_avrtot, 'F', 1. , vor_avrres, 'F', 1. ) 
     397         CALL lbc_lnk_multi("trdvor",vor_avrtot, 'F', 1. , vor_avrres, 'F', 1. ) 
    398398 
    399399 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/USR/usrdef_fmask.F90

    r9598 r9814  
    143143      ENDIF 
    144144      ! 
    145       CALL lbc_lnk( pfmsk, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
     145      CALL lbc_lnk("usrdef_fmask",pfmsk, 'F', 1._wp )      ! Lateral boundary conditions on fmask 
    146146      ! 
    147147   END SUBROUTINE usr_def_fmask 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/USR/usrdef_zgr.F90

    r9598 r9814  
    33   !!                       ***  MODULE  usrdef_zgr  *** 
    44   !! 
    5    !!                       ===  GYRE configuration  === 
     5   !!                      ===  BENCH configuration  === 
    66   !! 
    77   !! User defined : vertical coordinate system of a user configuration 
    88   !!====================================================================== 
    9    !! History :  4.0  ! 2016-06  (G. Madec)  Original code 
     9   !! History :  4.0  !  
    1010   !!---------------------------------------------------------------------- 
    1111 
     
    1818   USE oce            ! ocean variables 
    1919   USE dom_oce        ! ocean domain 
     20   USE phycst         ! physical constants 
    2021   USE depth_e3       ! depth <=> e3 
    2122   ! 
     
    2930   PUBLIC   usr_def_zgr        ! called by domzgr.F90 
    3031 
    31    !! * Substitutions 
     32  !! * Substitutions 
    3233#  include "vectopt_loop_substitute.h90" 
    3334   !!---------------------------------------------------------------------- 
    34    !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
    35    !! $Id:$ 
    36    !! Software governed by the CeCILL licence     (./LICENSE) 
     35   !! NEMO/OPA 4.0 , NEMO Consortium (2016) 
     36   !! $Id$ 
     37   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    3738   !!---------------------------------------------------------------------- 
    3839CONTAINS              
     
    6566      ! 
    6667      IF(lwp) WRITE(numout,*) 
    67       IF(lwp) WRITE(numout,*) 'usr_def_zgr : GYRE configuration (z-coordinate closed flat box ocean without cavities)' 
     68      IF(lwp) WRITE(numout,*) 'usr_def_zgr : BENCH configuration (z-coordinate closed flat box ocean)' 
    6869      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    6970      ! 
     
    7172      ! type of vertical coordinate 
    7273      ! --------------------------- 
    73       ld_zco    = .TRUE.         ! GYRE case:  z-coordinate without ocean cavities 
     74      ld_zco    = .TRUE.         ! BENCH case:  z-coordinate without ocean cavities 
    7475      ld_zps    = .FALSE. 
    7576      ld_sco    = .FALSE. 
     
    126127      ! 
    127128      INTEGER  ::   jk       ! dummy loop indices 
    128       REAL(wp) ::   zt, zw   ! local scalars 
    129       REAL(wp) ::   zsur, za0, za1, zkth, zacr   ! Values for the Madec & Imbard (1996) function   
    130       !!---------------------------------------------------------------------- 
    131       ! 
    132       ! Set parameters of z(k) function 
    133       ! ------------------------------- 
    134       zsur = -2033.194295283385_wp        
    135       za0  =   155.8325369664153_wp  
    136       za1  =   146.3615918601890_wp 
    137       zkth =    17.28520372419791_wp    
    138       zacr =     5.0_wp        
     129      REAL(wp) ::   zd       ! local scalar 
     130      !!---------------------------------------------------------------------- 
     131      ! 
     132      zd = 5000./FLOAT(jpkm1) 
    139133      ! 
    140134      IF(lwp) THEN            ! Parameter print 
     
    142136         WRITE(numout,*) '    zgr_z   : Reference vertical z-coordinates ' 
    143137         WRITE(numout,*) '    ~~~~~~~' 
    144          WRITE(numout,*) '       GYRE case : MI96 function with the following coefficients :' 
    145          WRITE(numout,*) '                 zsur = ', zsur 
    146          WRITE(numout,*) '                 za0  = ', za0 
    147          WRITE(numout,*) '                 za1  = ', za1 
    148          WRITE(numout,*) '                 zkth = ', zkth 
    149          WRITE(numout,*) '                 zacr = ', zacr 
     138         WRITE(numout,*) '       BENCH case : uniform vertical grid :' 
     139         WRITE(numout,*) '                     with thickness = ', zd 
    150140      ENDIF 
    151141 
     
    154144      ! ------------------------- 
    155145      ! 
    156       DO jk = 1, jpk          ! depth at T and W-points 
    157          zw = REAL( jk , wp ) 
    158          zt = REAL( jk , wp ) + 0.5_wp 
    159          pdepw_1d(jk) = ( zsur + za0 * zw + za1 * zacr *  LOG( COSH( (zw-zkth) / zacr ) )  ) 
    160          pdept_1d(jk) = ( zsur + za0 * zt + za1 * zacr *  LOG( COSH( (zt-zkth) / zacr ) )  ) 
     146      pdepw_1d(1) = 0._wp 
     147      pdept_1d(1) = 0.5_wp * zd 
     148      !  
     149      DO jk = 2, jpk          ! depth at T and W-points 
     150         pdepw_1d(jk) = pdepw_1d(jk-1) + zd  
     151         pdept_1d(jk) = pdept_1d(jk-1) + zd  
    161152      END DO 
    162153      ! 
     
    183174      !! ** Purpose :   set the masked top and bottom ocean t-levels 
    184175      !! 
    185       !! ** Method  :   GYRE case = closed flat box ocean without ocean cavities 
     176      !! ** Method  :   BENCH case = closed flat box ocean without ocean cavities 
    186177      !!                   k_top = 1     except along north, south, east and west boundaries 
    187178      !!                   k_bot = jpk-1 except along north, south, east and west boundaries 
     
    193184      ! 
    194185      REAL(wp), DIMENSION(jpi,jpj) ::   z2d   ! 2D local workspace 
     186      REAL(wp)                     ::   zmaxlam, zscl 
    195187      !!---------------------------------------------------------------------- 
    196188      ! 
     
    198190      IF(lwp) WRITE(numout,*) '    zgr_top_bot : defines the top and bottom wet ocean levels.' 
    199191      IF(lwp) WRITE(numout,*) '    ~~~~~~~~~~~' 
    200       IF(lwp) WRITE(numout,*) '       GYRE case : closed flat box ocean without ocean cavities' 
     192      IF(lwp) WRITE(numout,*) '       BENCH case : closed flat box ocean without ocean cavities' 
    201193      ! 
    202194      z2d(:,:) = REAL( jpkm1 , wp )          ! flat bottom 
    203195      ! 
    204       CALL lbc_lnk( z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     196      CALL lbc_lnk("usrdef_zgr",z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
    205197      ! 
    206198      k_bot(:,:) = INT( z2d(:,:) )           ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/ZDF/zdfosm.F90

    r9598 r9814  
    12871287 
    12881288       ! Lateral boundary conditions on zvicos (sign unchanged), needed to caclulate viscosities on u and v grids 
    1289        CALL lbc_lnk( zviscos(:,:,:), 'W', 1. ) 
     1289       CALL lbc_lnk("zdfosm",zviscos(:,:,:), 'W', 1. ) 
    12901290 
    12911291       ! GN 25/8: need to change tmask --> wmask 
     
    13001300     END DO 
    13011301      ! Lateral boundary conditions on ghamu and ghamv, currently on W-grid  (sign unchanged), needed to caclulate gham[uv] on u and v grids 
    1302      CALL lbc_lnk_multi( p_avt, 'W', 1. , p_avm, 'W', 1.,   & 
     1302     CALL lbc_lnk_multi("zdfosm",p_avt, 'W', 1. , p_avm, 'W', 1.,   & 
    13031303      &                  ghamu, 'W', 1. , ghamv, 'W', 1. ) 
    13041304       DO jk = 2, jpkm1 
     
    13181318        ! Lateral boundary conditions on final outputs for gham[ts],  on W-grid  (sign unchanged) 
    13191319        ! Lateral boundary conditions on final outputs for gham[uv],  on [UV]-grid  (sign unchanged) 
    1320         CALL lbc_lnk_multi( ghamt, 'W', 1. , ghams, 'W', 1.,   & 
     1320        CALL lbc_lnk_multi("zdfosm",ghamt, 'W', 1. , ghams, 'W', 1.,   & 
    13211321         &                  ghamu, 'U', 1. , ghamv, 'V', 1. ) 
    13221322 
     
    13591359      END IF 
    13601360      ! Lateral boundary conditions on p_avt  (sign unchanged) 
    1361       CALL lbc_lnk( p_avt(:,:,:), 'W', 1. ) 
     1361      CALL lbc_lnk("zdfosm",p_avt(:,:,:), 'W', 1. ) 
    13621362      ! 
    13631363   END SUBROUTINE zdf_osm 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/ZDF/zdfphy.F90

    r9598 r9814  
    292292      !                                         !* Lateral boundary conditions (sign unchanged) 
    293293      IF( l_zdfsh2 ) THEN 
    294          CALL lbc_lnk_multi( avm_k, 'W', 1. , avt_k, 'W', 1.,   & 
     294         CALL lbc_lnk_multi("zdfphy",avm_k, 'W', 1. , avt_k, 'W', 1.,   & 
    295295            &                avm  , 'W', 1. , avt  , 'W', 1. , avs , 'W', 1. ) 
    296296      ELSE 
    297          CALL lbc_lnk_multi( avm  , 'W', 1. , avt  , 'W', 1. , avs , 'W', 1. ) 
     297         CALL lbc_lnk_multi("zdfphy",avm  , 'W', 1. , avt  , 'W', 1. , avs , 'W', 1. ) 
    298298      ENDIF 
    299299      ! 
    300300      IF( l_zdfdrg ) THEN     ! drag  have been updated (non-linear cases) 
    301          IF( ln_isfcav ) THEN   ;  CALL lbc_lnk_multi( rCdU_top, 'T', 1. , rCdU_bot, 'T', 1. )   ! top & bot drag 
    302          ELSE                   ;  CALL lbc_lnk      ( rCdU_bot, 'T', 1. )                       ! bottom drag only 
     301         IF( ln_isfcav ) THEN   ;  CALL lbc_lnk_multi("zdfphy",rCdU_top, 'T', 1. , rCdU_bot, 'T', 1. )   ! top & bot drag 
     302         ELSE                   ;  CALL lbc_lnk("zdfphy",rCdU_bot, 'T', 1. )                       ! bottom drag only 
    303303         ENDIF 
    304304      ENDIF 
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/nemogcm.F90

    r9772 r9814  
    8484   USE lib_mpp        ! distributed memory computing 
    8585   USE mppini         ! shared/distributed memory setting (mpp_init routine) 
     86   USE lbclnk  
    8687   USE lbcnfd  , ONLY : isendto, nsndto, nfsloop, nfeloop   ! Setup of north fold exchanges  
    8788   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
     
    190191            IF ( istp == ( nit000 + 1 ) ) tic = MPI_Wtime() 
    191192            IF ( ln_comm_only .AND. istp >= ( nit000  + 1 )) THEN 
    192                DO i = 1, n_sequence 
    193                  IF ( icomm_sequence(i,1) == 1 ) THEN 
    194                     SELECT CASE ( icomm_sequence(i,2) ) 
    195                       CASE (1) 
    196                       CALL lbc_lnk_multi( un(:,:,1)  , 'U', -1. ) 
    197                       CASE (2) 
    198                       CALL lbc_lnk_multi( un(:,:,1)  , 'U', -1., vn(:,:,1)  , 'V', -1.) 
    199                       CASE (3) 
    200                       CALL lbc_lnk_multi( un(:,:,1)  , 'U', -1., vn(:,:,1)  , 'V', -1., ua(:,:,1), 'U', -1.) 
    201                       CASE (4) 
    202                       CALL lbc_lnk_multi( un(:,:,1)  , 'U', -1., vn(:,:,1)  , 'V', -1., ua(:,:,1), 'U', -1., va(:,:,1)  , 'V', -1.) 
    203                       CASE (5) 
    204                       CALL lbc_lnk_multi( un(:,:,1)  , 'U', -1., vn(:,:,1)  , 'V', -1., ua(:,:,1), 'U', -1., va(:,:,1)  , 'V', -1., ub(:,:,1)  , 'U', -1.) 
    205                       CASE (6) 
    206                       CALL lbc_lnk_multi( un(:,:,1)  , 'U', -1., vn(:,:,1)  , 'V', -1., ua(:,:,1), 'U', -1., va(:,:,1)  , 'V', -1., ub(:,:,1)  , 'U', -1., vb(:,:,1)  , 'V', -1. ) 
    207                     END SELECT 
    208                  ELSE 
    209                     SELECT CASE ( icomm_sequence(i,2) ) 
    210                       CASE (1) 
    211                       CALL lbc_lnk_multi( un  , 'U', -1. ) 
    212                       CASE (2) 
    213                       CALL lbc_lnk_multi( un  , 'U', -1., vn  , 'V', -1.) 
    214                       CASE (3) 
    215                       CALL lbc_lnk_multi( un  , 'U', -1., vn  , 'V', -1., ua, 'U', -1.) 
    216                       CASE (4) 
    217                       CALL lbc_lnk_multi( un  , 'U', -1., vn  , 'V', -1., ua, 'U', -1., va  , 'V', -1.) 
    218                       CASE (5) 
    219                       CALL lbc_lnk_multi( un  , 'U', -1., vn  , 'V', -1., ua, 'U', -1., va  , 'V', -1., ub  , 'U', -1.) 
    220                       CASE (6) 
    221                       CALL lbc_lnk_multi( un  , 'U', -1., vn  , 'V', -1., ua, 'U', -1., va  , 'V', -1., ub  , 'U', -1., vb  , 'V', -1. ) 
    222                     END SELECT 
    223                  ENDIF 
    224                ENDDO 
     193              CALL simulated_lbc_lnk 
    225194            ELSE 
    226195              CALL stp        ( istp )  
  • NEMO/branches/2018/dev_r9759_HPC09_ESIWACE/src/OCE/step.F90

    r9610 r9814  
    313313      ! Control 
    314314      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    315                          CALL stp_ctl      ( kstp, indic ) 
     315                  !EM remove time stepping writing imbalance 
     316                  !       CALL stp_ctl      ( kstp, indic ) 
    316317                          
    317318      IF( kstp == nit000 ) THEN                          ! 1st time step only 
Note: See TracChangeset for help on using the changeset viewer.