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 13056 for utils/tools_dev_r12970_AGRIF_CMEMS/DOMAINcfg/src/lbclnk.F90 – NEMO

Ignore:
Timestamp:
2020-06-07T18:26:09+02:00 (4 years ago)
Author:
rblod
Message:

ticket #2129 : cleaning domcfg

File:
1 edited

Legend:

Unmodified
Added
Removed
  • utils/tools_dev_r12970_AGRIF_CMEMS/DOMAINcfg/src/lbclnk.F90

    r12414 r13056  
    77   !!   NEMO     1.0  ! 2002-09  (G. Madec)  F90: Free form and module 
    88   !!            3.2  ! 2009-03  (R. Benshila)  External north fold treatment   
    9    !!            3.5  ! 2012     (S.Mocavero, I. Epicoco)  optimization of BDY comm. via lbc_bdy_lnk and lbc_obc_lnk 
     9   !!            3.5  ! 2012     (S.Mocavero, I. Epicoco)  optimization of BDY comm. 
    1010   !!            3.4  ! 2012-12  (R. Bourdalle-Badie, G. Reffray)  add a C1D case   
    1111   !!            3.6  ! 2015-06  (O. Tintó and M. Castrillo)  add lbc_lnk_multi   
     
    2121   !!---------------------------------------------------------------------- 
    2222   !!   lbc_lnk       : generic interface for mpp_lnk_3d and mpp_lnk_2d routines defined in lib_mpp 
    23    !!   lbc_bdy_lnk   : generic interface for mpp_lnk_bdy_2d and mpp_lnk_bdy_3d routines defined in lib_mpp 
    2423   !!---------------------------------------------------------------------- 
    2524   USE par_oce        ! ocean dynamics and tracers    
     
    3736   END INTERFACE 
    3837   ! 
    39    INTERFACE lbc_bdy_lnk 
    40       MODULE PROCEDURE mpp_lnk_bdy_2d, mpp_lnk_bdy_3d, mpp_lnk_bdy_4d 
    41    END INTERFACE 
    42    ! 
    4338   INTERFACE lbc_lnk_icb 
    4439      MODULE PROCEDURE mpp_lnk_2d_icb 
     
    4742   PUBLIC   lbc_lnk       ! ocean/ice lateral boundary conditions 
    4843   PUBLIC   lbc_lnk_multi ! modified ocean/ice lateral boundary conditions 
    49    PUBLIC   lbc_bdy_lnk   ! ocean lateral BDY boundary conditions 
    5044   PUBLIC   lbc_lnk_icb   ! iceberg lateral boundary conditions 
    5145 
     
    6963   !!   lbc_lnk_3d    : set the lateral boundary condition on a 3D variable on ocean mesh 
    7064   !!   lbc_lnk_2d    : set the lateral boundary condition on a 2D variable on ocean mesh 
    71    !!   lbc_bdy_lnk   : set the lateral BDY boundary condition 
    7265   !!---------------------------------------------------------------------- 
    7366   USE dom_oce        ! ocean space and time domain  
     
    8881   END INTERFACE 
    8982   ! 
    90    INTERFACE lbc_bdy_lnk 
    91       MODULE PROCEDURE lbc_bdy_lnk_2d, lbc_bdy_lnk_3d, lbc_bdy_lnk_4d 
    92    END INTERFACE 
    93    ! 
    9483   INTERFACE lbc_lnk_icb 
    9584      MODULE PROCEDURE lbc_lnk_2d_icb 
     
    9887   PUBLIC   lbc_lnk       ! ocean/ice  lateral boundary conditions 
    9988   PUBLIC   lbc_lnk_multi ! modified ocean/ice lateral boundary conditions 
    100    PUBLIC   lbc_bdy_lnk   ! ocean lateral BDY boundary conditions 
    10189   PUBLIC   lbc_lnk_icb   ! iceberg lateral boundary conditions 
    10290    
     
    172160 
    173161   !!---------------------------------------------------------------------- 
    174    !!                   ***  routine lbc_bdy_lnk_(2,3,4)d  *** 
    175    !! 
    176    !!   wrapper rountine to 'lbc_lnk_3d'. This wrapper is used 
    177    !!   to maintain the same interface with regards to the mpp case 
    178    !!---------------------------------------------------------------------- 
    179     
    180    SUBROUTINE lbc_bdy_lnk_4d( cdname, pt4d, cd_type, psgn, ib_bdy ) 
    181       !!---------------------------------------------------------------------- 
    182       CHARACTER(len=*)          , INTENT(in   ) ::   cdname      ! name of the calling subroutine 
    183       REAL(wp), DIMENSION(:,:,:,:), INTENT(inout) ::   pt4d      ! 3D array on which the lbc is applied 
    184       CHARACTER(len=1)          , INTENT(in   ) ::   cd_type   ! nature of pt3d grid-points 
    185       REAL(wp)                  , INTENT(in   ) ::   psgn      ! sign used across north fold  
    186       INTEGER                   , INTENT(in   ) ::   ib_bdy    ! BDY boundary set 
    187       !!---------------------------------------------------------------------- 
    188       CALL lbc_lnk_4d( cdname, pt4d, cd_type, psgn) 
    189    END SUBROUTINE lbc_bdy_lnk_4d 
    190  
    191    SUBROUTINE lbc_bdy_lnk_3d( cdname, pt3d, cd_type, psgn, ib_bdy ) 
    192       !!---------------------------------------------------------------------- 
    193       CHARACTER(len=*)          , INTENT(in   ) ::   cdname      ! name of the calling subroutine 
    194       REAL(wp), DIMENSION(:,:,:), INTENT(inout) ::   pt3d      ! 3D array on which the lbc is applied 
    195       CHARACTER(len=1)          , INTENT(in   ) ::   cd_type   ! nature of pt3d grid-points 
    196       REAL(wp)                  , INTENT(in   ) ::   psgn      ! sign used across north fold  
    197       INTEGER                   , INTENT(in   ) ::   ib_bdy    ! BDY boundary set 
    198       !!---------------------------------------------------------------------- 
    199       CALL lbc_lnk_3d( cdname, pt3d, cd_type, psgn) 
    200    END SUBROUTINE lbc_bdy_lnk_3d 
    201  
    202  
    203    SUBROUTINE lbc_bdy_lnk_2d( cdname, pt2d, cd_type, psgn, ib_bdy ) 
    204       !!---------------------------------------------------------------------- 
    205       CHARACTER(len=*)        , INTENT(in   ) ::   cdname      ! name of the calling subroutine 
    206       REAL(wp), DIMENSION(:,:), INTENT(inout) ::   pt2d      ! 3D array on which the lbc is applied 
    207       CHARACTER(len=1)        , INTENT(in   ) ::   cd_type   ! nature of pt3d grid-points 
    208       REAL(wp)                , INTENT(in   ) ::   psgn      ! sign used across north fold  
    209       INTEGER                 , INTENT(in   ) ::   ib_bdy    ! BDY boundary set 
    210       !!---------------------------------------------------------------------- 
    211       CALL lbc_lnk_2d( cdname, pt2d, cd_type, psgn) 
    212    END SUBROUTINE lbc_bdy_lnk_2d 
    213  
    214162 
    215163!!gm  This routine should be removed with an optional halos size added in argument of generic routines 
Note: See TracChangeset for help on using the changeset viewer.