Skip to content

Commit 1ef7305

Browse files
authored
Enable single precision build for JCSDA-internal/MPAS-Model (MPAS-Dev#27)
Description This PR accompanies JCSDA-internal/mpas-jedi#728. It solves single precision build for MPAS-Model: issue MPAS-Dev#26 To build source env-setup/gnu-openmpi-cheyenne.sh set(MPAS_DOUBLE_PRECISION "OFF" CACHE STRING ....) in mpas-bundle/CMakeLists.txt ecbuild (cmake); make Modified files M CMakeLists.txt M Makefile M cmake/PackageConfig.cmake.in
1 parent d80ddd6 commit 1ef7305

3 files changed

Lines changed: 6 additions & 1 deletion

File tree

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ macro(mpas_fortran_target _tgt)
100100
set_target_properties(${_tgt} PROPERTIES Fortran_FORMAT FREE)
101101
target_compile_definitions(${_tgt} PRIVATE _MPI=1)
102102
target_compile_definitions(${_tgt} PRIVATE USE_PIO2=1)
103+
if(NOT MPAS_DOUBLE_PRECISION)
104+
target_compile_definitions(${_tgt} PRIVATE "-DSINGLE_PRECISION")
105+
endif()
103106

104107
# Enable OpenMP support
105108
if(MPAS_OPENMP)

cmake/PackageConfig.cmake.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ else()
8888
endif()
8989
if(@MPAS_DOUBLE_PRECISION@) #MPAS_DOUBLE_PRECISION
9090
set(@PROJECT_NAME@_DOUBLE_PRECISION_FOUND True)
91+
else()
92+
set(@PROJECT_NAME@_DOUBLE_PRECISION_FOUND False)
9193
endif()
9294
set(MPAS_CORES @MPAS_CORES@)
9395
foreach(_core IN LISTS MPAS_CORES)

src/core_atmosphere/physics/physics_wrf/module_ra_cam_support.F

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ MODULE module_ra_cam_support
88
implicit none
99
integer, parameter :: r8 = 8
1010
real(r8), parameter:: inf = 1.e20 ! CAM sets this differently in infnan.F90
11-
integer, parameter:: bigint = O'17777777777' ! largest possible 32-bit integer
11+
integer, parameter:: bigint = int(O'17777777777') ! largest possible 32-bit integer
1212

1313
integer :: ixcldliq
1414
integer :: ixcldice

0 commit comments

Comments
 (0)