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

Ignore:
Timestamp:
2019-06-28T12:59:32+02:00 (5 years ago)
Author:
girrmann
Message:

dev_r10984_HPC-13 : update of trc_bdy following [11191], merge of lbc_lnk and lbc_bdy_lnk in a single lbc_lnk routine, see #2285

File:
1 edited

Legend:

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

    r11194 r11195  
    3737   END INTERFACE 
    3838   ! 
    39    INTERFACE lbc_bdy_lnk 
    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 
    47    END INTERFACE 
    48    ! 
    4939   INTERFACE lbc_lnk_icb 
    5040      MODULE PROCEDURE mpp_lnk_2d_icb 
     
    5848   PUBLIC   lbc_lnk       ! ocean/ice lateral boundary conditions 
    5949   PUBLIC   lbc_lnk_multi ! modified ocean/ice lateral boundary conditions 
    60    PUBLIC   lbc_bdy_lnk   ! ocean lateral BDY boundary conditions 
    61    PUBLIC   lbc_bdy_lnk_multi ! modified ocean lateral BDY boundary conditions 
    6250   PUBLIC   lbc_lnk_icb   ! iceberg lateral boundary conditions 
    6351 
     
    10896#     undef ROUTINE_MULTI 
    10997#     undef ROUTINE_LOAD 
    110 #     define IS_BDY 
    111 #     define ROUTINE_LOAD           load_ptr_bdy_2d 
    112 #     define ROUTINE_MULTI          lbc_lnk_bdy_2d_multi 
    113 #     include "lbc_lnk_multi_generic.h90" 
    114 #     undef ROUTINE_MULTI 
    115 #     undef IS_BDY 
    116 #     undef ROUTINE_LOAD 
    11798#  undef DIM_2d 
    11899 
     
    123104#     undef ROUTINE_MULTI 
    124105#     undef ROUTINE_LOAD 
    125 #     define IS_BDY 
    126 #     define ROUTINE_LOAD           load_ptr_bdy_3d 
    127 #     define ROUTINE_MULTI          lbc_lnk_bdy_3d_multi 
    128 #     include "lbc_lnk_multi_generic.h90" 
    129 #     undef ROUTINE_MULTI 
    130 #     undef IS_BDY 
    131 #     undef ROUTINE_LOAD 
    132106#  undef DIM_3d 
    133107 
     
    137111#     include "lbc_lnk_multi_generic.h90" 
    138112#     undef ROUTINE_MULTI 
    139 #     undef ROUTINE_LOAD 
    140 #     define IS_BDY 
    141 #     define ROUTINE_LOAD           load_ptr_bdy_4d 
    142 #     define ROUTINE_MULTI          lbc_lnk_bdy_4d_multi 
    143 #     include "lbc_lnk_multi_generic.h90" 
    144 #     undef ROUTINE_MULTI 
    145 #     undef IS_BDY 
    146113#     undef ROUTINE_LOAD 
    147114#  undef DIM_4d 
     
    249216#  undef DIM_4d 
    250217 
    251    !!---------------------------------------------------------------------- 
    252    !!                   ***  routine mpp_lnk_bdy_(2,3,4)d  *** 
    253    !! 
    254    !!   * Argument : dummy argument use in mpp_lnk_... routines 
    255    !!                ptab   :   array or pointer of arrays on which the boundary condition is applied 
    256    !!                cd_nat :   nature of array grid-points 
    257    !!                psgn   :   sign used across the north fold boundary 
    258    !!                kb_bdy :   BDY boundary set 
    259    !!                kfld   :   optional, number of pt3d arrays 
    260    !!---------------------------------------------------------------------- 
    261    ! 
    262    !                       !==  2D array and array of 2D pointer  ==! 
    263    ! 
    264 #  define DIM_2d 
    265 #     define ROUTINE_BDY           mpp_lnk_bdy_2d 
    266 #     include "mpp_bdy_generic.h90" 
    267 #     undef ROUTINE_BDY 
    268 #     define MULTI 
    269 #     define ROUTINE_BDY           mpp_lnk_bdy_2d_ptr 
    270 #     include "mpp_bdy_generic.h90" 
    271 #     undef ROUTINE_BDY 
    272 #     undef MULTI 
    273 #  undef DIM_2d 
    274    ! 
    275    !                       !==  3D array and array of 3D pointer  ==! 
    276    ! 
    277 #  define DIM_3d 
    278 #     define ROUTINE_BDY           mpp_lnk_bdy_3d 
    279 #     include "mpp_bdy_generic.h90" 
    280 #     undef ROUTINE_BDY 
    281 #     define MULTI 
    282 #     define ROUTINE_BDY           mpp_lnk_bdy_3d_ptr 
    283 #     include "mpp_bdy_generic.h90" 
    284 #     undef ROUTINE_BDY 
    285 #     undef MULTI 
    286 #  undef DIM_3d 
    287    ! 
    288    !                       !==  4D array and array of 4D pointer  ==! 
    289    ! 
    290 #  define DIM_4d 
    291 #     define ROUTINE_BDY           mpp_lnk_bdy_4d 
    292 #     include "mpp_bdy_generic.h90" 
    293 #     undef ROUTINE_BDY 
    294 #     define MULTI 
    295 #     define ROUTINE_BDY           mpp_lnk_bdy_4d_ptr 
    296 #     include "mpp_bdy_generic.h90" 
    297 #     undef ROUTINE_BDY 
    298 #     undef MULTI 
    299 #  undef DIM_4d 
    300218 
    301219   !!====================================================================== 
Note: See TracChangeset for help on using the changeset viewer.