Changeset 10170


Ignore:
Timestamp:
2018-10-03T16:49:50+02:00 (2 years ago)
Author:
smasson
Message:

dev_r10164_HPC09_ESIWACE_PREP_MERGE: action 2a: add report calls of lbc_lnk, see #2133

Location:
NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE
Files:
109 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icecor.F90

    r10069 r10170  
    119119            END DO 
    120120         END DO 
    121          CALL lbc_lnk_multi( u_ice, 'U', -1., v_ice, 'V', -1. )            ! lateral boundary conditions 
     121         CALL lbc_lnk_multi( 'icecor', u_ice, 'U', -1., v_ice, 'V', -1. )            ! lateral boundary conditions 
    122122      ENDIF 
    123123 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icedyn.F90

    r10069 r10170  
    101101         END DO 
    102102      END DO 
    103       CALL lbc_lnk( zhmax(:,:,:), 'T', 1. ) 
     103      CALL lbc_lnk( 'icedyn', zhmax(:,:,:), 'T', 1. ) 
    104104      ! 
    105105      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icedyn_adv_pra.F90

    r10069 r10170  
    425425 
    426426      !-- Lateral boundary conditions 
    427       CALL lbc_lnk_multi( psm , 'T',  1., ps0 , 'T',  1.   & 
     427      CALL lbc_lnk_multi( 'icedyn_adv_pra', psm , 'T',  1., ps0 , 'T',  1.   & 
    428428         &              , psx , 'T', -1., psy , 'T', -1.   &   ! caution gradient ==> the sign changes 
    429429         &              , psxx, 'T',  1., psyy, 'T',  1.   & 
     
    599599 
    600600      !-- Lateral boundary conditions 
    601       CALL lbc_lnk_multi( psm , 'T',  1.,  ps0 , 'T',  1.   & 
     601      CALL lbc_lnk_multi( 'icedyn_adv_pra', psm , 'T',  1.,  ps0 , 'T',  1.   & 
    602602         &              , psx , 'T', -1.,  psy , 'T', -1.   &   ! caution gradient ==> the sign changes 
    603603         &              , psxx, 'T',  1.,  psyy, 'T',  1.   & 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icedyn_adv_umx.F90

    r10069 r10170  
    182182         END DO 
    183183      END DO 
    184       CALL lbc_lnk( zt_ups, 'T', 1. )        ! Lateral boundary conditions   (unchanged sign) 
     184      CALL lbc_lnk( 'icedyn_adv_umx', zt_ups, 'T', 1. )        ! Lateral boundary conditions   (unchanged sign) 
    185185       
    186186      ! High order (_ho) fluxes  
     
    229229         END DO 
    230230      END DO 
    231       CALL lbc_lnk( ptc, 'T',  1. ) 
     231      CALL lbc_lnk( 'icedyn_adv_umx', ptc, 'T',  1. ) 
    232232      ! 
    233233   END SUBROUTINE adv_umx 
     
    271271            END DO 
    272272         END DO 
    273          CALL lbc_lnk( zzt, 'T', 1. ) 
     273         CALL lbc_lnk( 'icedyn_adv_umx', zzt, 'T', 1. ) 
    274274         ! 
    275275         !                                                           !--  ultimate interpolation of pt at v-point  --! 
     
    289289            END DO 
    290290         END DO 
    291          CALL lbc_lnk( zzt, 'T', 1. ) 
     291         CALL lbc_lnk( 'icedyn_adv_umx', zzt, 'T', 1. ) 
    292292         ! 
    293293         !                                                           !--  ultimate interpolation of pt at u-point  --! 
     
    331331         END DO 
    332332      END DO 
    333       CALL lbc_lnk( ztu2, 'T', 1. ) 
     333      CALL lbc_lnk( 'icedyn_adv_umx', ztu2, 'T', 1. ) 
    334334      ! 
    335335      !                                                     !--  BiLaplacian in i-direction  --! 
     
    343343         END DO 
    344344      END DO 
    345       CALL lbc_lnk( ztu4, 'T', 1. ) 
     345      CALL lbc_lnk( 'icedyn_adv_umx', ztu4, 'T', 1. ) 
    346346      ! 
    347347      ! 
     
    450450         END DO 
    451451      END DO 
    452       CALL lbc_lnk( ztv2, 'T', 1. ) 
     452      CALL lbc_lnk( 'icedyn_adv_umx', ztv2, 'T', 1. ) 
    453453      ! 
    454454      !                                                     !--  BiLaplacian in j-direction  --! 
     
    463463         END DO 
    464464      END DO 
    465       CALL lbc_lnk( ztv4, 'T', 1. ) 
     465      CALL lbc_lnk( 'icedyn_adv_umx', ztv4, 'T', 1. ) 
    466466      ! 
    467467      ! 
     
    484484            END DO 
    485485         END DO 
    486          CALL lbc_lnk( pt_v, 'V',  1. ) 
     486         CALL lbc_lnk( 'icedyn_adv_umx', pt_v, 'V',  1. ) 
    487487         ! 
    488488      CASE( 3 )                                                !==  3rd order central TIM  ==! (Eq. 24) 
     
    567567         END DO 
    568568      END DO 
    569       CALL lbc_lnk( zdiv, 'T', 1. )        ! Lateral boundary conditions   (unchanged sign) 
     569      CALL lbc_lnk( 'icedyn_adv_umx', zdiv, 'T', 1. )        ! Lateral boundary conditions   (unchanged sign) 
    570570 
    571571      ! Determine ice masks for before and after tracers  
     
    605605         END DO 
    606606      END DO 
    607       CALL lbc_lnk_multi( zbetup, 'T', 1., zbetdo, 'T', 1. )   ! lateral boundary cond. (unchanged sign) 
     607      CALL lbc_lnk_multi( 'icedyn_adv_umx', zbetup, 'T', 1., zbetdo, 'T', 1. )   ! lateral boundary cond. (unchanged sign) 
    608608 
    609609      ! monotonic flux in the i & j direction (paa & pbb) 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icedyn_rdgrft.F90

    r10069 r10170  
    790790            END DO 
    791791         END DO 
    792          CALL lbc_lnk( strength, 'T', 1. ) 
     792         CALL lbc_lnk( 'icedyn_rdgrft', strength, 'T', 1. ) 
    793793         ! 
    794794      CASE( 2 )               !--- Temporal smoothing 
     
    811811            END DO 
    812812         END DO 
    813          CALL lbc_lnk( strength, 'T', 1. ) 
     813         CALL lbc_lnk( 'icedyn_rdgrft', strength, 'T', 1. ) 
    814814         ! 
    815815      END SELECT 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icedyn_rhg_evp.F90

    r10069 r10170  
    189189         END DO 
    190190      END DO 
    191       CALL lbc_lnk( zfmask, 'F', 1._wp ) 
     191      CALL lbc_lnk( 'icedyn_rhg_evp', zfmask, 'F', 1._wp ) 
    192192 
    193193      ! Lateral boundary conditions on velocity (modify zfmask) 
     
    216216         ENDIF 
    217217      END DO 
    218       CALL lbc_lnk( zfmask, 'F', 1._wp ) 
     218      CALL lbc_lnk( 'icedyn_rhg_evp', zfmask, 'F', 1._wp ) 
    219219 
    220220      !------------------------------------------------------------------------------! 
     
    326326         END DO 
    327327      END DO 
    328       CALL lbc_lnk_multi( zmf, 'T', 1., zdt_m, 'T', 1. ) 
     328      CALL lbc_lnk_multi( 'icedyn_rhg_evp', zmf, 'T', 1., zdt_m, 'T', 1. ) 
    329329      ! 
    330330      !------------------------------------------------------------------------------! 
     
    353353            END DO 
    354354         END DO 
    355          CALL lbc_lnk( zds, 'F', 1. ) 
     355         CALL lbc_lnk( 'icedyn_rhg_evp', zds, 'F', 1. ) 
    356356 
    357357         DO jj = 2, jpj    ! loop to jpi,jpj to avoid making a communication for zs1,zs2,zs12 
     
    397397            END DO 
    398398         END DO 
    399          CALL lbc_lnk( zp_delt, 'T', 1. ) 
     399         CALL lbc_lnk( 'icedyn_rhg_evp', zp_delt, 'T', 1. ) 
    400400 
    401401         DO jj = 1, jpjm1 
     
    492492               END DO 
    493493            END DO 
    494             CALL lbc_lnk( v_ice, 'V', -1. ) 
     494            CALL lbc_lnk( 'icedyn_rhg_evp', v_ice, 'V', -1. ) 
    495495            ! 
    496496#if defined key_agrif 
     
    540540               END DO 
    541541            END DO 
    542             CALL lbc_lnk( u_ice, 'U', -1. ) 
     542            CALL lbc_lnk( 'icedyn_rhg_evp', u_ice, 'U', -1. ) 
    543543            ! 
    544544#if defined key_agrif 
     
    590590               END DO 
    591591            END DO 
    592             CALL lbc_lnk( u_ice, 'U', -1. ) 
     592            CALL lbc_lnk( 'icedyn_rhg_evp', u_ice, 'U', -1. ) 
    593593            ! 
    594594#if defined key_agrif 
     
    638638               END DO 
    639639            END DO 
    640             CALL lbc_lnk( v_ice, 'V', -1. ) 
     640            CALL lbc_lnk( 'icedyn_rhg_evp', v_ice, 'V', -1. ) 
    641641            ! 
    642642#if defined key_agrif 
     
    703703         END DO 
    704704      END DO 
    705       CALL lbc_lnk_multi( pshear_i, 'T', 1., pdivu_i, 'T', 1., pdelta_i, 'T', 1. ) 
     705      CALL lbc_lnk_multi( 'icedyn_rhg_evp', pshear_i, 'T', 1., pdivu_i, 'T', 1., pdelta_i, 'T', 1. ) 
    706706       
    707707      ! --- Store the stress tensor for the next time step --- ! 
    708       CALL lbc_lnk_multi( zs1, 'T', 1., zs2, 'T', 1., zs12, 'F', 1. ) 
     708      CALL lbc_lnk_multi( 'icedyn_rhg_evp', zs1, 'T', 1., zs2, 'T', 1., zs12, 'F', 1. ) 
    709709      pstress1_i (:,:) = zs1 (:,:) 
    710710      pstress2_i (:,:) = zs2 (:,:) 
     
    750750            END DO 
    751751         END DO 
    752          CALL lbc_lnk_multi( zsig1, 'T', 1., zsig2, 'T', 1., zsig3, 'T', 1. ) 
     752         CALL lbc_lnk_multi( 'icedyn_rhg_evp', zsig1, 'T', 1., zsig2, 'T', 1., zsig3, 'T', 1. ) 
    753753         ! 
    754754         IF( iom_use('isig1') )   CALL iom_put( "isig1" , zsig1 ) 
     
    807807         END DO 
    808808          
    809          CALL lbc_lnk_multi( zdiag_sig1   , 'T',  1., zdiag_sig2   , 'T',  1.,   & 
     809         CALL lbc_lnk_multi( 'icedyn_rhg_evp', zdiag_sig1   , 'T',  1., zdiag_sig2   , 'T',  1.,   & 
    810810            &                zdiag_dssh_dx, 'U', -1., zdiag_dssh_dy, 'V', -1.,   & 
    811811            &                zdiag_corstrx, 'U', -1., zdiag_corstry, 'V', -1.,   &  
    812812            &                zdiag_intstrx, 'U', -1., zdiag_intstry, 'V', -1.    ) 
    813813                   
    814          CALL lbc_lnk_multi( zdiag_utau_oi  , 'U', -1., zdiag_vtau_oi  , 'V', -1.,   & 
     814         CALL lbc_lnk_multi( 'icedyn_rhg_evp', zdiag_utau_oi  , 'U', -1., zdiag_vtau_oi  , 'V', -1.,   & 
    815815            &                zdiag_xmtrp_ice, 'U', -1., zdiag_xmtrp_snw, 'U', -1.,   & 
    816816            &                zdiag_xatrp    , 'U', -1., zdiag_ymtrp_ice, 'V', -1.,   & 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/iceforcing.F90

    r10069 r10170  
    8383            END DO 
    8484         END DO 
    85          CALL lbc_lnk_multi( utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
     85         CALL lbc_lnk_multi( 'iceforcing', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
    8686      ENDIF 
    8787      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icethd.F90

    r10069 r10170  
    126126         END DO 
    127127      ENDIF 
    128       CALL lbc_lnk( zfric, 'T',  1. ) 
     128      CALL lbc_lnk( 'icethd', zfric, 'T',  1. ) 
    129129      ! 
    130130      !--------------------------------------------------------------------! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icethd_do.F90

    r10069 r10170  
    189189         END DO  
    190190         !  
    191          CALL lbc_lnk_multi( zvrel, 'T', 1., ht_i_new, 'T', 1.  ) 
     191         CALL lbc_lnk_multi( 'icethd_do', zvrel, 'T', 1., ht_i_new, 'T', 1.  ) 
    192192 
    193193      ENDIF 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/iceupdate.F90

    r10069 r10170  
    350350            END DO 
    351351         END DO 
    352          CALL lbc_lnk_multi( taum, 'T', 1., tmod_io, 'T', 1. ) 
     352         CALL lbc_lnk_multi( 'iceupdate', taum, 'T', 1., tmod_io, 'T', 1. ) 
    353353         ! 
    354354         utau_oce(:,:) = utau(:,:)                    !* save the air-ocean stresses at ice time-step 
     
    374374         END DO 
    375375      END DO 
    376       CALL lbc_lnk_multi( utau, 'U', -1., vtau, 'V', -1. )   ! lateral boundary condition 
     376      CALL lbc_lnk_multi( 'iceupdate', utau, 'U', -1., vtau, 'V', -1. )   ! lateral boundary condition 
    377377      ! 
    378378      IF( ln_timing )   CALL timing_stop('ice_update_tau') 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/ICE/icewri.F90

    r10069 r10170  
    140140           END DO 
    141141         END DO 
    142          CALL lbc_lnk( z2d, 'T', 1. ) 
     142         CALL lbc_lnk( 'icewri', z2d, 'T', 1. ) 
    143143         IF( iom_use('icevel') )   CALL iom_put( "icevel" , z2d                   )   ! ice velocity module 
    144144      ENDIF 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/NST/agrif_oce_sponge.F90

    r10068 r10170  
    164164            END DO 
    165165         END DO 
    166          CALL lbc_lnk( fsaht_spu, 'U', 1. )   ! Lateral boundary conditions 
    167          CALL lbc_lnk( fsaht_spv, 'V', 1. ) 
     166         CALL lbc_lnk( 'agrif_oce_sponge', fsaht_spu, 'U', 1. )   ! Lateral boundary conditions 
     167         CALL lbc_lnk( 'agrif_oce_sponge', fsaht_spv, 'V', 1. ) 
    168168          
    169169         spongedoneT = .TRUE. 
     
    181181            END DO 
    182182         END DO 
    183          CALL lbc_lnk( fsahm_spt, 'T', 1. )   ! Lateral boundary conditions 
    184          CALL lbc_lnk( fsahm_spf, 'F', 1. ) 
     183         CALL lbc_lnk( 'agrif_oce_sponge', fsahm_spt, 'T', 1. )   ! Lateral boundary conditions 
     184         CALL lbc_lnk( 'agrif_oce_sponge', fsahm_spf, 'F', 1. ) 
    185185          
    186186         spongedoneU = .TRUE. 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/ASM/asminc.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/BDY/bdydyn3d.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/BDY/bdyini.F90

    r10068 r10170  
    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: 
     
    11691169 
    11701170      ! Lateral boundary conditions 
    1171       CALL lbc_lnk( zfmask, 'F', 1. )  
    1172       CALL lbc_lnk_multi( bdyumask, 'U', 1. , bdyvmask, 'V', 1., bdytmask, 'T', 1. ) 
     1171      CALL lbc_lnk( 'bdyini', zfmask, 'F', 1. )  
     1172      CALL lbc_lnk_multi( 'bdyini', bdyumask, 'U', 1. , bdyvmask, 'V', 1., bdytmask, 'T', 1. ) 
    11731173      DO ib_bdy = 1, nb_bdy       ! Indices and directions of rim velocity components 
    11741174 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/CRS/crsfld.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/CRS/crslbclnk.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DIA/diaar5.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DIA/diawri.F90

    r10114 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DOM/closea.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DOM/dommsk.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DOM/domvvl.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DOM/domwri.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DOM/domzgr.F90

    r10068 r10170  
    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( NINT( zk(:,:) ), 1 ) 
    310       zk(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mikv(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    311       zk(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk( zk, 'F', 1. )   ;   mikf(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    312       ! 
    313       zk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk( zk, 'U', 1. )   ;   mbku(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    314       zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk( zk, 'V', 1. )   ;   mbkv(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     309      zk(:,:) = REAL( miku(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'U', 1. )   ;   miku(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     310      zk(:,:) = REAL( mikv(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'V', 1. )   ;   mikv(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     311      zk(:,:) = REAL( mikf(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'F', 1. )   ;   mikf(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     312      ! 
     313      zk(:,:) = REAL( mbku(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'U', 1. )   ;   mbku(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
     314      zk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk( 'domzgr', zk, 'V', 1. )   ;   mbkv(:,:) = MAX( NINT( zk(:,:) ), 1 ) 
    315315      ! 
    316316   END SUBROUTINE zgr_top_bot 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DOM/iscplrst.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/divhor.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynadv_ubs.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynhpg.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynkeg.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynldf_iso.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynldf_lap_blp.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynnxt.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynspg_ts.F90

    r10068 r10170  
    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 
     
    872872         ssha_e(:,:) = (  sshn_e(:,:) - rdtbt * ( zssh_frc(:,:) + zhdiv(:,:) )  ) * ssmask(:,:) 
    873873          
    874          CALL lbc_lnk( ssha_e, 'T',  1._wp ) 
     874         CALL lbc_lnk( 'dynspg_ts', ssha_e, 'T',  1._wp ) 
    875875 
    876876         ! Duplicate sea level across open boundaries (this is only cosmetic if linssh=T) 
     
    892892               END DO 
    893893            END DO 
    894             CALL lbc_lnk_multi( zsshu_a, 'U', 1._wp, zsshv_a, 'V', 1._wp ) 
     894            CALL lbc_lnk_multi( 'dynspg_ts', zsshu_a, 'U', 1._wp, zsshv_a, 'V', 1._wp ) 
    895895         ENDIF    
    896896         !                                  
     
    11571157         ENDIF 
    11581158         !                                             !* domain lateral boundary 
    1159          CALL lbc_lnk_multi( ua_e, 'U', -1._wp, va_e , 'V', -1._wp ) 
     1159         CALL lbc_lnk_multi( 'dynspg_ts', ua_e, 'U', -1._wp, va_e , 'V', -1._wp ) 
    11601160         ! 
    11611161         !                                                 ! open boundaries 
     
    12431243            END DO 
    12441244         END DO 
    1245          CALL lbc_lnk_multi( zsshu_a, 'U', 1._wp, zsshv_a, 'V', 1._wp ) ! Boundary conditions 
     1245         CALL lbc_lnk_multi( 'dynspg_ts', zsshu_a, 'U', 1._wp, zsshv_a, 'V', 1._wp ) ! Boundary conditions 
    12461246         ! 
    12471247         DO jk=1,jpkm1 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/dynvor.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/sshwzv.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/DYN/wet_dry.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/ICB/icbclv.F90

    r10068 r10170  
    174174      ! 
    175175      DO jn = 1, nclasses 
    176          CALL lbc_lnk( berg_grid%stored_ice(:,:,jn), 'T', 1._wp ) 
     176         CALL lbc_lnk( 'icbclv', berg_grid%stored_ice(:,:,jn), 'T', 1._wp ) 
    177177      END DO 
    178       CALL lbc_lnk( berg_grid%stored_heat, 'T', 1._wp ) 
     178      CALL lbc_lnk( 'icbclv', berg_grid%stored_heat, 'T', 1._wp ) 
    179179      ! 
    180180      IF( nn_verbose_level > 0 .AND. icntmax > 1 )   WRITE(numicb,*) 'icb_clv: icnt=', icnt,' on', narea 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/ICB/icbini.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/IOM/iom.F90

    r10068 r10170  
    13071307               !--- overlap areas and extra hallows (mpp) 
    13081308               IF(     PRESENT(pv_r2d) .AND. idom /= jpdom_unknown ) THEN 
    1309                   CALL lbc_lnk( pv_r2d,'Z',-999.,'no0' ) 
     1309                  CALL lbc_lnk( 'iom', pv_r2d,'Z',-999.,'no0' ) 
    13101310               ELSEIF( PRESENT(pv_r3d) .AND. idom /= jpdom_unknown ) THEN 
    13111311                  ! this if could be simplified with the new lbc_lnk that works with any size of the 3rd dimension 
    13121312                  IF( icnt(3) == inlev ) THEN 
    1313                      CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 
     1313                     CALL lbc_lnk( 'iom', pv_r3d,'Z',-999.,'no0' ) 
    13141314                  ELSE   ! put some arbitrary value (a call to lbc_lnk will be done later...) 
    13151315                     DO jj = nlcj+1, jpj   ;   pv_r3d(1:nlci, jj, :) = pv_r3d(1:nlci, nlej, :)   ;   END DO 
     
    13361336            CALL xios_recv_field( trim(cdvar), pv_r3d) 
    13371337            IF(idom /= jpdom_unknown ) then 
    1338                 CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 
     1338                CALL lbc_lnk( 'iom', pv_r3d,'Z',-999.,'no0' ) 
    13391339            ENDIF 
    13401340         ELSEIF( PRESENT(pv_r2d) ) THEN 
     
    13431343            CALL xios_recv_field( trim(cdvar), pv_r2d) 
    13441344            IF(idom /= jpdom_unknown ) THEN 
    1345                 CALL lbc_lnk(pv_r2d,'Z',-999.,'no0') 
     1345                CALL lbc_lnk('iom', pv_r2d,'Z',-999.,'no0') 
    13461346            ENDIF 
    13471347         ELSEIF( PRESENT(pv_r1d) ) THEN 
     
    13581358!some final adjustments 
    13591359      ! C1D case : always call lbc_lnk to replicate the central value over the whole 3X3 domain 
    1360       IF( lk_c1d .AND. PRESENT(pv_r2d) )   CALL lbc_lnk( pv_r2d,'Z',1. ) 
    1361       IF( lk_c1d .AND. PRESENT(pv_r3d) )   CALL lbc_lnk( pv_r3d,'Z',1. ) 
     1360      IF( lk_c1d .AND. PRESENT(pv_r2d) )   CALL lbc_lnk( 'iom', pv_r2d,'Z',1. ) 
     1361      IF( lk_c1d .AND. PRESENT(pv_r3d) )   CALL lbc_lnk( 'iom', pv_r3d,'Z',1. ) 
    13621362 
    13631363      !--- Apply scale_factor and offset 
     
    19651965         SELECT CASE ( cdgrd ) 
    19661966         CASE('T')   ;   zmask(:,:,:)       = tmask(:,:,:) 
    1967          CASE('U')   ;   zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:)   ;   CALL lbc_lnk( zmask, 'U', 1. ) 
    1968          CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:)   ;   CALL lbc_lnk( zmask, 'V', 1. ) 
     1967         CASE('U')   ;   zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:)   ;   CALL lbc_lnk( 'iom', zmask, 'U', 1. ) 
     1968         CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:)   ;   CALL lbc_lnk( 'iom', zmask, 'V', 1. ) 
    19691969         CASE('W')   ;   zmask(:,:,2:jpk  ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk)   ;   zmask(:,:,1) = tmask(:,:,1) 
    19701970         END SELECT 
     
    20092009      ! 
    20102010      z_fld(:,:) = 1._wp 
    2011       CALL lbc_lnk( z_fld, cdgrd, -1. )    ! Working array for location of northfold 
     2011      CALL lbc_lnk( 'iom', z_fld, cdgrd, -1. )    ! Working array for location of northfold 
    20122012      ! 
    20132013      ! Cell vertices that can be defined 
     
    20272027      ! Cell vertices on boundries 
    20282028      DO jn = 1, 4 
    2029          CALL lbc_lnk( z_bnds(jn,:,:,1), cdgrd, 1., pval=999._wp ) 
    2030          CALL lbc_lnk( z_bnds(jn,:,:,2), cdgrd, 1., pval=999._wp ) 
     2029         CALL lbc_lnk( 'iom', z_bnds(jn,:,:,1), cdgrd, 1., pval=999._wp ) 
     2030         CALL lbc_lnk( 'iom', z_bnds(jn,:,:,2), cdgrd, 1., pval=999._wp ) 
    20312031      END DO 
    20322032      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LBC/lbc_lnk_multi_generic.h90

    r10068 r10170  
    1414#   define PTR_ptab              pt4d 
    1515#endif 
    16    SUBROUTINE ROUTINE_MULTI( pt1, cdna1, psgn1, pt2, cdna2, psgn2, pt3, cdna3, psgn3   & 
     16   SUBROUTINE ROUTINE_MULTI( cdname                                                    & 
     17      &                    , pt1, cdna1, psgn1, pt2, cdna2, psgn2, pt3, cdna3, psgn3   & 
    1718      &                    , pt4, cdna4, psgn4, pt5, cdna5, psgn5, pt6, cdna6, psgn6   & 
    1819      &                    , pt7, cdna7, psgn7, pt8, cdna8, psgn8, pt9, cdna9, psgn9, cd_mpp, pval) 
    1920      !!--------------------------------------------------------------------- 
     21      CHARACTER(len=*)   ,                   INTENT(in   ) ::   cdname  ! name of the calling subroutine 
    2022      ARRAY_TYPE(:,:,:,:)          , TARGET, INTENT(inout) ::   pt1     ! arrays on which the lbc is applied 
    2123      ARRAY_TYPE(:,:,:,:), OPTIONAL, TARGET, INTENT(inout) ::   pt2  ,  pt3  , pt4  , pt5  , pt6  , pt7  , pt8  , pt9 
     
    4850      IF( PRESENT(psgn9) )   CALL ROUTINE_LOAD( pt9, cdna9, psgn9, ptab_ptr, cdna_ptr, psgn_ptr, kfld ) 
    4951      ! 
    50       CALL lbc_lnk_ptr( ptab_ptr, cdna_ptr, psgn_ptr, kfld, cd_mpp, pval ) 
     52      CALL lbc_lnk_ptr( cdname, ptab_ptr, cdna_ptr, psgn_ptr, kfld, cd_mpp, pval ) 
    5153      ! 
    5254   END SUBROUTINE ROUTINE_MULTI 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LBC/lib_mpp.F90

    r10068 r10170  
    164164   INTEGER         , PUBLIC ::   nn_buffer          !: size of the buffer in case of mpi_bsend 
    165165 
     166   ! Communications summary report 
     167   CHARACTER(len=128), DIMENSION(:), ALLOCATABLE ::   crname                       !: names of calling routines 
     168   INTEGER, PUBLIC                               ::   ncom_stp = 0                 !: copy of time step # istp 
     169   INTEGER, PUBLIC , DIMENSION(:,:), ALLOCATABLE ::   ncomm_sequence               !: size of communicated arrays (halos) 
     170   INTEGER, PUBLIC                               ::   n_sequence = 0               !: # of communicated arrays 
     171   LOGICAL                                       ::   l_comm_report_done = .false. !: print report only once 
     172 
    166173   REAL(wp), DIMENSION(:), ALLOCATABLE, SAVE ::   tampon   ! buffer in case of bsend 
    167174 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LBC/mpp_lnk_generic.h90

    r10068 r10170  
    4646 
    4747#if defined MULTI 
    48    SUBROUTINE ROUTINE_LNK( ptab, cd_nat, psgn, kfld, cd_mpp, pval ) 
     48   SUBROUTINE ROUTINE_LNK( cdname, 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( cdname, ptab, cd_nat, psgn      , cd_mpp, pval ) 
    5252#endif 
    5353      ARRAY_TYPE(:,:,:,:,:)                                        ! array or pointer of arrays on which the boundary condition is applied 
     54      CHARACTER(len=*)            , INTENT(in   ) ::   cdname      ! name of the calling subroutine 
    5455      CHARACTER(len=1)            , INTENT(in   ) ::   NAT_IN(:)   ! nature of array grid-points 
    5556      REAL(wp)                    , INTENT(in   ) ::   SGN_IN(:)   ! sign used across the north fold boundary 
     
    6162      INTEGER  ::   imigr, iihom, ijhom          ! local integers 
    6263      INTEGER  ::   ml_req1, ml_req2, ml_err     ! for key_mpi_isend 
     64      INTEGER  ::   ierr 
    6365      REAL(wp) ::   zland 
    6466      INTEGER , DIMENSION(MPI_STATUS_SIZE)      ::   ml_stat        ! for key_mpi_isend 
     
    150152      imigr = nn_hls * jpj * ipk * ipl * ipf 
    151153      ! 
     154      IF( narea == 1 ) THEN 
     155         IF ( ncom_stp == nit000 ) THEN 
     156            IF( .NOT. ALLOCATED( ncomm_sequence) ) THEN 
     157               ALLOCATE( ncomm_sequence(1000,2), STAT=ierr ) 
     158               IF( ierr /= 0 ) CALL ctl_stop( 'STOP', 'lnk_generic, cannot allocate ncomm_sequence' ) 
     159               ALLOCATE( crname(1000), STAT=ierr ) 
     160               IF( ierr /= 0 ) CALL ctl_stop( 'STOP', 'lnk_generic, cannot allocate crname' ) 
     161            ENDIF 
     162            n_sequence = n_sequence + 1 
     163            IF( n_sequence > 1000 ) CALL ctl_stop( 'STOP', 'lnk_generic, increase ncomm_sequence first dimension' ) 
     164            ncomm_sequence(n_sequence,1) = ipk*ipl   ! size of 3rd and 4th dimensions 
     165            ncomm_sequence(n_sequence,2) = ipf       ! number of arrays to be treated (multi) 
     166            crname(n_sequence) = cdname              ! keep the name of the calling routine 
     167         ELSE IF ( ncom_stp == (nit000+1) ) THEN 
     168            IF ( .NOT. l_comm_report_done ) THEN 
     169               WRITE(numout,*) ' ' 
     170               WRITE(numout,*) ' -----------------------------------------------' 
     171               WRITE(numout,*) ' Communication pattern report (first time step):' 
     172               WRITE(numout,*) ' -----------------------------------------------' 
     173               WRITE(numout,*) ' ' 
     174               WRITE(numout,'(A,I3)') ' Exchanged halos : ', n_sequence 
     175               jj = 0; jk = 0; jf = 0; jh = 0 
     176               DO ji = 1, n_sequence 
     177                  IF ( ncomm_sequence(ji,1) .GT. 1 ) jk = jk + 1 
     178                  IF ( ncomm_sequence(ji,2) .GT. 1 ) jf = jf + 1 
     179                  IF ( ncomm_sequence(ji,1) .GT. 1 .AND. ncomm_sequence(ji,2) .GT. 1 ) jj = jj + 1 
     180                  jh = MAX (jh, ncomm_sequence(ji,1)*ncomm_sequence(ji,2)) 
     181               END DO 
     182               WRITE(numout,'(A,I3)') ' 3D Exchanged halos : ', jk 
     183               WRITE(numout,'(A,I3)') ' Multi arrays exchanged halos : ', jf 
     184               WRITE(numout,'(A,I3)') '   from which 3D : ', jj 
     185               WRITE(numout,'(A,I10)') ' Array max size : ', jh*jpi*jpj 
     186               WRITE(numout,*) ' ' 
     187               WRITE(numout,*) ' lbc_lnk called' 
     188               jj = 1 
     189               DO ji = 2, n_sequence 
     190                  IF( crname(ji-1) /= crname(ji) ) THEN 
     191                    WRITE(numout,'(A, I4, A, A)') ' - ', jj,' times by subroutine ', TRIM(crname(ji-1)) 
     192                    jj = 0 
     193                  END IF 
     194                  jj = jj + 1  
     195               END DO 
     196               WRITE(numout,'(A, I4, A, A)') ' - ', jj,' times by subroutine ', TRIM(crname(n_sequence)) 
     197               WRITE(numout,*) ' ' 
     198               WRITE(numout,*) ' -----------------------------------------------' 
     199               WRITE(numout,*) ' ' 
     200               DEALLOCATE(ncomm_sequence) 
     201               DEALLOCATE(crname) 
     202               l_comm_report_done = .TRUE. 
     203            ENDIF 
     204         ENDIF 
     205      ENDIF 
     206      ! 
    152207      SELECT CASE ( nbondi ) 
    153208      CASE ( -1 ) 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LDF/ldfc1d_c2d.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LDF/ldfdyn.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LDF/ldfslp.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/LDF/ldftra.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/cpl_oasis3.F90

    r10112 r10170  
    454454         !--- Fill the overlap areas and extra hallows (mpp) 
    455455         !--- check periodicity conditions (all cases) 
    456          IF( .not. llfisrt )   CALL lbc_lnk( pdata(:,:,jc), srcv(kid)%clgrid, srcv(kid)%nsgn )    
     456         IF( .not. llfisrt )   CALL lbc_lnk( 'cpl_oasis3', pdata(:,:,jc), srcv(kid)%clgrid, srcv(kid)%nsgn )    
    457457  
    458458      ENDDO 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/fldread.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/geo2ocean.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbc_oce.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbcblk.F90

    r10069 r10170  
    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 
     
    727727         END DO 
    728728      END DO 
    729       CALL lbc_lnk( wndm_ice, 'T',  1. ) 
     729      CALL lbc_lnk( 'sbcblk', wndm_ice, 'T',  1. ) 
    730730      ! 
    731731      ! Make ice-atm. drag dependent on ice concentration 
     
    761761         END DO 
    762762      END DO 
    763       CALL lbc_lnk_multi( utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
     763      CALL lbc_lnk_multi( 'sbcblk', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
    764764      ! 
    765765      ! 
     
    11861186         END DO 
    11871187      END DO 
    1188       CALL lbc_lnk_multi( Cd, 'T',  1., Ch, 'T', 1. ) 
     1188      CALL lbc_lnk_multi( 'sbcblk', Cd, 'T',  1., Ch, 'T', 1. ) 
    11891189      ! 
    11901190   END SUBROUTINE Cdn10_Lupkes2015 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbccpl.F90

    r10068 r10170  
    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 
     
    15701570         END SELECT 
    15711571         IF( srcv(jpr_itx1)%clgrid /= 'U' ) THEN  
    1572             CALL lbc_lnk_multi( p_taui, 'U',  -1., p_tauj, 'V',  -1. ) 
     1572            CALL lbc_lnk_multi( 'sbccpl', p_taui, 'U',  -1., p_tauj, 'V',  -1. ) 
    15731573         ENDIF 
    15741574          
     
    23292329                  END DO 
    23302330               END DO 
    2331                CALL lbc_lnk_multi( zitx1, 'T', -1., zity1, 'T', -1. ) 
     2331               CALL lbc_lnk_multi( 'sbccpl', zitx1, 'T', -1., zity1, 'T', -1. ) 
    23322332            CASE( 'mixed oce-ice'        )      ! Ocean and Ice on C-grid ==> T 
    23332333               DO jj = 2, jpjm1 
     
    23402340               END DO 
    23412341            END SELECT 
    2342             CALL lbc_lnk_multi( zotx1, ssnd(jps_ocx1)%clgrid, -1.,  zoty1, ssnd(jps_ocy1)%clgrid, -1. ) 
     2342            CALL lbc_lnk_multi( 'sbccpl', zotx1, ssnd(jps_ocx1)%clgrid, -1.,  zoty1, ssnd(jps_ocy1)%clgrid, -1. ) 
    23432343            ! 
    23442344         ENDIF 
     
    24122412                END DO 
    24132413             END DO 
    2414              CALL lbc_lnk_multi( zitx1, 'T', -1.,  zity1, 'T', -1. )  
     2414             CALL lbc_lnk_multi( 'sbccpl', zitx1, 'T', -1.,  zity1, 'T', -1. )  
    24152415          CASE( 'mixed oce-ice'        )      ! Ocean and Ice on C-grid ==> T   
    24162416             DO jj = 2, jpjm1  
     
    24232423             END DO 
    24242424          END SELECT 
    2425          CALL lbc_lnk_multi( zotx1, ssnd(jps_ocxw)%clgrid, -1., zoty1, ssnd(jps_ocyw)%clgrid, -1. )  
     2425         CALL lbc_lnk_multi( 'sbccpl', zotx1, ssnd(jps_ocxw)%clgrid, -1., zoty1, ssnd(jps_ocyw)%clgrid, -1. )  
    24262426         !  
    24272427         !  
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbcflx.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbcfwb.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbcice_cice.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbcisf.F90

    r10068 r10170  
    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 
     
    721721            END DO 
    722722         END DO 
    723          CALL lbc_lnk_multi( pgt, 'T', 1., pgs, 'T', 1.) 
     723         CALL lbc_lnk_multi( 'sbcisf', pgt, 'T', 1., pgs, 'T', 1.) 
    724724      END SELECT 
    725725      ! 
     
    778778            END DO 
    779779         END DO 
    780          CALL lbc_lnk(pvarout,'T',-1.) 
     780         CALL lbc_lnk('sbcisf', pvarout,'T',-1.) 
    781781       
    782782      CASE ( 'V' ) ! compute V in the top boundary layer at T- point  
     
    810810            END DO 
    811811         END DO 
    812          CALL lbc_lnk(pvarout,'T',-1.) 
     812         CALL lbc_lnk('sbcisf', pvarout,'T',-1.) 
    813813 
    814814      CASE ( 'T' ) ! compute T in the top boundary layer at T- point  
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbcmod.F90

    r10068 r10170  
    437437         ! icebergs may advect into haloes during the icb step and alter emp. 
    438438         ! A lbc_lnk is necessary here to ensure restartability (#2113) 
    439          IF( .NOT. ln_passive_mode ) CALL lbc_lnk( emp, 'T', 1. ) ! ensure restartability with icebergs 
     439         IF( .NOT. ln_passive_mode ) CALL lbc_lnk( 'sbcmod', emp, 'T', 1. ) ! ensure restartability with icebergs 
    440440      ENDIF 
    441441 
     
    454454!!$!RBbug do not understand why see ticket 667 
    455455!!$!clem: it looks like it is necessary for the north fold (in certain circumstances). Don't know why. 
    456 !!$      CALL lbc_lnk( emp, 'T', 1. ) 
     456!!$      CALL lbc_lnk( 'sbcmod', emp, 'T', 1. ) 
    457457      ! 
    458458      IF( kt == nit000 ) THEN                          !   set the forcing field at nit000 - 1    ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/SBC/sbcwave.F90

    r10068 r10170  
    215215      ENDIF 
    216216 
    217       CALL lbc_lnk_multi( usd, 'U', -1., vsd, 'V', -1. ) 
     217      CALL lbc_lnk_multi( 'sbcwave', usd, 'U', -1., vsd, 'V', -1. ) 
    218218 
    219219      ! 
     
    240240#endif 
    241241      ! 
    242       CALL lbc_lnk( ze3divh, 'T', 1. ) 
     242      CALL lbc_lnk( 'sbcwave', ze3divh, 'T', 1. ) 
    243243      ! 
    244244      IF( ln_linssh ) THEN   ;   ik = 1   ! none zero velocity through the sea surface 
     
    301301            END DO 
    302302         END DO 
    303          CALL lbc_lnk_multi( utau(:,:), 'U', -1. , vtau(:,:), 'V', -1. , taum(:,:) , 'T', -1. ) 
     303         CALL lbc_lnk_multi( 'sbcwave', utau(:,:), 'U', -1. , vtau(:,:), 'V', -1. , taum(:,:) , 'T', -1. ) 
    304304      ENDIF 
    305305      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/STO/stopar.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/STO/stopts.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/eosbn2.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/traadv_cen.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/traadv_fct.F90

    r10068 r10170  
    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  ==! 
     
    399399         END DO 
    400400      END DO 
    401       CALL lbc_lnk_multi( zbetup, 'T', 1. , zbetdo, 'T', 1. )   ! lateral boundary cond. (unchanged sign) 
     401      CALL lbc_lnk_multi( 'traadv_fct', zbetup, 'T', 1. , zbetdo, 'T', 1. )   ! lateral boundary cond. (unchanged sign) 
    402402 
    403403      ! 3. monotonic flux in the i & j direction (paa & pbb) 
     
    425425         END DO 
    426426      END DO 
    427       CALL lbc_lnk_multi( paa, 'U', -1. , pbb, 'V', -1. )   ! lateral boundary condition (changed sign) 
     427      CALL lbc_lnk_multi( 'traadv_fct', paa, 'U', -1. , pbb, 'V', -1. )   ! lateral boundary condition (changed sign) 
    428428      ! 
    429429   END SUBROUTINE nonosc 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/traadv_mus.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/traadv_qck.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/traadv_ubs.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/trabbc.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/trabbl.F90

    r10068 r10170  
    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( NINT( 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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/traldf_lap_blp.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/tramle.F90

    r10105 r10170  
    321321               END DO 
    322322            END DO 
    323             CALL lbc_lnk_multi( rfu, 'U', 1. , rfv, 'V', 1. ) 
     323            CALL lbc_lnk_multi( 'tramle', rfu, 'U', 1. , rfv, 'V', 1. ) 
    324324            ! 
    325325         ELSEIF( nn_mle == 1 ) THEN           ! MLE array allocation & initialisation 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/tranpc.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/tranxt.F90

    r10095 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/traqsr.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/trazdf.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRA/zpshde.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRD/trddyn.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRD/trdken.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRD/trdmxl.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/TRD/trdvor.F90

    r10068 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/USR/usrdef_fmask.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/USR/usrdef_sbc.F90

    r10069 r10170  
    186186         END DO 
    187187      END DO 
    188       CALL lbc_lnk_multi( taum(:,:), 'T', 1. , wndm(:,:), 'T', 1. ) 
     188      CALL lbc_lnk_multi( 'usrdef_sbc', taum(:,:), 'T', 1. , wndm(:,:), 'T', 1. ) 
    189189 
    190190      ! ---------------------------------- ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/USR/usrdef_zgr.F90

    r10069 r10170  
    202202      z2d(:,:) = REAL( jpkm1 , wp )          ! flat bottom 
    203203      ! 
    204       CALL lbc_lnk( z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     204      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
    205205      ! 
    206206      k_bot(:,:) = NINT( z2d(:,:) )           ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/ZDF/zdfosm.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/ZDF/zdfphy.F90

    r10069 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/module_example

    r10068 r10170  
    127127      END SELECT 
    128128      ! 
    129       CALL lbc_lnk( avm, 'T', 1. )              ! Lateral boundary conditions (unchanged sign) 
     129      CALL lbc_lnk( 'module_example', avm, 'T', 1. )              ! Lateral boundary conditions (unchanged sign) 
    130130      ! 
    131131   END SUBROUTINE exa_mpl 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/OCE/nemogcm.F90

    r10068 r10170  
    184184         ! 
    185185         DO WHILE( istp <= nitend .AND. nstop == 0 ) 
     186#if   defined key_mpp_mpi 
     187            ncom_stp = istp 
     188#endif 
    186189            CALL stp        ( istp )  
    187190            istp = istp + 1 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P2Z/p2zbio.F90

    r10068 r10170  
    341341      ! 
    342342      IF( lk_iomput ) THEN 
    343          CALL lbc_lnk( zw2d(:,:,:),'T', 1. ) 
    344          CALL lbc_lnk_multi( zw3d(:,:,:,1),'T', 1., zw3d(:,:,:,2),'T', 1., zw3d(:,:,:,3),'T', 1. ) 
     343         CALL lbc_lnk( 'p2zbio', zw2d(:,:,:),'T', 1. ) 
     344         CALL lbc_lnk_multi( 'p2zbio', zw3d(:,:,:,1),'T', 1., zw3d(:,:,:,2),'T', 1., zw3d(:,:,:,3),'T', 1. ) 
    345345         ! Save diagnostics 
    346346         CALL iom_put( "TNO3PHY", zw2d(:,:,1) ) 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P2Z/p2zexp.F90

    r10068 r10170  
    113113      END DO 
    114114 
    115       CALL lbc_lnk( sedpocn, 'T', 1. ) 
     115      CALL lbc_lnk( 'p2zexp', sedpocn, 'T', 1. ) 
    116116  
    117117      ! Oa & Ek: diagnostics depending on jpdia2d !          left as example 
     
    229229         END DO 
    230230      END DO 
    231       CALL lbc_lnk( cmask , 'T', 1. )      ! lateral boundary conditions on cmask   (sign unchanged) 
     231      CALL lbc_lnk( 'p2zexp', cmask , 'T', 1. )      ! lateral boundary conditions on cmask   (sign unchanged) 
    232232      areacot = glob_sum( e1e2t(:,:) * cmask(:,:) ) 
    233233      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/PISCES/P4Z/p4zsbc.F90

    r10127 r10170  
    449449         END DO 
    450450         ! 
    451          CALL lbc_lnk( zcmask , 'T', 1. )      ! lateral boundary conditions on cmask   (sign unchanged) 
     451         CALL lbc_lnk( 'p4zsbc', zcmask , 'T', 1. )      ! lateral boundary conditions on cmask   (sign unchanged) 
    452452         ! 
    453453         DO jk = 1, jpk 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/TRP/trcnxt.F90

    r10097 r10170  
    9797#endif 
    9898      ! Update after tracer on domain lateral boundaries 
    99       CALL lbc_lnk( tra(:,:,:,:), 'T', 1. )    
     99      CALL lbc_lnk( 'trcnxt', tra(:,:,:,:), 'T', 1. )    
    100100 
    101101      IF( ln_bdy )  CALL trc_bdy( kt ) 
     
    164164         ENDIF 
    165165         ! 
    166          CALL lbc_lnk_multi( trb(:,:,:,:), 'T', 1._wp, trn(:,:,:,:), 'T', 1._wp, tra(:,:,:,:), 'T', 1._wp ) 
     166         CALL lbc_lnk_multi( 'trcnxt', trb(:,:,:,:), 'T', 1._wp, trn(:,:,:,:), 'T', 1._wp, tra(:,:,:,:), 'T', 1._wp ) 
    167167      ENDIF 
    168168      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/TRP/trcsbc.F90

    r10068 r10170  
    145145         ENDIF 
    146146         ! 
    147          CALL lbc_lnk( sbc_trc(:,:,jn), 'T', 1. ) 
     147         CALL lbc_lnk( 'trcsbc', sbc_trc(:,:,jn), 'T', 1. ) 
    148148         !                                       Concentration dilution effect on tracers due to evaporation & precipitation  
    149149         DO jj = 2, jpj 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/TRP/trdmxl_trc.F90

    r10068 r10170  
    290290            IF( ln_trdtrc(jn) ) THEN 
    291291               DO jl = 1, jpltrd_trc 
    292                   CALL lbc_lnk( tmltrd_trc(:,:,jl,jn), 'T', 1. )        ! lateral boundary conditions 
     292                  CALL lbc_lnk( 'trdmxl_trc', tmltrd_trc(:,:,jl,jn), 'T', 1. )        ! lateral boundary conditions 
    293293               END DO 
    294294            ENDIF 
     
    425425         !-- Lateral boundary conditions 
    426426               IF ( cn_cfg .NE. 'gyre' ) THEN 
    427                   CALL lbc_lnk_multi( ztmltot(:,:,jn) , 'T', 1. , ztmlres(:,:,jn) , 'T', 1., & 
     427                  CALL lbc_lnk_multi( 'trdmxl_trc', ztmltot(:,:,jn) , 'T', 1. , ztmlres(:,:,jn) , 'T', 1., & 
    428428                     &                ztmlatf(:,:,jn) , 'T', 1. , ztmlrad(:,:,jn) , 'T', 1. ) 
    429429               ENDIF 
     
    476476         !-- Lateral boundary conditions  
    477477               IF ( cn_cfg .NE. 'gyre' ) THEN            ! other than GYRE configuration     
    478                   CALL lbc_lnk_multi( ztmltot2(:,:,jn), 'T', 1., ztmlres2(:,:,jn), 'T', 1. ) 
     478                  CALL lbc_lnk_multi( 'trdmxl_trc', ztmltot2(:,:,jn), 'T', 1., ztmlres2(:,:,jn), 'T', 1. ) 
    479479                  DO jl = 1, jpltrd_trc 
    480                      CALL lbc_lnk( ztmltrd2(:,:,jl,jn), 'T', 1. )       ! will be output in the NetCDF trends file 
     480                     CALL lbc_lnk( 'trdmxl_trc', ztmltrd2(:,:,jl,jn), 'T', 1. )       ! will be output in the NetCDF trends file 
    481481                  END DO 
    482482               ENDIF 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/src/TOP/trcsub.F90

    r10068 r10170  
    510510         IF( ln_bdy ) THEN 
    511511            ssha(:,:) = ssha(:,:) * bdytmask(:,:) 
    512             CALL lbc_lnk( ssha, 'T', 1. )  
     512            CALL lbc_lnk( 'trcsub', ssha, 'T', 1. )  
    513513         ENDIF 
    514514      ENDIF 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/BENCH/MY_SRC/diawri.F90

    r10166 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/tests/BENCH/MY_SRC/usrdef_istate.F90

    r10166 r10170  
    8080      ENDDO 
    8181      ! 
    82       CALL lbc_lnk(pssh, 'T',  1. )            ! apply boundary conditions 
    83       CALL lbc_lnk( pts, 'T',  1. )            ! apply boundary conditions 
    84       CALL lbc_lnk(  pu, 'U', -1. )            ! apply boundary conditions 
    85       CALL lbc_lnk(  pv, 'V', -1. )            ! apply boundary conditions 
     82      CALL lbc_lnk('usrdef_istate', pssh, 'T',  1. )            ! apply boundary conditions 
     83      CALL lbc_lnk( 'usrdef_istate', pts, 'T',  1. )            ! apply boundary conditions 
     84      CALL lbc_lnk(  'usrdef_istate', pu, 'U', -1. )            ! apply boundary conditions 
     85      CALL lbc_lnk(  'usrdef_istate', pv, 'V', -1. )            ! apply boundary conditions 
    8686       
    8787   END SUBROUTINE usr_def_istate 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/BENCH/MY_SRC/usrdef_zgr.F90

    r10166 r10170  
    194194      z2d(:,:) = REAL( jpkm1 , wp )          ! flat bottom 
    195195      ! 
    196       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) 
    197197      ! 
    198198      k_bot(:,:) = INT( z2d(:,:) )           ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/CANAL/MY_SRC/diawri.F90

    r10074 r10170  
    185185            END DO 
    186186         END DO 
    187          CALL lbc_lnk( z2d, 'T', 1. ) 
     187         CALL lbc_lnk( 'diawri', z2d, 'T', 1. ) 
    188188         CALL iom_put( "taubot", z2d )            
    189189      ENDIF 
     
    244244            END DO 
    245245         END DO 
    246          CALL lbc_lnk( z3d, 'T', 1. ) 
     246         CALL lbc_lnk( 'diawri', z3d, 'T', 1. ) 
    247247         CALL iom_put( "salgrad2",  z3d )          ! square of module of sal gradient 
    248248         z3d(:,:,:) = SQRT( z3d(:,:,:) ) 
     
    260260            END DO 
    261261         END DO 
    262          CALL lbc_lnk( z2d, 'T', 1. ) 
     262         CALL lbc_lnk( 'diawri', z2d, 'T', 1. ) 
    263263         CALL iom_put( "sstgrad2",  z2d )          ! square of module of sst gradient 
    264264         z2d(:,:) = SQRT( z2d(:,:) ) 
     
    314314            END DO 
    315315         END DO 
    316          CALL lbc_lnk( z3d, 'T', 1. ) 
     316         CALL lbc_lnk( 'diawri', z3d, 'T', 1. ) 
    317317         CALL iom_put( "eken", z3d )                 ! kinetic energy 
    318318      ENDIF 
     
    335335         END DO 
    336336          
    337          CALL lbc_lnk( z3d, 'T', 1. ) 
     337         CALL lbc_lnk( 'diawri', z3d, 'T', 1. ) 
    338338         CALL iom_put( "ke", z3d ) ! kinetic energy 
    339339 
     
    363363            END DO 
    364364         END DO 
    365          CALL lbc_lnk( z3d, 'F', 1. ) 
     365         CALL lbc_lnk( 'diawri', z3d, 'F', 1. ) 
    366366         CALL iom_put( "relvor", z3d )                  ! relative vorticity 
    367367 
     
    387387            END DO 
    388388         END DO 
    389          CALL lbc_lnk( z3d, 'F', 1. ) 
     389         CALL lbc_lnk( 'diawri', z3d, 'F', 1. ) 
    390390         CALL iom_put( "potvor", z3d )                  ! potential vorticity 
    391391 
     
    413413            END DO 
    414414         END DO 
    415          CALL lbc_lnk( z2d, 'U', -1. ) 
     415         CALL lbc_lnk( 'diawri', z2d, 'U', -1. ) 
    416416         CALL iom_put( "u_heattr", 0.5*rcp * z2d )    ! heat transport in i-direction 
    417417      ENDIF 
     
    426426            END DO 
    427427         END DO 
    428          CALL lbc_lnk( z2d, 'U', -1. ) 
     428         CALL lbc_lnk( 'diawri', z2d, 'U', -1. ) 
    429429         CALL iom_put( "u_salttr", 0.5 * z2d )        ! heat transport in i-direction 
    430430      ENDIF 
     
    448448            END DO 
    449449         END DO 
    450          CALL lbc_lnk( z2d, 'V', -1. ) 
     450         CALL lbc_lnk( 'diawri', z2d, 'V', -1. ) 
    451451         CALL iom_put( "v_heattr", 0.5*rcp * z2d )    !  heat transport in j-direction 
    452452      ENDIF 
     
    461461            END DO 
    462462         END DO 
    463          CALL lbc_lnk( z2d, 'V', -1. ) 
     463         CALL lbc_lnk( 'diawri', z2d, 'V', -1. ) 
    464464         CALL iom_put( "v_salttr", 0.5 * z2d )        !  heat transport in j-direction 
    465465      ENDIF 
     
    474474            END DO 
    475475         END DO 
    476          CALL lbc_lnk( z2d, 'T', -1. ) 
     476         CALL lbc_lnk( 'diawri', z2d, 'T', -1. ) 
    477477         CALL iom_put( "tosmint", rau0 * z2d )        ! Vertical integral of temperature 
    478478      ENDIF 
     
    486486            END DO 
    487487         END DO 
    488          CALL lbc_lnk( z2d, 'T', -1. ) 
     488         CALL lbc_lnk( 'diawri', z2d, 'T', -1. ) 
    489489         CALL iom_put( "somint", rau0 * z2d )         ! Vertical integral of salinity 
    490490      ENDIF 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/CANAL/MY_SRC/domvvl.F90

    r10074 r10170  
    385385         !                       ! d - thickness diffusion transport: boundary conditions 
    386386         !                             (stored for tracer advction and continuity equation) 
    387          CALL lbc_lnk_multi( un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
     387         CALL lbc_lnk_multi( 'domvvl', un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
    388388 
    389389         ! 4 - Time stepping of baroclinic scale factors 
     
    396396            z2dt = 2.0_wp * rdt 
    397397         ENDIF 
    398          CALL lbc_lnk( tilde_e3t_a(:,:,:), 'T', 1._wp ) 
     398         CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 
    399399         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 
    400400 
     
    688688            END DO 
    689689         END DO 
    690          CALL lbc_lnk( pe3_out(:,:,:), 'U', 1._wp ) 
     690         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'U', 1._wp ) 
    691691         pe3_out(:,:,:) = pe3_out(:,:,:) + e3u_0(:,:,:) 
    692692         ! 
     
    701701            END DO 
    702702         END DO 
    703          CALL lbc_lnk( pe3_out(:,:,:), 'V', 1._wp ) 
     703         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'V', 1._wp ) 
    704704         pe3_out(:,:,:) = pe3_out(:,:,:) + e3v_0(:,:,:) 
    705705         ! 
     
    715715            END DO 
    716716         END DO 
    717          CALL lbc_lnk( pe3_out(:,:,:), 'F', 1._wp ) 
     717         CALL lbc_lnk( 'domvvl', pe3_out(:,:,:), 'F', 1._wp ) 
    718718         pe3_out(:,:,:) = pe3_out(:,:,:) + e3f_0(:,:,:) 
    719719         ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/CANAL/MY_SRC/trazdf.F90

    r10074 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/tests/CANAL/MY_SRC/usrdef_istate.F90

    r10074 r10170  
    169169               END DO 
    170170            END DO 
    171             CALL lbc_lnk( pssh, 'T',  1. ) 
     171            CALL lbc_lnk( 'usrdef_istate', pssh, 'T',  1. ) 
    172172         END DO 
    173173          
     
    293293         pssh(:,:) = pssh(:,:) + ( 0.1  * zrandom(:,:) - 0.05 ) 
    294294      END IF 
    295       CALL lbc_lnk( pssh, 'T',  1. ) 
    296       CALL lbc_lnk(  pts, 'T',  1. ) 
    297       CALL lbc_lnk(   pu, 'U', -1. ) 
    298       CALL lbc_lnk(   pv, 'V', -1. ) 
     295      CALL lbc_lnk( 'usrdef_istate', pssh, 'T',  1. ) 
     296      CALL lbc_lnk(  'usrdef_istate', pts, 'T',  1. ) 
     297      CALL lbc_lnk(   'usrdef_istate', pu, 'U', -1. ) 
     298      CALL lbc_lnk(   'usrdef_istate', pv, 'V', -1. ) 
    299299 
    300300   END SUBROUTINE usr_def_istate 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/CANAL/MY_SRC/usrdef_zgr.F90

    r10074 r10170  
    204204      END SELECT 
    205205      ! 
    206       CALL lbc_lnk( z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     206      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
    207207      ! 
    208208      k_bot(:,:) = INT( z2d(:,:) )           ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/ISOMIP/MY_SRC/usrdef_zgr.F90

    r10074 r10170  
    8989      ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0  
    9090      z2d(:,:) = 1._wp                    ! surface ocean is the 1st level 
    91       CALL lbc_lnk( z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     91      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
    9292      zmsk(:,:) = NINT( z2d(:,:) ) 
    9393      ! 
     
    177177            END DO 
    178178         END DO 
    179          CALL lbc_lnk( pe3v , 'V', 1._wp )   ;   CALL lbc_lnk( pe3vw, 'V', 1._wp ) 
    180          CALL lbc_lnk( pe3f , 'F', 1._wp ) 
     179         CALL lbc_lnk( 'usrdef_zgr', pe3v , 'V', 1._wp )   ;   CALL lbc_lnk( 'usrdef_zgr', pe3vw, 'V', 1._wp ) 
     180         CALL lbc_lnk( 'usrdef_zgr', pe3f , 'F', 1._wp ) 
    181181         DO jk = 1, jpk 
    182182            ! set to z-scale factor if zero (i.e. along closed boundaries) because of lbclnk 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/LOCK_EXCHANGE/MY_SRC/usrdef_zgr.F90

    r10074 r10170  
    8888      ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0  
    8989      z2d(:,:) = 1._wp                    ! surface ocean is the 1st level 
    90       CALL lbc_lnk( z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     90      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
    9191      k_top(:,:) = NINT( z2d(:,:) ) 
    9292      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/OVERFLOW/MY_SRC/usrdef_zgr.F90

    r10074 r10170  
    9393         zhu(ji,:) = 0.5_wp * ( zht(ji,:) + zht(ji+1,:) ) 
    9494      END DO 
    95       CALL lbc_lnk( zhu, 'U', 1. )     ! boundary condition: this mask the surrouding grid-points 
     95      CALL lbc_lnk( 'usrdef_zgr', zhu, 'U', 1. )     ! boundary condition: this mask the surrouding grid-points 
    9696      !                                ! ==>>>  set by hand non-zero value on first/last columns & rows  
    9797      DO ji = mi0(1), mi1(1)              ! first row of global domain only 
     
    112112      ! the ocean basin surrounded by land (1 grid-point) set through lbc_lnk call as jperio=0  
    113113      z2d(:,:) = 1._wp                    ! surface ocean is the 1st level 
    114       CALL lbc_lnk( z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     114      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
    115115      k_top(:,:) = NINT( z2d(:,:) ) 
    116116      ! 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/VORTEX/MY_SRC/domvvl.F90

    r10074 r10170  
    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_r10164_HPC09_ESIWACE_PREP_MERGE/tests/VORTEX/MY_SRC/usrdef_istate.F90

    r10074 r10170  
    136136      END DO 
    137137 
    138       CALL lbc_lnk( pu, 'U', -1. ) 
    139       CALL lbc_lnk( pv, 'V', -1. ) 
     138      CALL lbc_lnk( 'usrdef_istate', pu, 'U', -1. ) 
     139      CALL lbc_lnk( 'usrdef_istate', pv, 'V', -1. ) 
    140140      !    
    141141   END SUBROUTINE usr_def_istate 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/VORTEX/MY_SRC/usrdef_zgr.F90

    r10074 r10170  
    192192      z2d(:,:) = REAL( jpkm1 , wp )          ! flat bottom 
    193193      ! 
    194       CALL lbc_lnk( z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
     194      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )           ! set surrounding land to zero (here jperio=0 ==>> closed) 
    195195      ! 
    196196      k_bot(:,:) = INT( z2d(:,:) )           ! =jpkm1 over the ocean point, =0 elsewhere 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/WAD/MY_SRC/bdyini.F90

    r10074 r10170  
    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: 
     
    11691169 
    11701170      ! Lateral boundary conditions 
    1171       CALL lbc_lnk( zfmask, 'F', 1. )  
    1172       CALL lbc_lnk_multi( bdyumask, 'U', 1. , bdyvmask, 'V', 1., bdytmask, 'T', 1. ) 
     1171      CALL lbc_lnk( 'bdyini', zfmask, 'F', 1. )  
     1172      CALL lbc_lnk_multi( 'bdyini', bdyumask, 'U', 1. , bdyvmask, 'V', 1., bdytmask, 'T', 1. ) 
    11731173      DO ib_bdy = 1, nb_bdy       ! Indices and directions of rim velocity components 
    11741174 
  • NEMO/branches/2018/dev_r10164_HPC09_ESIWACE_PREP_MERGE/tests/WAD/MY_SRC/usrdef_zgr.F90

    r10074 r10170  
    234234         zhu(ji,:) = 0.5_wp * ( zht(ji,:) + zht(ji+1,:) ) 
    235235      END DO 
    236       CALL lbc_lnk( zhu, 'U', 1. )     ! boundary condition: this mask the surrounding grid-points 
     236      CALL lbc_lnk( 'usrdef_zgr', zhu, 'U', 1. )     ! boundary condition: this mask the surrounding grid-points 
    237237      !                                ! ==>>>  set by hand non-zero value on first/last columns & rows  
    238238      DO ji = mi0(1), mi1(1)              ! first row of global domain only 
     
    247247         zhv(:,jj) = 0.5_wp * ( zht(:,jj) + zht(:,jj+1) ) 
    248248      END DO 
    249       CALL lbc_lnk( zhv, 'V', 1. )     ! boundary condition: this mask the surrounding grid-points 
     249      CALL lbc_lnk( 'usrdef_zgr', zhv, 'V', 1. )     ! boundary condition: this mask the surrounding grid-points 
    250250      DO jj = mj0(1), mj1(1)   ! first  row of global domain only 
    251251         zhv(:,jj) = zht(:,jj) 
     
    272272 
    273273 
    274       CALL lbc_lnk( z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
     274      CALL lbc_lnk( 'usrdef_zgr', z2d, 'T', 1. )        ! closed basin since jperio = 0 (see userdef_nam.F90) 
    275275      k_top(:,:) = NINT( z2d(:,:) ) 
    276276      ! 
     
    311311           END DO       
    312312         END DO       
    313          CALL lbc_lnk( pdept, 'T', 1. ) 
    314          CALL lbc_lnk( pdepw, 'T', 1. ) 
    315          CALL lbc_lnk( pe3t , 'T', 1. ) 
    316          CALL lbc_lnk( pe3w , 'T', 1. ) 
    317          CALL lbc_lnk( pe3u , 'U', 1. ) 
    318          CALL lbc_lnk( pe3uw, 'U', 1. ) 
    319          CALL lbc_lnk( pe3f , 'F', 1. ) 
    320          CALL lbc_lnk( pe3v , 'V', 1. ) 
    321          CALL lbc_lnk( pe3vw, 'V', 1. ) 
     313         CALL lbc_lnk( 'usrdef_zgr', pdept, 'T', 1. ) 
     314         CALL lbc_lnk( 'usrdef_zgr', pdepw, 'T', 1. ) 
     315         CALL lbc_lnk( 'usrdef_zgr', pe3t , 'T', 1. ) 
     316         CALL lbc_lnk( 'usrdef_zgr', pe3w , 'T', 1. ) 
     317         CALL lbc_lnk( 'usrdef_zgr', pe3u , 'U', 1. ) 
     318         CALL lbc_lnk( 'usrdef_zgr', pe3uw, 'U', 1. ) 
     319         CALL lbc_lnk( 'usrdef_zgr', pe3f , 'F', 1. ) 
     320         CALL lbc_lnk( 'usrdef_zgr', pe3v , 'V', 1. ) 
     321         CALL lbc_lnk( 'usrdef_zgr', pe3vw, 'V', 1. ) 
    322322         WHERE( pe3t (:,:,:) == 0._wp )   pe3t (:,:,:) = 1._wp 
    323323         WHERE( pe3u (:,:,:) == 0._wp )   pe3u (:,:,:) = 1._wp 
Note: See TracChangeset for help on using the changeset viewer.