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 11067 for NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LBC/lbclnk.F90 – NEMO

Ignore:
Timestamp:
2019-05-29T11:34:32+02:00 (5 years ago)
Author:
girrmann
Message:

dev_r10984_HPC-13 : new implementation of lbc_bdy_lnk in prevision of step 2, regroup communications, see #2285

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10984_HPC-13_IRRMANN_BDY_optimization/src/OCE/LBC/lbclnk.F90

    r10425 r11067  
    3838   ! 
    3939   INTERFACE lbc_bdy_lnk 
    40       MODULE PROCEDURE mpp_lnk_bdy_2d, mpp_lnk_bdy_3d, mpp_lnk_bdy_4d 
     40      MODULE PROCEDURE   mpp_lnk_bdy_2d      , mpp_lnk_bdy_3d      , mpp_lnk_bdy_4d 
     41   END INTERFACE 
     42   INTERFACE lbc_bdy_lnk_ptr 
     43      MODULE PROCEDURE   mpp_lnk_bdy_2d_ptr  , mpp_lnk_bdy_3d_ptr  , mpp_lnk_bdy_4d_ptr 
     44   END INTERFACE 
     45   INTERFACE lbc_bdy_lnk_multi 
     46      MODULE PROCEDURE   lbc_lnk_bdy_2d_multi, lbc_lnk_bdy_3d_multi, lbc_lnk_bdy_4d_multi 
    4147   END INTERFACE 
    4248   ! 
     
    4551   END INTERFACE 
    4652 
    47    PUBLIC   lbc_lnk       ! ocean/ice lateral boundary conditions 
    48    PUBLIC   lbc_lnk_multi ! modified ocean/ice lateral boundary conditions 
    49    PUBLIC   lbc_bdy_lnk   ! ocean lateral BDY boundary conditions 
    50    PUBLIC   lbc_lnk_icb   ! iceberg lateral boundary conditions 
     53   PUBLIC   lbc_lnk           ! ocean/ice lateral boundary conditions 
     54   PUBLIC   lbc_lnk_multi     ! modified ocean/ice lateral boundary conditions 
     55   PUBLIC   lbc_bdy_lnk       ! ocean lateral BDY boundary conditions 
     56   PUBLIC   lbc_bdy_lnk_multi ! modified ocean lateral BDY boundary conditions 
     57   PUBLIC   lbc_lnk_icb       ! iceberg lateral boundary conditions 
    5158 
    5259   !!---------------------------------------------------------------------- 
     
    256263 
    257264#  define DIM_2d 
     265#     define ROUTINE_LOAD           load_ptr_2d 
    258266#     define ROUTINE_MULTI          lbc_lnk_2d_multi 
    259 #     define ROUTINE_LOAD           load_ptr_2d 
    260 #     include "lbc_lnk_multi_generic.h90" 
    261 #     undef ROUTINE_MULTI 
     267#     include "lbc_lnk_multi_generic.h90" 
     268#     undef ROUTINE_MULTI 
     269#     undef ROUTINE_LOAD 
     270#     define IS_BDY 
     271#     define ROUTINE_LOAD           load_ptr_bdy_2d 
     272#     define ROUTINE_MULTI          lbc_lnk_bdy_2d_multi 
     273#     include "lbc_lnk_multi_generic.h90" 
     274#     undef ROUTINE_MULTI 
     275#     undef IS_BDY 
    262276#     undef ROUTINE_LOAD 
    263277#  undef DIM_2d 
    264278 
    265  
    266279#  define DIM_3d 
     280#     define ROUTINE_LOAD           load_ptr_3d 
    267281#     define ROUTINE_MULTI          lbc_lnk_3d_multi 
    268 #     define ROUTINE_LOAD           load_ptr_3d 
    269 #     include "lbc_lnk_multi_generic.h90" 
    270 #     undef ROUTINE_MULTI 
     282#     include "lbc_lnk_multi_generic.h90" 
     283#     undef ROUTINE_MULTI 
     284#     undef ROUTINE_LOAD 
     285#     define IS_BDY 
     286#     define ROUTINE_LOAD           load_ptr_bdy_3d 
     287#     define ROUTINE_MULTI          lbc_lnk_bdy_3d_multi 
     288#     include "lbc_lnk_multi_generic.h90" 
     289#     undef ROUTINE_MULTI 
     290#     undef IS_BDY 
    271291#     undef ROUTINE_LOAD 
    272292#  undef DIM_3d 
    273293 
    274  
    275294#  define DIM_4d 
     295#     define ROUTINE_LOAD           load_ptr_4d 
    276296#     define ROUTINE_MULTI          lbc_lnk_4d_multi 
    277 #     define ROUTINE_LOAD           load_ptr_4d 
    278 #     include "lbc_lnk_multi_generic.h90" 
    279 #     undef ROUTINE_MULTI 
     297#     include "lbc_lnk_multi_generic.h90" 
     298#     undef ROUTINE_MULTI 
     299#     undef ROUTINE_LOAD 
     300#     define IS_BDY 
     301#     define ROUTINE_LOAD           load_ptr_bdy_4d 
     302#     define ROUTINE_MULTI          lbc_lnk_bdy_4d_multi 
     303#     include "lbc_lnk_multi_generic.h90" 
     304#     undef ROUTINE_MULTI 
     305#     undef IS_BDY 
    280306#     undef ROUTINE_LOAD 
    281307#  undef DIM_4d 
    282308 
     309 
    283310   !!====================================================================== 
    284311END MODULE lbclnk 
Note: See TracChangeset for help on using the changeset viewer.