New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 9090 – NEMO

Changeset 9090


Ignore:
Timestamp:
2017-12-15T18:12:43+01:00 (7 years ago)
Author:
flavoni
Message:

change lbc_lnk in lbc_lnk_multi

Location:
branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90

    r7646 r9090  
    337337      END DO 
    338338      ! 
    339       CALL lbc_lnk( ua, 'U', -1. )   ;   CALL lbc_lnk( va, 'V', -1. )   ! Boundary points should be updated 
     339      CALL lbc_lnk_multi( ua, 'U', -1., va, 'V', -1. )   ! Boundary points should be updated 
    340340      ! 
    341341      IF( nn_timing == 1 )   CALL timing_stop('bdy_dyn3d_dmp') 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90

    r9019 r9090  
    11471147            END DO 
    11481148         END DO 
    1149          CALL lbc_lnk( bdyumask(:,:), 'U', 1. )   ;   CALL lbc_lnk( bdyvmask(:,:), 'V', 1. )      ! Lateral boundary cond. 
    1150  
     1149         CALL lbc_lnk_multi( bdyumask, 'U', 1., bdyvmask, 'V', 1. )      ! Lateral boundary cond. 
    11511150      ENDIF ! ln_mask_file=.TRUE. 
    11521151       
     
    11611160            END DO 
    11621161         END DO 
    1163          CALL lbc_lnk( bdyumask(:,:), 'U', 1. )   ;   CALL lbc_lnk( bdyvmask(:,:), 'V', 1. )      ! Lateral boundary cond. 
     1162         CALL lbc_lnk_multi( bdyumask, 'U', 1. , bdyvmask, 'V', 1. )   ! Lateral boundary cond.  
    11641163      ENDIF 
    11651164 
     
    11971196 
    11981197      ! Lateral boundary conditions 
    1199       CALL lbc_lnk( zfmask       , 'F', 1. ) 
    1200       CALL lbc_lnk( fmask        , 'F', 1. )   ;   CALL lbc_lnk( bdytmask(:,:), 'T', 1. ) 
    1201       CALL lbc_lnk( bdyumask(:,:), 'U', 1. )   ;   CALL lbc_lnk( bdyvmask(:,:), 'V', 1. ) 
    1202  
     1198      CALL lbc_lnk_multi( zfmask, 'F', 1. , fmask, 'F', 1., bdyumask, 'U', 1. , bdyvmask, 'V', 1., bdytmask, 'T', 1. ) 
    12031199      DO ib_bdy = 1, nb_bdy       ! Indices and directions of rim velocity components 
    12041200 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r9023 r9090  
    184184         END DO 
    185185      END DO 
    186       CALL lbc_lnk( umask  , 'U', 1._wp )      ! Lateral boundary conditions 
    187       CALL lbc_lnk( vmask  , 'V', 1._wp ) 
    188       CALL lbc_lnk( fmask  , 'F', 1._wp ) 
    189  
     186      CALL lbc_lnk_multi( umask, 'U', 1., vmask, 'V', 1., fmask, 'F', 1. )      ! Lateral boundary conditions 
    190187  
    191188      ! Ocean/land mask at wu-, wv- and w points    (computed from tmask) 
     
    276273            END DO 
    277274#if defined key_agrif  
    278        IF( .NOT. AGRIF_Root() ) THEN  
    279           IF ((nbondi ==  1).OR.(nbondi == 2)) fmask(nlci-1 , :     ,jk) = 0.e0      ! east  
    280           IF ((nbondi == -1).OR.(nbondi == 2)) fmask(1      , :     ,jk) = 0.e0      ! west  
    281           IF ((nbondj ==  1).OR.(nbondj == 2)) fmask(:      ,nlcj-1 ,jk) = 0.e0      ! north  
    282           IF ((nbondj == -1).OR.(nbondj == 2)) fmask(:      ,1      ,jk) = 0.e0      ! south  
    283        ENDIF  
     275            IF( .NOT. AGRIF_Root() ) THEN  
     276               IF ((nbondi ==  1).OR.(nbondi == 2)) fmask(nlci-1 , :     ,jk) = 0.e0      ! east  
     277               IF ((nbondi == -1).OR.(nbondi == 2)) fmask(1      , :     ,jk) = 0.e0      ! west  
     278               IF ((nbondj ==  1).OR.(nbondj == 2)) fmask(:      ,nlcj-1 ,jk) = 0.e0      ! north  
     279               IF ((nbondj == -1).OR.(nbondj == 2)) fmask(:      ,1      ,jk) = 0.e0      ! south  
     280            ENDIF  
    284281#endif  
    285282         END DO 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r9065 r9090  
    389389         !                       ! d - thickness diffusion transport: boundary conditions 
    390390         !                             (stored for tracer advction and continuity equation) 
    391          CALL lbc_lnk( un_td , 'U' , -1._wp) 
    392          CALL lbc_lnk( vn_td , 'V' , -1._wp) 
     391         CALL lbc_lnk_multi( un_td , 'U' , -1._wp, vn_td , 'V' , -1._wp) 
    393392 
    394393         ! 4 - Time stepping of baroclinic scale factors 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DOM/iscplrst.F90

    r9019 r9090  
    175175            END DO 
    176176         END DO 
    177          CALL lbc_lnk( sshn   , 'T', 1._wp ) 
    178          CALL lbc_lnk( zsmask1, 'T', 1._wp ) 
     177         CALL lbc_lnk_multi( sshn, 'T', 1., zsmask1, 'T', 1. ) 
    179178         zssh0   = sshn 
    180179         zsmask0 = zsmask1 
     
    345344          END DO 
    346345           
    347           CALL lbc_lnk(tsn(:,:,:,1),'T',1._wp) 
    348           CALL lbc_lnk(tsn(:,:,:,2),'T',1._wp) 
    349           CALL lbc_lnk(ztmask1,     'T',1._wp) 
     346          CALL lbc_lnk_multi( tsn(:,:,:,jp_tem), 'T', 1., tsn(:,:,:,jp_sal), 'T', 1., ztmask1, 'T', 1.) 
    350347 
    351348          ! update 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_ubs.F90

    r9019 r9090  
    126126         END DO 
    127127      END DO 
    128       CALL lbc_lnk( zlu_uu(:,:,:,1), 'U', 1. )   ;   CALL lbc_lnk( zlu_uv(:,:,:,1), 'U', 1. ) 
    129       CALL lbc_lnk( zlu_uu(:,:,:,2), 'U', 1. )   ;   CALL lbc_lnk( zlu_uv(:,:,:,2), 'U', 1. ) 
    130       CALL lbc_lnk( zlv_vv(:,:,:,1), 'V', 1. )   ;   CALL lbc_lnk( zlv_vu(:,:,:,1), 'V', 1. ) 
    131       CALL lbc_lnk( zlv_vv(:,:,:,2), 'V', 1. )   ;   CALL lbc_lnk( zlv_vu(:,:,:,2), 'V', 1. )  
     128      CALL lbc_lnk_multi( zlu_uu(:,:,:,1), 'U', 1. , zlu_uv(:,:,:,1), 'U', 1.,  & 
     129                      &   zlu_uu(:,:,:,2), 'U', 1. , zlu_uv(:,:,:,2), 'U', 1.,  &  
     130                      &   zlv_vv(:,:,:,1), 'V', 1. , zlv_vu(:,:,:,1), 'V', 1.,  & 
     131                      &   zlv_vv(:,:,:,2), 'V', 1. , zlv_vu(:,:,:,2), 'V', 1.   ) 
    132132      ! 
    133133      !                                      ! ====================== ! 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r9039 r9090  
    475475           END DO 
    476476        END DO 
    477         CALL lbc_lnk( zcpx, 'U', 1._wp )    ;   CALL lbc_lnk( zcpy, 'V', 1._wp ) 
     477        CALL lbc_lnk_multi( zcpx, 'U', 1., zcpy, 'V', 1. ) 
    478478      END IF 
    479479 
     
    708708           END DO 
    709709        END DO 
    710         CALL lbc_lnk( zcpx, 'U', 1._wp )    ;   CALL lbc_lnk( zcpy, 'V', 1._wp ) 
     710        CALL lbc_lnk_multi( zcpx, 'U', 1., zcpy, 'V', 1. ) 
    711711      END IF 
    712712 
     
    868868         END DO 
    869869      END DO 
    870       CALL lbc_lnk( rho_k, 'W', 1. ) 
    871       CALL lbc_lnk( rho_i, 'U', 1. ) 
    872       CALL lbc_lnk( rho_j, 'V', 1. ) 
    873  
     870      CALL lbc_lnk_multi( rho_k, 'W', 1., rho_i, 'U', 1., rho_j, 'V', 1. ) 
    874871 
    875872      ! --------------- 
     
    10041001            END DO 
    10051002         END DO 
    1006          CALL lbc_lnk( zcpx, 'U', 1._wp )    ;   CALL lbc_lnk( zcpy, 'V', 1._wp ) 
     1003         CALL lbc_lnk_multi( zcpx, 'U', 1., zcpy, 'V', 1. ) 
    10071004      ENDIF 
    10081005 
     
    10901087      END DO 
    10911088 
    1092       CALL lbc_lnk (zsshu_n, 'U', 1.) 
    1093       CALL lbc_lnk (zsshv_n, 'V', 1.) 
     1089      CALL lbc_lnk_multi (zsshu_n, 'U', 1., zsshv_n, 'V', 1. ) 
    10941090 
    10951091      DO jj = 2, jpjm1 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_iso.F90

    r9019 r9090  
    139139         END DO 
    140140         ! Lateral boundary conditions on the slopes 
    141          CALL lbc_lnk( uslp , 'U', -1. )      ;      CALL lbc_lnk( vslp , 'V', -1. ) 
    142          CALL lbc_lnk( wslpi, 'W', -1. )      ;      CALL lbc_lnk( wslpj, 'W', -1. ) 
     141         CALL lbc_lnk_multi( uslp , 'U', -1., vslp , 'V', -1., wslpi, 'W', -1., wslpj, 'W', -1. ) 
    143142         ! 
    144143       ENDIF 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap_blp.F90

    r9019 r9090  
    143143      CALL dyn_ldf_lap( kt, pub, pvb, zulap, zvlap, 1 )   ! rotated laplacian applied to ptb (output in zlap) 
    144144      ! 
    145       CALL lbc_lnk( zulap(:,:,:) , 'U', -1. )             ! Lateral boundary conditions 
    146       CALL lbc_lnk( zvlap(:,:,:) , 'V', -1. ) 
     145      CALL lbc_lnk_multi( zulap, 'U', -1., zvlap, 'V', -1. )             ! Lateral boundary conditions 
    147146      ! 
    148147      CALL dyn_ldf_lap( kt, zulap, zvlap, pua, pva, 2 )   ! rotated laplacian applied to zlap (output in pta) 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90

    r9023 r9090  
    143143# endif 
    144144      ! 
    145       CALL lbc_lnk( ua, 'U', -1. )     !* local domain boundaries 
    146       CALL lbc_lnk( va, 'V', -1. )  
     145      CALL lbc_lnk_multi( ua, 'U', -1., va, 'V', -1. )     !* local domain boundaries 
    147146      ! 
    148147      !                                !* BDY open boundaries 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/DYN/wet_dry.F90

    r9042 r9090  
    404404 
    405405         CALL lbc_lnk( zwdlmtu, 'U', 1. ) 
     406         CALL lbc_lnk( zwdlmtu, 'U', 1. ) 
    406407         CALL lbc_lnk( zwdlmtv, 'V', 1. ) 
    407408 
  • branches/2017/dev_merge_2017/NEMOGCM/NEMO/OPA_SRC/LBC/lbc_lnk_multi_generic.h90

    r9019 r9090  
    1 #if defined DIM_2d 
    2 #   define ARRAY_TYPE(i,j,k,l)   REAL(wp), DIMENSION(i,j) 
    3 #   define PTR_TYPE              TYPE(PTR_2D) 
    4 #   define PTR_ptab              pt2d 
    51#endif 
    62#if defined DIM_3d 
Note: See TracChangeset for help on using the changeset viewer.