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.
Changeset 14286 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/lib_fortran.F90 – NEMO

Ignore:
Timestamp:
2021-01-11T18:30:11+01:00 (3 years ago)
Author:
mcastril
Message:

Reformatting and allowing to use key_qco

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  
    7676CONTAINS 
    7777 
    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 
    20588 
    20689!                          ! FUNCTION local_sum ! 
Note: See TracChangeset for help on using the changeset viewer.