From 3f1fc5b53d6937384a2e0b3265aeb6b612033d61 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 09:45:38 -0600 Subject: [PATCH 01/15] use FMS 2020.04.02 CMakeLists.txt --- CMakeLists.txt | 67 +++++++++++++------------------------------------- FMS | 2 +- 2 files changed, 18 insertions(+), 51 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e4f62ef2ca..1925220614 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,7 +111,10 @@ endif() target_link_libraries(nemsio::nemsio INTERFACE w3emc::w3emc_d bacio::bacio_4) # Configure Python -find_package(Python 3 REQUIRED COMPONENTS Interpreter) +find_package(Python 3 QUIET COMPONENTS Interpreter) +if (NOT Python_Interpreter_FOUND) + find_package(Python 2.7 REQUIRED COMPONENTS Interpreter) +endif() message("Found Python: ${Python_EXECUTABLE}") ############################################################################### @@ -128,43 +131,14 @@ endif() ############################################################################### ### FMS ############################################################################### -include(fms_files.cmake) -add_library(fms ${fms_src_files} ${fms_headers}) -# stupid cmake can not figure out dependency of fft.F90 on fft99.F90 because 'use fft99_mod' is inside ifdefs -set_property(SOURCE FMS/fft/fft.F90 APPEND_STRING PROPERTY COMPILE_FLAGS "-DSGICRAY=0 -DNAGFFT=0") - -list(APPEND _fms_defs_public use_libMPI - use_netCDF - GFS_PHYS - INTERNAL_FILE_NML) -if(QUAD_PRECISION) - list(APPEND _fms_defs_public ENABLE_QUAD_PRECISION) -endif() -target_compile_definitions(fms PUBLIC "${_fms_defs_public}") - -if(32BIT) - list(APPEND _fms_defs_private OVERLOAD_R4 - OVERLOAD_R8) +set(GFS_PHYS ON CACHE BOOL "Enable GFS Physics") +if(NOT 32BIT) + set(64BIT ON CACHE BOOL "Enable 64-bit") endif() - -target_compile_definitions(fms PRIVATE "${_fms_defs_private}") - -target_include_directories(fms PUBLIC $ - $ - $ - $ - $) -target_include_directories(fms INTERFACE - $ - $) -target_link_libraries(fms PUBLIC MPI::MPI_Fortran - NetCDF::NetCDF_Fortran) -if(OpenMP_Fortran_FOUND) - target_link_libraries(fms PRIVATE OpenMP::OpenMP_Fortran) +if(QUAD_PRECISION) + set(ENABLE_QUAD_PRECISION ON CACHE BOOL "Enable Quad-precision") endif() -set_target_properties(fms PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/FMS) -set_target_properties(fms PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/FMS/mod) -set_target_properties(fms PROPERTIES PUBLIC_HEADER "${fms_headers}" ) +add_subdirectory(FMS) ############################################################################### ### stochastic_physics @@ -238,7 +212,8 @@ list(APPEND _nems_srcs NEMS/src/module_NEMS_UTILS.F90 NEMS/src/module_NEMS_INTERNAL_STATE.F90 NEMS/src/module_NEMS_GRID_COMP.F90 NEMS/src/module_NEMS_Rusage.F90 - NEMS/src/nems_c_rusage.c) + NEMS/src/nems_c_rusage.c + NEMS/src/ENS_Cpl/ENS_CplComp_ESMFMod_STUB.F90) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/NEMS/src/ESMFVersionDefine_ESMF_NUOPC.h ${CMAKE_CURRENT_BINARY_DIR}/NEMS/src/ESMFVersionDefine.h @@ -255,7 +230,11 @@ add_library(ufs ${_nems_srcs}) list(APPEND _ufs_defs_private ESMF_VERSION_MAJOR=${ESMF_VERSION_MAJOR} FRONT_FMS) -add_dependencies(ufs fms) +if(32BIT) + add_dependencies(ufs FMS::fms_r4) +else() + add_dependencies(ufs FMS::fms_r8) +endif() if(DATM) list(APPEND _ufs_defs_private FRONT_DATM=datm) @@ -331,18 +310,6 @@ target_link_libraries(ufs_model PRIVATE ufs ############################################################################### ### Install ############################################################################### -install( - TARGETS fms - EXPORT fms-config - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - PUBLIC_HEADER DESTINATION include ) - -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/FMS/mod DESTINATION ${CMAKE_INSTALL_PREFIX}) - -install(EXPORT fms-config - DESTINATION lib/cmake -) install( TARGETS ufs EXPORT ufs-config diff --git a/FMS b/FMS index f61416fef6..8c806665fd 160000 --- a/FMS +++ b/FMS @@ -1 +1 @@ -Subproject commit f61416fef691d9ba39a40df1ce72aa574f54c390 +Subproject commit 8c806665fd8d0f48aee990c778b6bf05ef4dc439 From 63ebb67a19f277b207f8a05e7c644e73adc96f22 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 10:12:04 -0600 Subject: [PATCH 02/15] update stochastic_physics submodule --- stochastic_physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stochastic_physics b/stochastic_physics index c39bb8a09a..b6e5e661e8 160000 --- a/stochastic_physics +++ b/stochastic_physics @@ -1 +1 @@ -Subproject commit c39bb8a09a196a9dd17ea3fb52152b61ef2881ae +Subproject commit b6e5e661e813a809d6885ade2c5babd5298725ad From 209e3a78347a4deba5920f274357fea758e374ef Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 10:23:37 -0600 Subject: [PATCH 03/15] update base to develop CMakeLists.txt --- CMakeLists.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1925220614..8afd774333 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,10 +111,7 @@ endif() target_link_libraries(nemsio::nemsio INTERFACE w3emc::w3emc_d bacio::bacio_4) # Configure Python -find_package(Python 3 QUIET COMPONENTS Interpreter) -if (NOT Python_Interpreter_FOUND) - find_package(Python 2.7 REQUIRED COMPONENTS Interpreter) -endif() +find_package(Python 3 REQUIRED COMPONENTS Interpreter) message("Found Python: ${Python_EXECUTABLE}") ############################################################################### From 31f173e7275b145de6c5519cc12067156413feea Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 10:26:32 -0600 Subject: [PATCH 04/15] update base again to develop CMakeLists.txt --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8afd774333..4873fc2535 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -212,6 +212,7 @@ list(APPEND _nems_srcs NEMS/src/module_NEMS_UTILS.F90 NEMS/src/nems_c_rusage.c NEMS/src/ENS_Cpl/ENS_CplComp_ESMFMod_STUB.F90) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/NEMS/src/ESMFVersionDefine_ESMF_NUOPC.h ${CMAKE_CURRENT_BINARY_DIR}/NEMS/src/ESMFVersionDefine.h COPYONLY) From dee78ef696a2564f0e0f3a50a4ba587da255f6e2 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 10:29:26 -0600 Subject: [PATCH 05/15] update base again^2 to develop CMakeLists.txt --- CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4873fc2535..c96586a01b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -209,8 +209,7 @@ list(APPEND _nems_srcs NEMS/src/module_NEMS_UTILS.F90 NEMS/src/module_NEMS_INTERNAL_STATE.F90 NEMS/src/module_NEMS_GRID_COMP.F90 NEMS/src/module_NEMS_Rusage.F90 - NEMS/src/nems_c_rusage.c - NEMS/src/ENS_Cpl/ENS_CplComp_ESMFMod_STUB.F90) + NEMS/src/nems_c_rusage.c) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/NEMS/src/ESMFVersionDefine_ESMF_NUOPC.h From 3848cde60827f3cda7ece1acb88d92d39e746441 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 10:43:15 -0600 Subject: [PATCH 06/15] remove fms_files.cmake --- fms_files.cmake | 87 ------------------------------------------------- 1 file changed, 87 deletions(-) delete mode 100644 fms_files.cmake diff --git a/fms_files.cmake b/fms_files.cmake deleted file mode 100644 index 5b486ac632..0000000000 --- a/fms_files.cmake +++ /dev/null @@ -1,87 +0,0 @@ -list(APPEND fms_src_files - FMS/affinity/fms_affinity.F90 - FMS/amip_interp/amip_interp.F90 - FMS/astronomy/astronomy.F90 - FMS/axis_utils/axis_utils.F90 - FMS/block_control/block_control.F90 - FMS/column_diagnostics/column_diagnostics.F90 - FMS/constants/constants.F90 - FMS/coupler/atmos_ocean_fluxes.F90 - FMS/coupler/coupler_types.F90 - FMS/coupler/ensemble_manager.F90 - FMS/data_override/data_override.F90 - FMS/diag_integral/diag_integral.F90 - FMS/diag_manager/diag_axis.F90 - FMS/diag_manager/diag_data.F90 - FMS/diag_manager/diag_grid.F90 - FMS/diag_manager/diag_manager.F90 - FMS/diag_manager/diag_manifest.F90 - FMS/diag_manager/diag_output.F90 - FMS/diag_manager/diag_table.F90 - FMS/diag_manager/diag_util.F90 - FMS/drifters/cloud_interpolator.F90 - FMS/drifters/drifters.F90 - FMS/drifters/drifters_comm.F90 - FMS/drifters/drifters_core.F90 - FMS/drifters/drifters_input.F90 - FMS/drifters/drifters_io.F90 - FMS/drifters/quicksort.F90 - FMS/exchange/stock_constants.F90 - FMS/exchange/xgrid.F90 - FMS/fft/fft.F90 - FMS/fft/fft99.F90 - FMS/field_manager/field_manager.F90 - FMS/field_manager/fm_util.F90 - FMS/fms/fms.F90 - FMS/fms/fms_io.F90 - FMS/horiz_interp/horiz_interp.F90 - FMS/horiz_interp/horiz_interp_bicubic.F90 - FMS/horiz_interp/horiz_interp_bilinear.F90 - FMS/horiz_interp/horiz_interp_conserve.F90 - FMS/horiz_interp/horiz_interp_spherical.F90 - FMS/horiz_interp/horiz_interp_type.F90 - FMS/interpolator/interpolator.F90 - FMS/memutils/memutils.F90 - FMS/monin_obukhov/monin_obukhov.F90 - FMS/monin_obukhov/monin_obukhov_kernel.F90 - FMS/mosaic/gradient.F90 - FMS/mosaic/grid.F90 - FMS/mosaic/mosaic.F90 - FMS/mpp/mpp.F90 - FMS/mpp/mpp_data.F90 - FMS/mpp/mpp_domains.F90 - FMS/mpp/mpp_efp.F90 - FMS/mpp/mpp_io.F90 - FMS/mpp/mpp_memutils.F90 - FMS/mpp/mpp_parameter.F90 - FMS/mpp/mpp_pset.F90 - FMS/mpp/mpp_utilities.F90 - FMS/platform/platform.F90 - FMS/random_numbers/MersenneTwister.F90 - FMS/random_numbers/random_numbers.F90 - FMS/sat_vapor_pres/sat_vapor_pres.F90 - FMS/sat_vapor_pres/sat_vapor_pres_k.F90 - FMS/station_data/station_data.F90 - FMS/time_interp/time_interp.F90 - FMS/time_interp/time_interp_external.F90 - FMS/time_manager/get_cal_time.F90 - FMS/time_manager/time_manager.F90 - FMS/topography/gaussian_topog.F90 - FMS/topography/topography.F90 - FMS/tracer_manager/tracer_manager.F90 - FMS/tridiagonal/tridiagonal.F90 - - FMS/memutils/memuse.c - FMS/mosaic/create_xgrid.c - FMS/mosaic/gradient_c2l.c - FMS/mosaic/interp.c - FMS/mosaic/mosaic_util.c - FMS/mosaic/read_mosaic.c - FMS/mpp/nsclock.c - FMS/mpp/threadloc.c -) - -list( APPEND fms_headers -FMS/include/fms_platform.h -FMS/include/file_version.h -) From 0c6781172cd1210a638435ea11b5e50e36418715 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 11:07:45 -0600 Subject: [PATCH 07/15] include MOM6-interface CMakeLists.txt changes --- MOM6-interface/CMakeLists.txt | 45 ++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/MOM6-interface/CMakeLists.txt b/MOM6-interface/CMakeLists.txt index 0c09b62619..ab1d43e1ab 100644 --- a/MOM6-interface/CMakeLists.txt +++ b/MOM6-interface/CMakeLists.txt @@ -29,8 +29,13 @@ set_target_properties(mom6_obj PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRE target_include_directories(mom6_obj PRIVATE $) target_include_directories(mom6_obj PRIVATE $ $) -target_link_libraries(mom6_obj PRIVATE fms - NetCDF::NetCDF_Fortran) +if(32BIT) + target_link_libraries(mom6_obj PRIVATE FMS::fms_r4 + NetCDF::NetCDF_Fortran) +else() + target_link_libraries(mom6_obj PRIVATE FMS::fms_r8 + NetCDF::NetCDF_Fortran) +endif() # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6_obj PRIVATE OpenMP::OpenMP_Fortran) @@ -41,9 +46,15 @@ set_target_properties(mom6_nuopc_obj PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE target_include_directories(mom6_nuopc_obj PRIVATE $) target_include_directories(mom6_nuopc_obj PRIVATE $ $) -target_link_libraries(mom6_nuopc_obj PRIVATE mom6_obj - fms - esmf) +if(32BIT) + target_link_libraries(mom6_nuopc_obj PRIVATE mom6_obj + FMS::fms_r4 + esmf) +else() + target_link_libraries(mom6_nuopc_obj PRIVATE mom6_obj + FMS::fms_r8 + esmf) +endif() # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6_nuopc_obj PRIVATE OpenMP::OpenMP_Fortran) @@ -56,9 +67,15 @@ target_include_directories(mom6 PUBLIC $) target_include_directories(mom6 PUBLIC $ $) -target_link_libraries(mom6 PUBLIC fms - esmf - NetCDF::NetCDF_Fortran) +if(32BIT) + target_link_libraries(mom6 PUBLIC FMS::fms_r4 + esmf + NetCDF::NetCDF_Fortran) +else() + target_link_libraries(mom6 PUBLIC FMS::fms_r8 + esmf + NetCDF::NetCDF_Fortran) +endif() # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6 PRIVATE OpenMP::OpenMP_Fortran) @@ -74,9 +91,15 @@ if(MOM6SOLO) target_include_directories(mom6solo PRIVATE $) target_include_directories(mom6solo PRIVATE $ $) - target_link_libraries(mom6solo PRIVATE mom6_obj - fms - NetCDF::NetCDF_Fortran) + if(32BIT) + target_link_libraries(mom6solo PRIVATE mom6_obj + FMS::fms_r4 + NetCDF::NetCDF_Fortran) + else() + target_link_libraries(mom6solo PRIVATE mom6_obj + FMS::fms_r8 + NetCDF::NetCDF_Fortran) + endif() # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6solo PRIVATE OpenMP::OpenMP_Fortran) From c474824ce27fe59badd76daca0bd922550d6c444 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 11:20:01 -0600 Subject: [PATCH 08/15] try again --- .gitmodules | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitmodules b/.gitmodules index 6e63f4576f..d2fd3e3f98 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "FV3"] path = FV3 - url = https://github.com/NOAA-EMC/fv3atm - branch = develop + url = https://github.com/mlee03/fv3atm.git + branch = fms/cmake_changes [submodule "NEMS"] path = NEMS url = https://github.com/NOAA-EMC/NEMS @@ -9,15 +9,15 @@ [submodule "FMS"] path = FMS url = https://github.com/NOAA-GFDL/FMS - branch = master + branch = 2020.04.02 [submodule "WW3"] path = WW3 url = https://github.com/NOAA-EMC/WW3 branch = develop [submodule "stochastic_physics"] path = stochastic_physics - url = https://github.com/noaa-psd/stochastic_physics - branch = master + url = https://github.com/mlee03/stochastic_physics.git + branch = fms/cmake_changes [submodule "CMakeModules"] path = CMakeModules url = https://github.com/NOAA-EMC/CMakeModules From b9ed295b0f4e95cf80525eb72883731492a2a753 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 11:36:58 -0600 Subject: [PATCH 09/15] repoint to mlee03 --- stochastic_physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stochastic_physics b/stochastic_physics index b6e5e661e8..466699c172 160000 --- a/stochastic_physics +++ b/stochastic_physics @@ -1 +1 @@ -Subproject commit b6e5e661e813a809d6885ade2c5babd5298725ad +Subproject commit 466699c172b7ab43d8480cc194601fa175ac59d5 From 3a39352de56588322dcc3a25a2c04cee2523ff1d Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 11:46:57 -0600 Subject: [PATCH 10/15] testing again --- FV3 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FV3 b/FV3 index c2fc3de2cb..873e9c03ff 160000 --- a/FV3 +++ b/FV3 @@ -1 +1 @@ -Subproject commit c2fc3de2cb6c51f85f98ee0e69f25cffd68bc9dd +Subproject commit 873e9c03ffe548ea53ac01262ccfa3d29e3e7657 From 2c9ba7bf03fe98ec0f58b0f65fc567df9ab1a296 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 13:21:59 -0600 Subject: [PATCH 11/15] add_library(fms) with alias --- .gitmodules | 8 +++--- CMakeLists.txt | 13 ++++++---- FV3 | 2 +- MOM6-interface/CMakeLists.txt | 48 ++++++++++------------------------- stochastic_physics | 2 +- 5 files changed, 28 insertions(+), 45 deletions(-) diff --git a/.gitmodules b/.gitmodules index d2fd3e3f98..7bd9813d10 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "FV3"] path = FV3 - url = https://github.com/mlee03/fv3atm.git - branch = fms/cmake_changes + url = https://github.com/NOAA-EMC/fv3atm + branch = develop [submodule "NEMS"] path = NEMS url = https://github.com/NOAA-EMC/NEMS @@ -16,8 +16,8 @@ branch = develop [submodule "stochastic_physics"] path = stochastic_physics - url = https://github.com/mlee03/stochastic_physics.git - branch = fms/cmake_changes + url = https://github.com/noaa-psd/stochastic_physics + branch = master [submodule "CMakeModules"] path = CMakeModules url = https://github.com/NOAA-EMC/CMakeModules diff --git a/CMakeLists.txt b/CMakeLists.txt index c96586a01b..40c3a72080 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -135,8 +135,15 @@ endif() if(QUAD_PRECISION) set(ENABLE_QUAD_PRECISION ON CACHE BOOL "Enable Quad-precision") endif() + add_subdirectory(FMS) +if(32BIT) + add_library(fms ALIAS fms_r4) +else() + add_library(fms ALIAS fms_r8) +endif() + ############################################################################### ### stochastic_physics ############################################################################### @@ -227,11 +234,7 @@ add_library(ufs ${_nems_srcs}) list(APPEND _ufs_defs_private ESMF_VERSION_MAJOR=${ESMF_VERSION_MAJOR} FRONT_FMS) -if(32BIT) - add_dependencies(ufs FMS::fms_r4) -else() - add_dependencies(ufs FMS::fms_r8) -endif() +add_dependencies(ufs fms) if(DATM) list(APPEND _ufs_defs_private FRONT_DATM=datm) diff --git a/FV3 b/FV3 index 873e9c03ff..c2fc3de2cb 160000 --- a/FV3 +++ b/FV3 @@ -1 +1 @@ -Subproject commit 873e9c03ffe548ea53ac01262ccfa3d29e3e7657 +Subproject commit c2fc3de2cb6c51f85f98ee0e69f25cffd68bc9dd diff --git a/MOM6-interface/CMakeLists.txt b/MOM6-interface/CMakeLists.txt index ab1d43e1ab..0b5f4d3479 100644 --- a/MOM6-interface/CMakeLists.txt +++ b/MOM6-interface/CMakeLists.txt @@ -29,13 +29,8 @@ set_target_properties(mom6_obj PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRE target_include_directories(mom6_obj PRIVATE $) target_include_directories(mom6_obj PRIVATE $ $) -if(32BIT) - target_link_libraries(mom6_obj PRIVATE FMS::fms_r4 - NetCDF::NetCDF_Fortran) -else() - target_link_libraries(mom6_obj PRIVATE FMS::fms_r8 - NetCDF::NetCDF_Fortran) -endif() +target_link_libraries(mom6_obj PRIVATE fms) + # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6_obj PRIVATE OpenMP::OpenMP_Fortran) @@ -46,15 +41,10 @@ set_target_properties(mom6_nuopc_obj PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE target_include_directories(mom6_nuopc_obj PRIVATE $) target_include_directories(mom6_nuopc_obj PRIVATE $ $) -if(32BIT) - target_link_libraries(mom6_nuopc_obj PRIVATE mom6_obj - FMS::fms_r4 - esmf) -else() - target_link_libraries(mom6_nuopc_obj PRIVATE mom6_obj - FMS::fms_r8 - esmf) -endif() +target_link_libraries(mom6_nuopc_obj PRIVATE mom6_obj + fms + esmf) + # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6_nuopc_obj PRIVATE OpenMP::OpenMP_Fortran) @@ -67,15 +57,10 @@ target_include_directories(mom6 PUBLIC $) target_include_directories(mom6 PUBLIC $ $) -if(32BIT) - target_link_libraries(mom6 PUBLIC FMS::fms_r4 - esmf - NetCDF::NetCDF_Fortran) -else() - target_link_libraries(mom6 PUBLIC FMS::fms_r8 - esmf - NetCDF::NetCDF_Fortran) -endif() +target_link_libraries(mom6 PUBLIC fms + esmf + NetCDF::NetCDF_Fortran) + # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6 PRIVATE OpenMP::OpenMP_Fortran) @@ -91,15 +76,10 @@ if(MOM6SOLO) target_include_directories(mom6solo PRIVATE $) target_include_directories(mom6solo PRIVATE $ $) - if(32BIT) - target_link_libraries(mom6solo PRIVATE mom6_obj - FMS::fms_r4 - NetCDF::NetCDF_Fortran) - else() - target_link_libraries(mom6solo PRIVATE mom6_obj - FMS::fms_r8 - NetCDF::NetCDF_Fortran) - endif() + + target_link_libraries(mom6solo PRIVATE mom6_obj + fms + NetCDF::NetCDF_Fortran) # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6solo PRIVATE OpenMP::OpenMP_Fortran) diff --git a/stochastic_physics b/stochastic_physics index 466699c172..b6e5e661e8 160000 --- a/stochastic_physics +++ b/stochastic_physics @@ -1 +1 @@ -Subproject commit 466699c172b7ab43d8480cc194601fa175ac59d5 +Subproject commit b6e5e661e813a809d6885ade2c5babd5298725ad From 7db5d272d87b31138bd3d97638b219c1b7374f82 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Mon, 1 Feb 2021 13:49:31 -0600 Subject: [PATCH 12/15] change CMakeLists.txt to use add_library(fms alias etc) --- CMakeLists.txt | 1 - MOM6-interface/CMakeLists.txt | 7 ++----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 40c3a72080..5c2a6c4968 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -218,7 +218,6 @@ list(APPEND _nems_srcs NEMS/src/module_NEMS_UTILS.F90 NEMS/src/module_NEMS_Rusage.F90 NEMS/src/nems_c_rusage.c) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/NEMS/src/ESMFVersionDefine_ESMF_NUOPC.h ${CMAKE_CURRENT_BINARY_DIR}/NEMS/src/ESMFVersionDefine.h COPYONLY) diff --git a/MOM6-interface/CMakeLists.txt b/MOM6-interface/CMakeLists.txt index 0b5f4d3479..0c09b62619 100644 --- a/MOM6-interface/CMakeLists.txt +++ b/MOM6-interface/CMakeLists.txt @@ -29,8 +29,8 @@ set_target_properties(mom6_obj PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRE target_include_directories(mom6_obj PRIVATE $) target_include_directories(mom6_obj PRIVATE $ $) -target_link_libraries(mom6_obj PRIVATE fms) - +target_link_libraries(mom6_obj PRIVATE fms + NetCDF::NetCDF_Fortran) # OpenMP is disabled in MOM6 #if(OpenMP_Fortran_FOUND) # target_link_libraries(mom6_obj PRIVATE OpenMP::OpenMP_Fortran) @@ -44,7 +44,6 @@ target_include_directories(mom6_nuopc_obj PRIVATE $) target_include_directories(mom6solo PRIVATE $ $) - target_link_libraries(mom6solo PRIVATE mom6_obj fms NetCDF::NetCDF_Fortran) From 26cbaa274b8ebe295cb4124ebb7a1f833ba3e102 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Wed, 3 Feb 2021 12:18:00 -0600 Subject: [PATCH 13/15] fix enable_quad_precision --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c2a6c4968..fad3931944 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,8 +132,8 @@ set(GFS_PHYS ON CACHE BOOL "Enable GFS Physics") if(NOT 32BIT) set(64BIT ON CACHE BOOL "Enable 64-bit") endif() -if(QUAD_PRECISION) - set(ENABLE_QUAD_PRECISION ON CACHE BOOL "Enable Quad-precision") +if(NOT QUAD_PRECISION) + set(ENABLE_QUAD_PRECISION OfF CACHE BOOL "Disable Quad-precision") endif() add_subdirectory(FMS) From 647c516c53ad923cc7acb0af6debe12eba17e7dd Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Wed, 3 Feb 2021 12:20:20 -0600 Subject: [PATCH 14/15] fix typo for fix enable_quad_precision --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fad3931944..9a7e3525f3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,7 +133,7 @@ if(NOT 32BIT) set(64BIT ON CACHE BOOL "Enable 64-bit") endif() if(NOT QUAD_PRECISION) - set(ENABLE_QUAD_PRECISION OfF CACHE BOOL "Disable Quad-precision") + set(ENABLE_QUAD_PRECISION OFF CACHE BOOL "Disable Quad-precision") endif() add_subdirectory(FMS) From 8c3377890a063bfc218b7676232fa9f2afe6b717 Mon Sep 17 00:00:00 2001 From: Mikyung Lee Date: Wed, 3 Feb 2021 12:21:47 -0600 Subject: [PATCH 15/15] change disable to enable for FMS quad_precision argh --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a7e3525f3..fe4b0b61dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,7 +133,7 @@ if(NOT 32BIT) set(64BIT ON CACHE BOOL "Enable 64-bit") endif() if(NOT QUAD_PRECISION) - set(ENABLE_QUAD_PRECISION OFF CACHE BOOL "Disable Quad-precision") + set(ENABLE_QUAD_PRECISION OFF CACHE BOOL "Enable Quad-precision") endif() add_subdirectory(FMS)