Changeset 14286 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/lib_fortran.F90
- Timestamp:
- 2021-01-11T18:30:11+01:00 (3 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
r14219 r14286 76 76 CONTAINS 77 77 78 # define GLOBSUM_CODE 79 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 145 146 # undef GLOBSUM_CODE 147 148 ! Single Precision versions 149 # define GLOBMINMAX_CODE 150 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 204 # undef GLOBMINMAX_CODE 78 79 ! ! FUNCTION global_sum ! 80 ! ! single precision version ! 81 # define PRECISION sp 82 # include "lib_fortran_globsum.h90" 83 # undef PRECISION 84 ! ! double precision version ! 85 # define PRECISION dp 86 # include "lib_fortran_globsum.h90" 87 # undef PRECISION 205 88 206 89 ! ! FUNCTION local_sum !
Note: See TracChangeset
for help on using the changeset viewer.