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.
lib_fortran_globsum.h90 in NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE – NEMO

source: NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/lib_fortran_globsum.h90

Last change on this file was 14287, checked in by mcastril, 3 years ago

Add new lib_fortran_globsum.h90

File size: 2.3 KB
Line 
1#  define PASTE(a) a
2#  define ADD_TRAIL_USCORE(a) PASTE(a)_
3#  define CONCATENATE(a,b) ADD_TRAIL_USCORE(a)b
4
5#  define GLOBSUM_CODE
6
7#        define DIM_1d
8#        define FUNCTION_GLOBSUM           CONCATENATE(glob_sum_1d,PRECISION)
9#        include "lib_fortran_generic.h90"
10#        undef FUNCTION_GLOBSUM
11#        undef DIM_1d
12
13#        define DIM_2d
14#        define OPERATION_GLOBSUM
15#        define FUNCTION_GLOBSUM           CONCATENATE(glob_sum_2d,PRECISION)
16#        include "lib_fortran_generic.h90"
17#        undef FUNCTION_GLOBSUM
18#        undef OPERATION_GLOBSUM
19#        define OPERATION_FULL_GLOBSUM
20#        define FUNCTION_GLOBSUM           CONCATENATE(glob_sum_full_2d,PRECISION)
21#        include "lib_fortran_generic.h90"
22#        undef FUNCTION_GLOBSUM
23#        undef OPERATION_FULL_GLOBSUM
24#        undef DIM_2d
25
26#        define DIM_3d
27#        define OPERATION_GLOBSUM
28#        define FUNCTION_GLOBSUM           CONCATENATE(glob_sum_3d,PRECISION)
29#        include "lib_fortran_generic.h90"
30#        undef FUNCTION_GLOBSUM
31#        undef OPERATION_GLOBSUM
32#        define OPERATION_FULL_GLOBSUM
33#        define FUNCTION_GLOBSUM           CONCATENATE(glob_sum_full_3d,PRECISION)
34#        include "lib_fortran_generic.h90"
35#        undef FUNCTION_GLOBSUM
36#        undef OPERATION_FULL_GLOBSUM
37#        undef DIM_3d
38
39#  undef GLOBSUM_CODE
40
41#  define GLOBMINMAX_CODE
42
43#        define DIM_2d
44#        define OPERATION_GLOBMIN
45#        define FUNCTION_GLOBMINMAX           CONCATENATE(glob_min_2d,PRECISION)
46#        include "lib_fortran_generic.h90"
47#        undef FUNCTION_GLOBMINMAX
48#        undef OPERATION_GLOBMIN
49#        define OPERATION_GLOBMAX
50#        define FUNCTION_GLOBMINMAX           CONCATENATE(glob_max_2d,PRECISION)
51#        include "lib_fortran_generic.h90"
52#        undef FUNCTION_GLOBMINMAX
53#        undef OPERATION_GLOBMAX
54#        undef DIM_2d
55
56#        define DIM_3d
57#        define OPERATION_GLOBMIN
58#        define FUNCTION_GLOBMINMAX           CONCATENATE(glob_min_3d,PRECISION)
59#        include "lib_fortran_generic.h90"
60#        undef FUNCTION_GLOBMINMAX
61#        undef OPERATION_GLOBMIN
62#        define OPERATION_GLOBMAX
63#        define FUNCTION_GLOBMINMAX           CONCATENATE(glob_max_3d,PRECISION)
64#        include "lib_fortran_generic.h90"
65#        undef FUNCTION_GLOBMINMAX
66#        undef OPERATION_GLOBMAX
67#        undef DIM_3d
68#  undef GLOBMINMAX_CODE
Note: See TracBrowser for help on using the repository browser.