- Timestamp:
- 2019-11-20T22:48:28+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11470_HPC_12_mpi3/src/OCE/LBC/lbclnk.F90
r11799 r11940 13 13 !! - ! 2017-04 (G. Madec) remove duplicated routines (lbc_lnk_2d_9, lbc_lnk_2d_multiple, lbc_lnk_3d_gather) 14 14 !! - ! 2017-05 (G. Madec) create generic.h90 files to generate all lbc and north fold routines 15 !! - ! 2019 (S. Mocavero, I. Epicoco - CMCC) create generic.h90 files to introduce MPI3 neighbourhood collectives 16 15 17 !!---------------------------------------------------------------------- 16 18 !! define the generic interfaces of lib_mpp routines … … 36 38 MODULE PROCEDURE lbc_lnk_2d_multi, lbc_lnk_3d_multi, lbc_lnk_4d_multi 37 39 END INTERFACE 40 INTERFACE lbc_lnk_nc_multi 41 MODULE PROCEDURE lbc_lnk_nc_2d, lbc_lnk_nc_3d, lbc_lnk_nc_4d 42 END INTERFACE 43 INTERFACE lbc_lnk_nc 44 MODULE PROCEDURE mpp_lnk_nc_2d, mpp_lnk_nc_3d, mpp_lnk_nc_4d 45 END INTERFACE 38 46 ! 39 47 INTERFACE lbc_lnk_icb … … 46 54 END INTERFACE 47 55 48 PUBLIC lbc_lnk ! ocean/ice lateral boundary conditions 49 PUBLIC lbc_lnk_multi ! modified ocean/ice lateral boundary conditions 50 PUBLIC lbc_lnk_icb ! iceberg lateral boundary conditions 56 PUBLIC lbc_lnk ! ocean/ice lateral boundary conditions 57 PUBLIC lbc_lnk_multi ! modified ocean/ice lateral boundary conditions 58 PUBLIC lbc_lnk_icb ! iceberg lateral boundary conditions 59 PUBLIC lbc_lnk_nc_multi ! modified ocean/ice lateral boundary conditions 51 60 52 61 #if defined key_mpp_mpi … … 163 172 # undef ROUTINE_LNK 164 173 # undef MULTI 174 # undef DIM_4d 175 176 !!---------------------------------------------------------------------- 177 !! *** routine lbc_lnk_nc_(2,3,4)d *** 178 !! 179 !! * Argument : dummy argument use in lbc_lnk_nc_... routines 180 !! ptab : array or pointer of arrays on which the boundary 181 !condition is applied 182 !! cd_nat : nature of array grid-points 183 !! psgn : sign used across the north fold boundary 184 !! kfld : optional, number of pt3d arrays 185 !! cd_mpp : optional, fill the overlap area only 186 !! pval : optional, background value (used at closed 187 !boundaries) 188 !!---------------------------------------------------------------------- 189 ! 190 ! !== 2D array and array of 2D pointer ==! 191 ! 192 # define DIM_2d 193 # define ROUTINE_NC_LOAD load_ptr_nc_2d 194 # define ROUTINE_MULTI_NC lbc_lnk_nc_2d 195 # include "lbc_lnk_nc_generic.h90" 196 # undef ROUTINE_MULTI_NC 197 # undef ROUTINE_NC_LOAD 198 # undef DIM_2d 199 ! 200 ! !== 3D array and array of 3D pointer ==! 201 ! 202 # define DIM_3d 203 # define ROUTINE_NC_LOAD load_ptr_nc_3d 204 # define ROUTINE_MULTI_NC lbc_lnk_nc_3d 205 # include "lbc_lnk_nc_generic.h90" 206 # undef ROUTINE_MULTI_NC 207 # undef ROUTINE_NC_LOAD 208 # undef DIM_3d 209 ! 210 ! !== 4D array and array of 4D pointer ==! 211 ! 212 # define DIM_4d 213 # define ROUTINE_NC_LOAD load_ptr_nc_4d 214 # define ROUTINE_MULTI_NC lbc_lnk_nc_4d 215 # include "lbc_lnk_nc_generic.h90" 216 # undef ROUTINE_LOAD 217 # undef ROUTINE_NC_LOAD 218 # undef DIM_4d 219 220 !!---------------------------------------------------------------------- 221 !! *** routine mpp_nc_(2,3,4)d *** 222 !! 223 !! * Argument : dummy argument use in mpp_nc_... routines 224 !! ptab : array or pointer of arrays on which the boundary condition is applied 225 !! cd_nat : nature of array grid-points 226 !! psgn : sign used across the north fold boundary 227 !! kfld : optional, number of pt3d arrays 228 !! cd_mpp : optional, fill the overlap area only 229 !! pval : optional, background value (used at closed boundaries) 230 !!---------------------------------------------------------------------- 231 ! 232 ! !== 2D array and array of 2D pointer ==! 233 ! 234 # define DIM_2d 235 # define ROUTINE_NC mpp_lnk_nc_2d 236 # include "mpp_nc_generic.h90" 237 # undef ROUTINE_NC 238 # undef DIM_2d 239 ! 240 ! !== 3D array and array of 3D pointer ==! 241 ! 242 # define DIM_3d 243 # define ROUTINE_NC mpp_lnk_nc_3d 244 # include "mpp_nc_generic.h90" 245 # undef ROUTINE_NC 246 # undef DIM_3d 247 ! 248 ! !== 4D array and array of 4D pointer ==! 249 ! 250 # define DIM_4d 251 # define ROUTINE_NC mpp_lnk_nc_4d 252 # include "mpp_nc_generic.h90" 253 # undef ROUTINE_NC 165 254 # undef DIM_4d 166 255
Note: See TracChangeset
for help on using the changeset viewer.