Changeset 14219 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/lib_fortran.F90
- Timestamp:
- 2020-12-18T18:52:57+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/lib_fortran.F90
r13327 r14219 37 37 38 38 INTERFACE glob_sum 39 MODULE PROCEDURE glob_sum_1d, glob_sum_2d, glob_sum_3d 39 MODULE PROCEDURE glob_sum_1d_sp, glob_sum_2d_sp, glob_sum_3d_sp 40 MODULE PROCEDURE glob_sum_1d_dp, glob_sum_2d_dp, glob_sum_3d_dp 40 41 END INTERFACE 41 42 INTERFACE glob_sum_full 42 MODULE PROCEDURE glob_sum_full_2d, glob_sum_full_3d 43 MODULE PROCEDURE glob_sum_full_2d_sp, glob_sum_full_3d_sp 44 MODULE PROCEDURE glob_sum_full_2d_dp, glob_sum_full_3d_dp 43 45 END INTERFACE 44 46 INTERFACE local_sum … … 49 51 END INTERFACE 50 52 INTERFACE glob_min 51 MODULE PROCEDURE glob_min_2d, glob_min_3d 53 MODULE PROCEDURE glob_min_2d_sp, glob_min_3d_sp 54 MODULE PROCEDURE glob_min_2d_dp, glob_min_3d_dp 52 55 END INTERFACE 53 56 INTERFACE glob_max 54 MODULE PROCEDURE glob_max_2d, glob_max_3d 57 MODULE PROCEDURE glob_max_2d_sp, glob_max_3d_sp 58 MODULE PROCEDURE glob_max_2d_dp, glob_max_3d_dp 55 59 END INTERFACE 56 60 … … 74 78 # define GLOBSUM_CODE 75 79 76 # define DIM_1d 77 # define FUNCTION_GLOBSUM glob_sum_1d 78 # include "lib_fortran_generic.h90" 79 # undef FUNCTION_GLOBSUM 80 # undef DIM_1d 81 82 # define DIM_2d 83 # define OPERATION_GLOBSUM 84 # define FUNCTION_GLOBSUM glob_sum_2d 85 # include "lib_fortran_generic.h90" 86 # undef FUNCTION_GLOBSUM 87 # undef OPERATION_GLOBSUM 88 # define OPERATION_FULL_GLOBSUM 89 # define FUNCTION_GLOBSUM glob_sum_full_2d 90 # include "lib_fortran_generic.h90" 91 # undef FUNCTION_GLOBSUM 92 # undef OPERATION_FULL_GLOBSUM 93 # undef DIM_2d 94 95 # define DIM_3d 96 # define OPERATION_GLOBSUM 97 # define FUNCTION_GLOBSUM glob_sum_3d 98 # include "lib_fortran_generic.h90" 99 # undef FUNCTION_GLOBSUM 100 # undef OPERATION_GLOBSUM 101 # define OPERATION_FULL_GLOBSUM 102 # define FUNCTION_GLOBSUM glob_sum_full_3d 103 # include "lib_fortran_generic.h90" 104 # undef FUNCTION_GLOBSUM 105 # undef OPERATION_FULL_GLOBSUM 106 # undef DIM_3d 80 # define SINGLE_PRECISION 81 # define DIM_1d 82 # define FUNCTION_GLOBSUM glob_sum_1d_sp 83 # include "lib_fortran_generic.h90" 84 # undef FUNCTION_GLOBSUM 85 # undef DIM_1d 86 87 # define DIM_2d 88 # define OPERATION_GLOBSUM 89 # define FUNCTION_GLOBSUM glob_sum_2d_sp 90 # include "lib_fortran_generic.h90" 91 # undef FUNCTION_GLOBSUM 92 # undef OPERATION_GLOBSUM 93 # define OPERATION_FULL_GLOBSUM 94 # define FUNCTION_GLOBSUM glob_sum_full_2d_sp 95 # include "lib_fortran_generic.h90" 96 # undef FUNCTION_GLOBSUM 97 # undef OPERATION_FULL_GLOBSUM 98 # undef DIM_2d 99 100 # define DIM_3d 101 # define OPERATION_GLOBSUM 102 # define FUNCTION_GLOBSUM glob_sum_3d_sp 103 # include "lib_fortran_generic.h90" 104 # undef FUNCTION_GLOBSUM 105 # undef OPERATION_GLOBSUM 106 # define OPERATION_FULL_GLOBSUM 107 # define FUNCTION_GLOBSUM glob_sum_full_3d_sp 108 # include "lib_fortran_generic.h90" 109 # undef FUNCTION_GLOBSUM 110 # undef OPERATION_FULL_GLOBSUM 111 # undef DIM_3d 112 # undef SINGLE_PRECISION 113 ! Double Precision versions 114 # define DIM_1d 115 # define FUNCTION_GLOBSUM glob_sum_1d_dp 116 # include "lib_fortran_generic.h90" 117 # undef FUNCTION_GLOBSUM 118 # undef DIM_1d 119 120 # define DIM_2d 121 # define OPERATION_GLOBSUM 122 # define FUNCTION_GLOBSUM glob_sum_2d_dp 123 # include "lib_fortran_generic.h90" 124 # undef FUNCTION_GLOBSUM 125 # undef OPERATION_GLOBSUM 126 # define OPERATION_FULL_GLOBSUM 127 # define FUNCTION_GLOBSUM glob_sum_full_2d_dp 128 # include "lib_fortran_generic.h90" 129 # undef FUNCTION_GLOBSUM 130 # undef OPERATION_FULL_GLOBSUM 131 # undef DIM_2d 132 133 # define DIM_3d 134 # define OPERATION_GLOBSUM 135 # define FUNCTION_GLOBSUM glob_sum_3d_dp 136 # include "lib_fortran_generic.h90" 137 # undef FUNCTION_GLOBSUM 138 # undef OPERATION_GLOBSUM 139 # define OPERATION_FULL_GLOBSUM 140 # define FUNCTION_GLOBSUM glob_sum_full_3d_dp 141 # include "lib_fortran_generic.h90" 142 # undef FUNCTION_GLOBSUM 143 # undef OPERATION_FULL_GLOBSUM 144 # undef DIM_3d 107 145 108 146 # undef GLOBSUM_CODE 109 147 110 148 ! Single Precision versions 111 149 # define GLOBMINMAX_CODE 112 150 113 # define DIM_2d 114 # define OPERATION_GLOBMIN 115 # define FUNCTION_GLOBMINMAX glob_min_2d 116 # include "lib_fortran_generic.h90" 117 # undef FUNCTION_GLOBMINMAX 118 # undef OPERATION_GLOBMIN 119 # define OPERATION_GLOBMAX 120 # define FUNCTION_GLOBMINMAX glob_max_2d 121 # include "lib_fortran_generic.h90" 122 # undef FUNCTION_GLOBMINMAX 123 # undef OPERATION_GLOBMAX 124 # undef DIM_2d 125 126 # define DIM_3d 127 # define OPERATION_GLOBMIN 128 # define FUNCTION_GLOBMINMAX glob_min_3d 129 # include "lib_fortran_generic.h90" 130 # undef FUNCTION_GLOBMINMAX 131 # undef OPERATION_GLOBMIN 132 # define OPERATION_GLOBMAX 133 # define FUNCTION_GLOBMINMAX glob_max_3d 134 # include "lib_fortran_generic.h90" 135 # undef FUNCTION_GLOBMINMAX 136 # undef OPERATION_GLOBMAX 137 # undef DIM_3d 151 # define SINGLE_PRECISION 152 # define DIM_2d 153 # define OPERATION_GLOBMIN 154 # define FUNCTION_GLOBMINMAX glob_min_2d_sp 155 # include "lib_fortran_generic.h90" 156 # undef FUNCTION_GLOBMINMAX 157 # undef OPERATION_GLOBMIN 158 # define OPERATION_GLOBMAX 159 # define FUNCTION_GLOBMINMAX glob_max_2d_sp 160 # include "lib_fortran_generic.h90" 161 # undef FUNCTION_GLOBMINMAX 162 # undef OPERATION_GLOBMAX 163 # undef DIM_2d 164 165 # define DIM_3d 166 # define OPERATION_GLOBMIN 167 # define FUNCTION_GLOBMINMAX glob_min_3d_sp 168 # include "lib_fortran_generic.h90" 169 # undef FUNCTION_GLOBMINMAX 170 # undef OPERATION_GLOBMIN 171 # define OPERATION_GLOBMAX 172 # define FUNCTION_GLOBMINMAX glob_max_3d_sp 173 # include "lib_fortran_generic.h90" 174 # undef FUNCTION_GLOBMINMAX 175 # undef OPERATION_GLOBMAX 176 # undef DIM_3d 177 # undef SINGLE_PRECISION 178 ! Double Precision versions 179 # define DIM_2d 180 # define OPERATION_GLOBMIN 181 # define FUNCTION_GLOBMINMAX glob_min_2d_dp 182 # include "lib_fortran_generic.h90" 183 # undef FUNCTION_GLOBMINMAX 184 # undef OPERATION_GLOBMIN 185 # define OPERATION_GLOBMAX 186 # define FUNCTION_GLOBMINMAX glob_max_2d_dp 187 # include "lib_fortran_generic.h90" 188 # undef FUNCTION_GLOBMINMAX 189 # undef OPERATION_GLOBMAX 190 # undef DIM_2d 191 192 # define DIM_3d 193 # define OPERATION_GLOBMIN 194 # define FUNCTION_GLOBMINMAX glob_min_3d_dp 195 # include "lib_fortran_generic.h90" 196 # undef FUNCTION_GLOBMINMAX 197 # undef OPERATION_GLOBMIN 198 # define OPERATION_GLOBMAX 199 # define FUNCTION_GLOBMINMAX glob_max_3d_dp 200 # include "lib_fortran_generic.h90" 201 # undef FUNCTION_GLOBMINMAX 202 # undef OPERATION_GLOBMAX 203 # undef DIM_3d 138 204 # undef GLOBMINMAX_CODE 139 205
Note: See TracChangeset
for help on using the changeset viewer.