Changeset 8537
- Timestamp:
- 2017-09-19T07:46:09+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/nemo_v3_6_STABLE/NEMOGCM/NEMO/OPA_SRC/LBC/lib_mpp.F90
r7531 r8537 23 23 !! the mppobc routine to optimize the BDY and OBC communications 24 24 !! 3.5 ! 2013 ( C. Ethe, G. Madec ) message passing arrays as local variables 25 !! 3.5 ! 2013 (S.Mocavero, I.Epicoco - CMCC) north fold optimizations26 !! 3.6 ! 2015 (O. Tintó and M. Castrillo - BSC) Added 'mpp_lnk_2d_multiple', 'mpp_lbc_north_2d_multiple', 'mpp_max_multiple'25 !! 3.5 ! 2013 (S.Mocavero, I.Epicoco - CMCC) north fold optimizations 26 !! 3.6 ! 2015 (O. Tintó and M. Castrillo - BSC) Added 'mpp_lnk_2d_multiple', 'mpp_lbc_north_2d_multiple', 'mpp_max_multiple' 27 27 !!---------------------------------------------------------------------- 28 28 … … 44 44 !! mpp_lnk_e : interface (defined in lbclnk) for message passing of 2d array with extra halo (mpp_lnk_2d_e) 45 45 !! mpp_lnk_icb : interface for message passing of 2d arrays with extra halo for icebergs (mpp_lnk_2d_icb) 46 !! mpprecv 46 !! mpprecv : 47 47 !! mppsend : SUBROUTINE mpp_ini_znl 48 48 !! mppscatter : … … 2880 2880 !! 2881 2881 !!---------------------------------------------------------------------- 2882 2883 USE lbcnfd ! north fold2884 2885 INCLUDE 'mpif.h'2886 2887 2882 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: ptab ! 3D array on which the boundary condition is applied 2888 2883 CHARACTER(len=1) , INTENT(in ) :: cd_type ! define the nature of ptab array grid-points … … 2891 2886 ! ! = 1. , the sign is kept 2892 2887 INTEGER , INTENT(in ) :: ib_bdy ! BDY boundary set 2888 ! 2893 2889 INTEGER :: ji, jj, jk, jl ! dummy loop indices 2894 INTEGER :: imigr, iihom, ijhom ! temporaryintegers2890 INTEGER :: imigr, iihom, ijhom ! local integers 2895 2891 INTEGER :: ml_req1, ml_req2, ml_err ! for key_mpi_isend 2896 REAL(wp) :: zland 2892 REAL(wp) :: zland ! local scalar 2897 2893 INTEGER, DIMENSION(MPI_STATUS_SIZE) :: ml_stat ! for key_mpi_isend 2898 2894 ! 2899 2895 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: zt3ns, zt3sn ! 3d for north-south & south-north 2900 2896 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: zt3ew, zt3we ! 3d for east-west & west-east 2901 2902 2897 !!---------------------------------------------------------------------- 2903 2898 … … 3082 3077 END SUBROUTINE mpp_lnk_bdy_3d 3083 3078 3084 SUBROUTINE mpp_lnk_bdy_2d( ptab, cd_type, psgn, ib_bdy ) 3079 3080 SUBROUTINE mpp_lnk_bdy_2d( ptab, cd_type, psgn, ib_bdy ) 3085 3081 !!---------------------------------------------------------------------- 3086 3082 !! *** routine mpp_lnk_bdy_2d *** … … 3103 3099 !! 3104 3100 !!---------------------------------------------------------------------- 3105 3106 USE lbcnfd ! north fold 3107 3108 INCLUDE 'mpif.h' 3109 3110 REAL(wp), DIMENSION(jpi,jpj) , INTENT(inout) :: ptab ! 3D array on which the boundary condition is applied 3111 CHARACTER(len=1) , INTENT(in ) :: cd_type ! define the nature of ptab array grid-points 3112 ! ! = T , U , V , F , W points 3113 REAL(wp) , INTENT(in ) :: psgn ! =-1 the sign change across the north fold boundary 3114 ! ! = 1. , the sign is kept 3115 INTEGER , INTENT(in ) :: ib_bdy ! BDY boundary set 3101 REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: ptab ! 3D array on which the boundary condition is applied 3102 CHARACTER(len=1) , INTENT(in ) :: cd_type ! define the nature of ptab array grid-points 3103 ! ! = T , U , V , F , W points 3104 REAL(wp) , INTENT(in ) :: psgn ! =-1 the sign change across the north fold boundary 3105 ! ! = 1. , the sign is kept 3106 INTEGER , INTENT(in ) :: ib_bdy ! BDY boundary set 3107 ! 3116 3108 INTEGER :: ji, jj, jl ! dummy loop indices 3117 INTEGER :: imigr, iihom, ijhom ! temporaryintegers3109 INTEGER :: imigr, iihom, ijhom ! local integers 3118 3110 INTEGER :: ml_req1, ml_req2, ml_err ! for key_mpi_isend 3119 3111 REAL(wp) :: zland … … 3122 3114 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zt2ns, zt2sn ! 2d for north-south & south-north 3123 3115 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zt2ew, zt2we ! 2d for east-west & west-east 3124 3125 3116 !!---------------------------------------------------------------------- 3126 3117 … … 3128 3119 & zt2ew(jpj,jpreci,2), zt2we(jpj,jpreci,2) ) 3129 3120 3130 zland = 0. e03121 zland = 0._wp 3131 3122 3132 3123 ! 1. standard boundary treatment
Note: See TracChangeset
for help on using the changeset viewer.