diff --git a/ccpp/CMakeLists.txt b/ccpp/CMakeLists.txt index 2eafbd952..7f1af3301 100644 --- a/ccpp/CMakeLists.txt +++ b/ccpp/CMakeLists.txt @@ -65,19 +65,20 @@ endif() #------------------------------------------------------------------------------ # Set flag for 32bit dynamics build if(32BIT) - set(DYN32 ON CACHE BOOL "Enable support for 32bit fast physics in CCPP") - message(STATUS "Dynamics compiled with 32-bit option, adjust fv_sat_adj types") + message(STATUS "Compile CCPP slow physics with 64-bit precision, fast physics with 32-bit precision") add_definitions(-DOVERLOAD_R4) - message ("Force 64 bits in ccpp") if(CMAKE_Fortran_COMPILER_ID MATCHES "Intel") - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -real-size 64") + set(CMAKE_Fortran_FLAGS_PHYSICS "-real-size 64 -no-prec-div -no-prec-sqrt") elseif(CMAKE_Fortran_COMPILER_ID MATCHES "GNU") - set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdefault-real-8") + set(CMAKE_Fortran_FLAGS_PHYSICS "-fdefault-real-8 -fdefault-double-8") endif() + set(CMAKE_Fortran_FLAGS_DYNAMICS "") else() - set(DYN32 OFF CACHE BOOL "Disable support for 32bit fast physics in CCPP") + message(STATUS "Compile CCPP physics with 64-bit precision") remove_definitions(-DOVERLOAD_R8) remove_definitions(-DOVERLOAD_R4) + set(CMAKE_Fortran_FLAGS_PHYSICS "") + set(CMAKE_Fortran_FLAGS_DYNAMICS "") endif() #------------------------------------------------------------------------------ diff --git a/ccpp/framework b/ccpp/framework index 4cdbddf76..64b5afd13 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 4cdbddf760a9383c461dec3af4ae9423b43e4ba7 +Subproject commit 64b5afd1352d709f3b72734bf960e36024a838d3 diff --git a/ccpp/physics b/ccpp/physics index 4865cba04..98ebf42c0 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 4865cba04432d64f95b58b52428c18e8ef22d863 +Subproject commit 98ebf42c08d960addf4debe08226aff79e960211