From 0dbb6f6ad25c58833d83d5e00955d7dc0b9463ac Mon Sep 17 00:00:00 2001 From: "Jun.Wang" Date: Mon, 21 Oct 2019 14:32:25 +0000 Subject: [PATCH 1/6] point to Jun fv3atm personal fork --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 5acc46d0ab..0078deeae6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "FV3"] path = FV3 - url = https://github.com/NOAA-EMC/fv3atm + url = https://github.com/junwang-noaa/fv3atm branch = develop [submodule "NEMS"] path = NEMS From 302d428e3a32ed250d50e86238cbb3f0f8f5107d Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Tue, 1 Jun 2021 16:47:05 -0400 Subject: [PATCH 2/6] build full CDEPS library and link against it instead of data components Change-Id: Ie2103eab6d91105f9cd0e9bb069c2d95bef2b6b8 --- CDEPS-interface/CMakeLists.txt | 131 +++++++++++++++------------------ CMakeLists.txt | 5 +- 2 files changed, 62 insertions(+), 74 deletions(-) diff --git a/CDEPS-interface/CMakeLists.txt b/CDEPS-interface/CMakeLists.txt index cc52a64435..2874fa20a7 100644 --- a/CDEPS-interface/CMakeLists.txt +++ b/CDEPS-interface/CMakeLists.txt @@ -16,103 +16,92 @@ endif() include("cdeps_files.cmake") # CDEPS/share -add_library(share STATIC ${cdeps_share_files} ${ufs_cdeps_share_files}) -add_library(cdeps::share ALIAS share) +add_library(share OBJECT ${cdeps_share_files} ${ufs_cdeps_share_files}) set_target_properties(share PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) target_include_directories(share PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/ufs/cdeps_share) -target_include_directories(share PUBLIC $ - $) -target_link_libraries(share PUBLIC esmf) -list(APPEND LIB_TARGETS share) +target_include_directories(share PRIVATE $) +target_link_libraries(share PRIVATE esmf) # CDEPS/streams -add_library(streams STATIC ${cdeps_streams_files}) -add_library(cdeps::streams ALIAS streams) -add_dependencies(streams cdeps::share) +add_library(streams OBJECT ${cdeps_streams_files}) +add_dependencies(streams share) set_target_properties(streams PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(streams PUBLIC $ - $) -target_compile_definitions(streams PUBLIC "DISABLE_FoX") -target_link_libraries(streams PUBLIC cdeps::share) -target_link_libraries(streams PUBLIC esmf PIO::PIO_Fortran) -list(APPEND LIB_TARGETS streams) +target_include_directories(streams PRIVATE $) +target_compile_definitions(streams PRIVATE "DISABLE_FoX") +target_link_libraries(streams PRIVATE share) +target_link_libraries(streams PRIVATE esmf PIO::PIO_Fortran) # CDEPS/dshr -add_library(dshr STATIC ${cdeps_dshr_files}) -add_library(cdeps::dshr ALIAS dshr) -add_dependencies(dshr cdeps::share cdeps::streams) +add_library(dshr OBJECT ${cdeps_dshr_files}) +add_dependencies(dshr share streams) set_target_properties(dshr PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(dshr PUBLIC $ - $) -target_link_libraries(dshr PUBLIC cdeps::share cdeps::streams) -target_link_libraries(dshr PUBLIC esmf PIO::PIO_Fortran) -list(APPEND LIB_TARGETS dshr) +target_include_directories(dshr PRIVATE $) +target_link_libraries(dshr PRIVATE share streams) +target_link_libraries(dshr PRIVATE esmf PIO::PIO_Fortran) # CDEPS/datm -add_library(datm STATIC ${cdeps_datm_files}) -add_library(cdeps::datm ALIAS datm) -add_dependencies(datm cdeps::share cdeps::streams cdeps::dshr) +add_library(datm OBJECT ${cdeps_datm_files}) +add_dependencies(datm share streams dshr) set_target_properties(datm PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(datm PUBLIC $ - $) -target_link_libraries(datm PUBLIC cdeps::dshr cdeps::share cdeps::streams) -target_link_libraries(datm PUBLIC esmf PIO::PIO_Fortran) -list(APPEND LIB_TARGETS datm) +target_include_directories(datm PRIVATE $) +target_link_libraries(datm PRIVATE dshr share streams) +target_link_libraries(datm PRIVATE esmf PIO::PIO_Fortran) # CDEPS/dice -add_library(dice STATIC ${cdeps_dice_files}) -add_library(cdeps::dice ALIAS dice) -add_dependencies(dice cdeps::share cdeps::streams cdeps::dshr) +add_library(dice OBJECT ${cdeps_dice_files}) +add_dependencies(dice share streams dshr) set_target_properties(dice PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(dice PUBLIC $ - $) -target_link_libraries(dice PUBLIC cdeps::dshr cdeps::share cdeps::streams) -target_link_libraries(dice PUBLIC esmf) -list(APPEND LIB_TARGETS dice) +target_include_directories(dice PRIVATE $) +target_link_libraries(dice PRIVATE dshr share streams) +target_link_libraries(dice PRIVATE esmf) # CDEPS/dlnd -add_library(dlnd STATIC ${cdeps_dlnd_files}) -add_library(cdeps::dlnd ALIAS dlnd) -add_dependencies(dlnd cdeps::share cdeps::streams cdeps::dshr) +add_library(dlnd OBJECT ${cdeps_dlnd_files}) +add_dependencies(dlnd share streams dshr) set_target_properties(dlnd PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(dlnd PUBLIC $ - $) -target_link_libraries(dlnd PUBLIC cdeps::dshr cdeps::share cdeps::streams) -target_link_libraries(dlnd PUBLIC esmf) -list(APPEND LIB_TARGETS dlnd) +target_include_directories(dlnd PRIVATE $) +target_link_libraries(dlnd PRIVATE dshr share streams) +target_link_libraries(dlnd PRIVATE esmf) # CDEPS/docn -add_library(docn STATIC ${cdeps_docn_files}) -add_library(cdeps::docn ALIAS docn) -add_dependencies(docn cdeps::share cdeps::streams cdeps::dshr) +add_library(docn OBJECT ${cdeps_docn_files}) +add_dependencies(docn share streams dshr) set_target_properties(docn PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(docn PUBLIC $ - $) -target_link_libraries(docn PUBLIC cdeps::dshr cdeps::share cdeps::streams) -target_link_libraries(docn PUBLIC esmf) -list(APPEND LIB_TARGETS docn) +target_include_directories(docn PRIVATE $) +target_link_libraries(docn PRIVATE dshr share streams) +target_link_libraries(docn PRIVATE esmf) # CDEPS/drof -add_library(drof STATIC ${cdeps_drof_files}) -add_library(cdeps::drof ALIAS drof) -add_dependencies(drof cdeps::share cdeps::streams cdeps::dshr) +add_library(drof OBJECT ${cdeps_drof_files}) +add_dependencies(drof share streams dshr) set_target_properties(drof PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(drof PUBLIC $ - $) -target_link_libraries(drof PUBLIC cdeps::dshr cdeps::share cdeps::streams) -target_link_libraries(drof PUBLIC esmf) -list(APPEND LIB_TARGETS drof) +target_include_directories(drof PRIVATE $) +target_link_libraries(drof PRIVATE dshr share streams) +target_link_libraries(drof PRIVATE esmf) # CDEPS/dwav -add_library(dwav STATIC ${cdeps_dwav_files}) -add_library(cdeps::dwav ALIAS dwav) -add_dependencies(dwav cdeps::share cdeps::streams cdeps::dshr) +add_library(dwav OBJECT ${cdeps_dwav_files}) +add_dependencies(dwav share streams dshr) set_target_properties(dwav PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(dwav PUBLIC $ - $) -target_link_libraries(dwav PUBLIC cdeps::dshr cdeps::share cdeps::streams) -target_link_libraries(dwav PUBLIC esmf) -list(APPEND LIB_TARGETS dwav) +target_include_directories(dwav PRIVATE $) +target_link_libraries(dwav PRIVATE dshr share streams) +target_link_libraries(dwav PRIVATE esmf) + +# CDEPS +add_library(cdeps STATIC $ + $ + $ + $ + $ + $ + $ + $ + $) +add_library(cdeps::cdeps ALIAS cdeps) +target_include_directories(cdeps PUBLIC $ + $) +target_link_libraries(cdeps PUBLIC esmf PIO::PIO_Fortran) +list(APPEND LIB_TARGETS cdeps) ############################################################################### ### Install diff --git a/CMakeLists.txt b/CMakeLists.txt index b1a1f6ddb2..d476c8a8fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,11 +278,10 @@ if(CMEPS) endif() if(CDEPS) - add_dependencies(ufs cdeps::datm) + add_dependencies(ufs cdeps::cdeps) list(APPEND _ufs_defs_private CDEPS-interface/CDEPS FRONT_CDEPS_DATM=atm_comp_nuopc) - include_directories(${CMAKE_CURRENT_BINARY_DIR}/CDEPS-interface/CDEPS/datm) - target_link_libraries(ufs PUBLIC cdeps::datm) + target_link_libraries(ufs PUBLIC cdeps::cdeps) endif() target_compile_definitions(ufs PRIVATE "${_ufs_defs_private}") From e9210f8d2d88659cacfee98aac4f49718f974fd8 Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Tue, 1 Jun 2021 16:53:47 -0400 Subject: [PATCH 3/6] remove erroneous PRIVATE compiler definition Change-Id: I7d848f4cd91bea74b04d8b43ab1f45a1ace8cda2 --- CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d476c8a8fd..fac4eb02ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -279,8 +279,7 @@ endif() if(CDEPS) add_dependencies(ufs cdeps::cdeps) - list(APPEND _ufs_defs_private CDEPS-interface/CDEPS - FRONT_CDEPS_DATM=atm_comp_nuopc) + list(APPEND _ufs_defs_private FRONT_CDEPS_DATM=atm_comp_nuopc) target_link_libraries(ufs PUBLIC cdeps::cdeps) endif() From 28a53f4abec35b8c70d2f68d5d07a5ba80650551 Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Tue, 1 Jun 2021 17:27:34 -0400 Subject: [PATCH 4/6] cleanup rt.conf and pass directly as CMAKE_FLAGS to compile.sh Change-Id: I92025fbae25785f84abf7fa1a08bfbca901bffa6 --- build.sh | 2 -- tests/compile.sh | 76 +++++++++++++---------------------------------- tests/rt.conf | 46 ++++++++++++++-------------- tests/rt_35d.conf | 38 ++++++++++++------------ tests/rt_gnu.conf | 22 +++++++------- 5 files changed, 73 insertions(+), 111 deletions(-) diff --git a/build.sh b/build.sh index 360f58ce5b..c2124336d0 100755 --- a/build.sh +++ b/build.sh @@ -16,8 +16,6 @@ export ESMFMKFILE=${ESMFMKFILE:?"Please set ESMFMKFILE environment variable"} BUILD_DIR=${BUILD_DIR:-${UFS_MODEL_DIR}/build} mkdir -p ${BUILD_DIR} -[[ -n "${CCPP_SUITES:-""}" ]] && CMAKE_FLAGS+=" -DCCPP_SUITES=${CCPP_SUITES}" - cd ${BUILD_DIR} cmake ${UFS_MODEL_DIR} ${CMAKE_FLAGS} make -j ${BUILD_JOBS:-4} VERBOSE=${BUILD_VERBOSE:-} diff --git a/tests/compile.sh b/tests/compile.sh index 811d196fa8..2ab7e69c37 100755 --- a/tests/compile.sh +++ b/tests/compile.sh @@ -68,7 +68,7 @@ else # Load fv3 module module use $PATHTR/modulefiles modulefile="ufs_${MACHINE_ID}" - if [[ "${MAKE_OPT}" == *"DEBUG=Y"* ]]; then + if [[ "${MAKE_OPT}" == *"-DDEBUG=ON"* ]]; then [[ -f $PATHTR/modulefiles/ufs_${MACHINE_ID}_debug ]] && modulefile="ufs_${MACHINE_ID}_debug" fi module load $modulefile @@ -80,27 +80,7 @@ echo "Compiling ${MAKE_OPT} into $BUILD_NAME.exe on $MACHINE_ID" # set CMAKE_FLAGS based on $MAKE_OPT -CMAKE_FLAGS='' - -if [[ "${MAKE_OPT}" == *"DEBUG=Y"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DDEBUG=ON -DCMAKE_BUILD_TYPE=Debug" -elif [[ "${MAKE_OPT}" == *"REPRO=Y"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DREPRO=ON" -fi - -if [[ "${MAKE_OPT}" == *"32BIT=Y"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -D32BIT=ON" -fi - -if [[ "${MAKE_OPT}" == *"OPENMP=N"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DOPENMP=OFF" -fi - -if [[ "${MAKE_OPT}" == *"MULTI_GASES=Y"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DMULTI_GASES=ON" -else - CMAKE_FLAGS="${CMAKE_FLAGS} -DMULTI_GASES=OFF" -fi +CMAKE_FLAGS=$MAKE_OPT # FIXME - create CCPP include directory before building FMS to avoid # gfortran warnings of non-existent include directory (adding @@ -109,55 +89,40 @@ fi # this line can be removed once FMS becomes a pre-installed library mkdir -p $PATHTR/FV3/ccpp/include -CMAKE_FLAGS="${CMAKE_FLAGS} -DMPI=ON" +CMAKE_FLAGS+=" -DMPI=ON" -if [[ "${MAKE_OPT}" == *"DEBUG=Y"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DCMAKE_BUILD_TYPE=Debug" -elif [[ "${MAKE_OPT}" == *"REPRO=Y"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DCMAKE_BUILD_TYPE=Bitforbit" +if [[ "${MAKE_OPT}" == *"-DDEBUG=ON"* ]]; then + CMAKE_FLAGS+=" -DCMAKE_BUILD_TYPE=Debug" +elif [[ "${MAKE_OPT}" == *"-DREPRO=ON"* ]]; then + CMAKE_FLAGS+=" -DCMAKE_BUILD_TYPE=Bitforbit" else - CMAKE_FLAGS="${CMAKE_FLAGS} -DCMAKE_BUILD_TYPE=Release" + CMAKE_FLAGS+=" -DCMAKE_BUILD_TYPE=Release" if [[ "${MACHINE_ID}" == "jet.intel" ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DSIMDMULTIARCH=ON" + CMAKE_FLAGS+=" -DSIMDMULTIARCH=ON" fi fi # Check if suites argument is provided or not set +ex -TEST=$( echo $MAKE_OPT | grep -e "SUITES=" ) +TEST=$( echo $MAKE_OPT | grep -e "-DCCPP_SUITES=" ) if [[ $? -eq 0 ]]; then - CCPP_SUITES=$( echo $MAKE_OPT | sed 's/.*SUITES=//' | sed 's/ .*//' ) - echo "Compiling suites ${CCPP_SUITES}" + SUITES=$( echo $MAKE_OPT | sed 's/.*-DCCPP_SUITES=//' | sed 's/ .*//' ) + echo "Compiling suites ${SUITES}" fi set -ex # Valid applications -if [[ "${MAKE_OPT}" == *"APP=ATM"* ]]; then - echo "MAKE_OPT = ${MAKE_OPT}" - CMAKE_FLAGS="${CMAKE_FLAGS} -DAPP=ATM" -fi - -if [[ "${MAKE_OPT}" == *"APP=ATMW"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DAPP=ATMW" -fi - -if [[ "${MAKE_OPT}" == *"APP=S2S"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DAPP=S2S -DMOM6SOLO=ON" -fi - -if [[ "${MAKE_OPT}" == *"APP=S2SW"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DAPP=S2SW -DMOM6SOLO=ON" -fi -if [[ "${MAKE_OPT}" == *"APP=NG-GODAS"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DAPP=NG-GODAS" +if [[ "${MAKE_OPT}" == *"-DAPP=S2S"* ]]; then + CMAKE_FLAGS="${CMAKE_FLAGS} -DMOM6SOLO=ON" fi -if [[ "${MAKE_OPT}" == *"APP=NG-GODAS-NEMSDATM"* ]]; then - CMAKE_FLAGS="${CMAKE_FLAGS} -DAPP=NG-GODAS-NEMSDATM" +if [[ "${MAKE_OPT}" == *"-DAPP=NG-GODAS"* ]]; then + CMAKE_FLAGS="${CMAKE_FLAGS} -DMOM6SOLO=ON" fi CMAKE_FLAGS=$(trim "${CMAKE_FLAGS}") +echo "CMAKE_FLAGS = ${CMAKE_FLAGS}" if [ $clean_before = YES ] ; then rm -rf ${BUILD_DIR} @@ -166,13 +131,12 @@ fi export BUILD_VERBOSE=1 export BUILD_DIR export BUILD_JOBS -export CCPP_SUITES export CMAKE_FLAGS bash -x ${PATHTR}/build.sh mv ${BUILD_DIR}/ufs_model ${PATHTR}/tests/${BUILD_NAME}.exe -if [[ "${MAKE_OPT}" == "DEBUG=Y" ]]; then +if [[ "${MAKE_OPT}" == "-DDEBUG=ON" ]]; then cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID}_debug ${PATHTR}/tests/modules.${BUILD_NAME} else cp ${PATHTR}/modulefiles/ufs_${MACHINE_ID} ${PATHTR}/tests/modules.${BUILD_NAME} @@ -183,5 +147,5 @@ if [ $clean_after = YES ] ; then fi elapsed=$SECONDS -echo "Elapsed time $elapsed seconds. Compiling ${MAKE_OPT} finished" -echo "Compile ${COMPILE_NR/#_} elapsed time $elapsed seconds. ${MAKE_OPT}" > compile${COMPILE_NR}_time.log +echo "Elapsed time $elapsed seconds. Compiling ${CMAKE_FLAGS} finished" +echo "Compile ${COMPILE_NR/#_} elapsed time $elapsed seconds. ${CMAKE_FLAGS}" > compile${COMPILE_NR}_time.log diff --git a/tests/rt.conf b/tests/rt.conf index 3daf5f35d7..dbf1ab3826 100644 --- a/tests/rt.conf +++ b/tests/rt.conf @@ -2,7 +2,7 @@ # CPLD tests # ################################################################################################################################################################################### -COMPILE | APP=S2S SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_couplednsst | - wcoss_cray | fv3 | +COMPILE | -DAPP=S2S -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_couplednsst | - wcoss_cray | fv3 | RUN | cpld_control | - wcoss_cray | fv3 | RUN | cpld_restart | - wcoss_cray | | cpld_control RUN | cpld_controlfrac | - wcoss_cray | fv3 | @@ -35,14 +35,14 @@ RUN | cpld_bmarkfrac_v16 RUN | cpld_bmarkfrac_v16_nsst | - wcoss_cray | fv3 | RUN | cpld_restart_bmarkfrac_v16 | - wcoss_cray | | cpld_bmarkfrac_v16 -COMPILE | APP=S2SW SUITES=FV3_GFS_2017_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_coupled_noahmp | - wcoss_cray | fv3 | +COMPILE | -DAPP=S2SW -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_coupled_noahmp | - wcoss_cray | fv3 | RUN | cpld_bmark_wave | - wcoss_cray | fv3 | RUN | cpld_bmarkfrac_wave | - wcoss_cray | fv3 | RUN | cpld_bmarkfrac_wave_v16 | - wcoss_cray | fv3 | RUN | cpld_bmarkfrac_wave_v16_noahmp | - wcoss_cray | fv3 | RUN | cpld_control_wave | - wcoss_cray | fv3 | -COMPILE | APP=S2S DEBUG=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled | - wcoss_cray | fv3 | +COMPILE | -DAPP=S2S -DDEBUG=ON -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled | - wcoss_cray | fv3 | RUN | cpld_debug | - wcoss_cray | fv3 | RUN | cpld_debugfrac | - wcoss_cray | fv3 | @@ -50,7 +50,7 @@ RUN | cpld_debugfrac # PROD tests # ################################################################################################################################################################################### -COMPILE | APP=ATM SUITES=FV3_GFS_2017 | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017 | | fv3 | RUN | fv3_control | | fv3 | RUN | fv3_decomp | - jet.intel | | @@ -71,15 +71,15 @@ RUN | fv3_iau RUN | fv3_lheatstrg | | fv3 | # Run multigases test in REPRO mode to avoid numerical instability in the deep atmosphere -COMPILE | APP=ATM SUITES=FV3_GFS_2017_fv3wam 32BIT=Y MULTI_GASES=Y REPRO=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_fv3wam -D32BIT=ON -DMULTI_GASES=ON -DREPRO=ON | | fv3 | RUN | fv3_multigases | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_2017,FV3_GFS_2017_stretched 32BIT=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017,FV3_GFS_2017_stretched -D32BIT=ON | | fv3 | RUN | fv3_control_32bit | | fv3 | RUN | fv3_stretched | | fv3 | RUN | fv3_stretched_nest | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_v15_thompson_mynn,FV3_GFS_v15_thompson_mynn_RRTMGP 32BIT=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v15_thompson_mynn,FV3_GFS_v15_thompson_mynn_RRTMGP -D32BIT=ON | | fv3 | RUN | fv3_regional_control | | fv3 | RUN | fv3_regional_restart | | fv3 | fv3_regional_control RUN | fv3_regional_quilt | | fv3 | @@ -92,19 +92,19 @@ RUN | fv3_regional_quilt_RRTMGP #RUN | fv3_regional_c768 | jet.intel | fv3 | #RUN | fv3_regional_c768 | orion.intel | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_2017_gfdlmp,FV3_GFS_2017_gfdlmp_noahmp | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_gfdlmp,FV3_GFS_2017_gfdlmp_noahmp | | fv3 | RUN | fv3_gfdlmp | | fv3 | RUN | fv3_gfdlmprad_gwd | | fv3 | RUN | fv3_gfdlmprad_noahmp | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_2017_csawmgshoc,FV3_GFS_2017_csawmg,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_csawmgshoc,FV3_GFS_2017_csawmg,FV3_GFS_2017_satmedmf,FV3_GFS_2017_satmedmfq | | fv3 | #RUN | fv3_csawmgshoc | | fv3 | #RUN | fv3_csawmg3shoc127 | | fv3 | RUN | fv3_csawmg | | fv3 | RUN | fv3_satmedmf | | fv3 | RUN | fv3_satmedmfq | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_2017_gfdlmp,FV3_CPT_v0,FV3_GSD_v0,FV3_GFS_v16_thompson,FV3_RAP,FV3_HRRR,FV3_RRFS_v1beta,FV3_RRFS_v1alpha 32BIT=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_gfdlmp,FV3_CPT_v0,FV3_GSD_v0,FV3_GFS_v16_thompson,FV3_RAP,FV3_HRRR,FV3_RRFS_v1beta,FV3_RRFS_v1alpha -D32BIT=ON | | fv3 | RUN | fv3_gfdlmp_32bit | | fv3 | RUN | fv3_gfdlmprad_32bit_post | | fv3 | RUN | fv3_cpt | | fv3 | @@ -118,7 +118,7 @@ RUN | fv3_thompson_no_aero # This test crashes with NaNs on jet.intel RUN | fv3_rrfs_v1beta | - jet.intel | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_v16,FV3_GFS_v16_RRTMGP | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_RRTMGP | | fv3 | RUN | fv3_gfs_v16 | | fv3 | RUN | fv3_gfs_v16_restart | | | fv3_gfs_v16 RUN | fv3_gfs_v16_stochy | | fv3 | @@ -126,16 +126,16 @@ RUN | fv3_gfs_v16_RRTMGP #RUN | fv3_gfs_v16_RRTMGP_c192L127 | | fv3 | #RUN | fv3_gfs_v16_RRTMGP_2thrd | | | -COMPILE | APP=ATM SUITES=FV3_GFS_v16_csawmg | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16_csawmg | | fv3 | # fv3_gfsv16_csawmg crashes with a "bus error" on cheyenne.intel, turn off both tests RUN | fv3_gfsv16_csawmg | - cheyenne.intel | fv3 | RUN | fv3_gfsv16_csawmgt | - cheyenne.intel | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_2017_gfdlmp,FV3_GFS_2017_gfdlmp_noahmp,FV3_GFS_v16_flake | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_gfdlmp,FV3_GFS_2017_gfdlmp_noahmp,FV3_GFS_v16_flake | | fv3 | RUN | fv3_gocart_clm | | fv3 | RUN | fv3_gfs_v16_flake | | fv3 | -COMPILE | APP=ATM SUITES=HAFS_v0_hwrf_thompson,HAFS_v0_hwrf,FV3_GFS_v16_ugwpv1,FV3_GFS_v16_ras | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=HAFS_v0_hwrf_thompson,HAFS_v0_hwrf,FV3_GFS_v16_ugwpv1,FV3_GFS_v16_ras | | fv3 | RUN | fv3_HAFS_v0_hwrf_thompson | | fv3 | #RUN | fv3_HAFS_v0_hwrf | | fv3 | RUN | fv3_esg_HAFS_v0_hwrf_thompson | | fv3 | @@ -146,11 +146,11 @@ RUN | fv3_gfs_v16_ras # DEBUG tests # ################################################################################################################################################################################### -COMPILE | APP=ATM DEBUG=Y SUITES=FV3_GFS_v16,FV3_GFS_v16_RRTMGP | | fv3 | +COMPILE | -DAPP=ATM -DDEBUG=ON -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_RRTMGP | | fv3 | RUN | fv3_gfs_v16_debug | | fv3 | RUN | fv3_gfs_v16_RRTMGP_debug | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_v15_thompson_mynn,FV3_GFS_2017,FV3_GFS_2017_stretched,FV3_GSD_v0,FV3_GFS_v16_thompson,FV3_RRFS_v1beta,FV3_RRFS_v1alpha 32BIT=Y DEBUG=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v15_thompson_mynn,FV3_GFS_2017,FV3_GFS_2017_stretched,FV3_GSD_v0,FV3_GFS_v16_thompson,FV3_RRFS_v1beta,FV3_RRFS_v1alpha -D32BIT=ON -DDEBUG=ON | | fv3 | RUN | fv3_regional_control_debug | | fv3 | RUN | fv3_control_debug | | fv3 | RUN | fv3_stretched_nest_debug | | fv3 | @@ -161,21 +161,21 @@ RUN | fv3_thompson_no_aero_debug RUN | fv3_rrfs_v1beta_debug | | fv3 | RUN | fv3_rrfs_v1alpha_debug | | fv3 | -COMPILE | APP=ATM SUITES=HAFS_v0_hwrf_thompson,HAFS_v0_hwrf,FV3_GFS_v16_ugwpv1,FV3_GFS_v16_ras DEBUG=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=HAFS_v0_hwrf_thompson,HAFS_v0_hwrf,FV3_GFS_v16_ugwpv1,FV3_GFS_v16_ras -DDEBUG=ON | | fv3 | RUN | fv3_HAFS_v0_hwrf_thompson_debug | | fv3 | #RUN | fv3_HAFS_v0_hwrf_debug | | fv3 | RUN | fv3_esg_HAFS_v0_hwrf_thompson_debug | | fv3 | RUN | fv3_gfsv16_ugwpv1_debug | | fv3 | RUN | fv3_gfs_v16_ras_debug | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_2017_fv3wam 32BIT=Y MULTI_GASES=Y DEBUG=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_fv3wam -D32BIT=ON -DMULTI_GASES=ON -DDEBUG=ON | | fv3 | RUN | fv3_multigases_debug | | fv3 | ################################################################################################################################################################################### # NEMS Data Atmosphere tests # ################################################################################################################################################################################### -COMPILE | APP=NG-GODAS-NEMSDATM | - wcoss_cray | fv3 | +COMPILE | -DAPP=NG-GODAS-NEMSDATM | - wcoss_cray | fv3 | RUN | datm_control_cfsr | - wcoss_cray | fv3 | RUN | datm_restart_cfsr | - wcoss_cray | | datm_control_cfsr RUN | datm_control_gefs | - wcoss_cray | fv3 | @@ -186,14 +186,14 @@ RUN | datm_bulk_gefs RUN | datm_mx025_cfsr | - wcoss_cray gaea.intel | fv3 | RUN | datm_mx025_gefs | - wcoss_cray | fv3 | -COMPILE | APP=NG-GODAS-NEMSDATM DEBUG=Y | - wcoss_cray | fv3 | +COMPILE | -DAPP=NG-GODAS-NEMSDATM -DDEBUG=ON | - wcoss_cray | fv3 | RUN | datm_debug_cfsr | - wcoss_cray | fv3 | ################################################################################################################################################################################### # CDEPS Data Atmosphere tests # ################################################################################################################################################################################### -COMPILE | APP=NG-GODAS | - wcoss_cray | fv3 | +COMPILE | -DAPP=NG-GODAS | - wcoss_cray | fv3 | RUN | datm_cdeps_control_cfsr | - wcoss_cray | fv3 | RUN | datm_cdeps_restart_cfsr | - wcoss_cray | | datm_cdeps_control_cfsr RUN | datm_cdeps_control_gefs | - wcoss_cray | fv3 | @@ -206,14 +206,14 @@ RUN | datm_cdeps_mx025_gefs RUN | datm_cdeps_multiple_files_cfsr | - wcoss_cray | | -COMPILE | APP=NG-GODAS DEBUG=Y | - wcoss_cray | fv3 | +COMPILE | -DAPP=NG-GODAS -DDEBUG=ON | - wcoss_cray | fv3 | RUN | datm_cdeps_debug_cfsr | - wcoss_cray | fv3 | ################################################################################################################################################################################### # ATM-WAV tests # ################################################################################################################################################################################### -COMPILE | APP=ATMW SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp | - wcoss_cray | fv3 | +COMPILE | -DAPP=ATMW -DCCPP_SUITES=FV3_GFS_2017,FV3_GFS_2017_gfdlmp | - wcoss_cray | fv3 | RUN | fv3_gfdlmprad | - wcoss_cray | fv3 | RUN | fv3_gfdlmprad_atmwav | - wcoss_cray | fv3 | RUN | fv3_wrtGauss_nemsio_c768 | + hera.intel | fv3 | diff --git a/tests/rt_35d.conf b/tests/rt_35d.conf index 685998a3d4..33c75ea371 100644 --- a/tests/rt_35d.conf +++ b/tests/rt_35d.conf @@ -1,23 +1,23 @@ ############################################################################################################################################################################### -# CPLD Benchmark 35d tests # +# CPLD Benchmark 35d tests # ############################################################################################################################################################################### -COMPILE | APP=S2SW SUITES=FV3_GFS_v16_coupled,FV3_GFS_v16_coupled_noahmp,FV3_GFS_v16_coupled_nsstNoahmp | + hera.intel orion.intel | fv3 | | -#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2012010100 -#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2012040100 -#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2012070100 -#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2012100100 -#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2013010100 -#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2013040100 -#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2013070100 -#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2013100100 +COMPILE | -DAPP=S2SW -DCCPP_SUITES=FV3_GFS_v16_coupled,FV3_GFS_v16_coupled_noahmp,FV3_GFS_v16_coupled_nsstNoahmp | + hera.intel orion.intel | fv3 | | +#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2012010100 +#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2012040100 +#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2012070100 +#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2012100100 +#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2013010100 +#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2013040100 +#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2013070100 +#RUN | cpld_bmarkfrac_wave_v16_35d | | fv3 | | 2013100100 -COMPILE | APP=S2SW SUITES=FV3_GFS_v16_coupled,FV3_GFS_v16_coupled_noahmp,FV3_GFS_v16_coupled_nsstNoahmp | + hera.intel orion.intel +gaea.intel | fv3 | | -RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2012010100 -RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2012040100 -RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2012070100 -RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2012100100 -RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2013010100 -RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2013040100 -RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2013070100 -RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2013100100 +COMPILE | -DAPP=S2SW -DCCPP_SUITES=FV3_GFS_v16_coupled,FV3_GFS_v16_coupled_noahmp,FV3_GFS_v16_coupled_nsstNoahmp | + hera.intel orion.intel +gaea.intel | fv3 | | +RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2012010100 +RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2012040100 +RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2012070100 +RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2012100100 +RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2013010100 +RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2013040100 +RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2013070100 +RUN | cpld_bmarkfrac_wave_v16_noahmp_35d | | fv3 | | 2013100100 diff --git a/tests/rt_gnu.conf b/tests/rt_gnu.conf index 820a84ab2b..4567c1e381 100644 --- a/tests/rt_gnu.conf +++ b/tests/rt_gnu.conf @@ -2,24 +2,24 @@ # CCPP PROD tests # ################################################################################################################################################################## -COMPILE | APP=ATM SUITES=FV3_GFS_2017_gfdlmp | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_gfdlmp | | fv3 | RUN | fv3_gfdlmp | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_v15p2,FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v16_RRTMGP | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v15p2,FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v16_RRTMGP | | fv3 | RUN | fv3_gfs_v16 | | fv3 | RUN | fv3_gfs_v16_restart | | | fv3_gfs_v16 RUN | fv3_gfs_v16_stochy | | fv3 | RUN | fv3_gfs_v16_flake | | fv3 | RUN | fv3_gfs_v16_RRTMGP | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GSD_v0,FV3_GFS_v16_thompson,FV3_RRFS_v1alpha,FV3_RRFS_v1beta 32BIT=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GSD_v0,FV3_GFS_v16_thompson,FV3_RRFS_v1alpha,FV3_RRFS_v1beta -D32BIT=ON | | fv3 | RUN | fv3_gsd | | fv3 | RUN | fv3_thompson | | fv3 | RUN | fv3_thompson_no_aero | | fv3 | RUN | fv3_rrfs_v1alpha | | fv3 | RUN | fv3_rrfs_v1beta | | fv3 | -COMPILE | APP=ATM SUITES=HAFS_v0_hwrf_thompson,HAFS_v0_hwrf,FV3_GFS_v16_ugwpv1,FV3_GFS_v16_ras | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=HAFS_v0_hwrf_thompson,HAFS_v0_hwrf,FV3_GFS_v16_ugwpv1,FV3_GFS_v16_ras | | fv3 | RUN | fv3_HAFS_v0_hwrf_thompson | | fv3 | #RUN | fv3_HAFS_v0_hwrf | | fv3 | RUN | fv3_esg_HAFS_v0_hwrf_thompson | | fv3 | @@ -27,7 +27,7 @@ RUN | fv3_gfsv16_ugwpv1 RUN | fv3_gfs_v16_ras | | fv3 | # This crashes with 'NaN in input field of mpp_reproducing_sum(_2d)' after 64 time steps -#COMPILE | APP=ATM SUITES=FV3_GFS_2017_fv3wam 32BIT=Y MULTI_GASES=Y | | fv3 | +#COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_fv3wam -D32BIT=ON -DMULTI_GASES=ON | | fv3 | #RUN | fv3_multigases | | fv3 | ################################################################################################################################################################## @@ -35,7 +35,7 @@ RUN | fv3_gfs_v16_ras ################################################################################################################################################################## # Exercise compilation without specifying suites (i.e. compile all suites) in DEBUG mode (faster than in PROD mode) -COMPILE | APP=ATM 32BIT=Y DEBUG=Y | | fv3 | +COMPILE | -DAPP=ATM -D32BIT=ON -DDEBUG=ON | | fv3 | RUN | fv3_control_debug | | fv3 | RUN | fv3_regional_control_debug | | fv3 | RUN | fv3_rrfs_v1alpha_debug | | fv3 | @@ -44,29 +44,29 @@ RUN | fv3_gsd_debug RUN | fv3_thompson_debug | | fv3 | RUN | fv3_thompson_no_aero_debug | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_v15p2,FV3_GFS_v16,FV3_GFS_v16_RRTMGP DEBUG=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v15p2,FV3_GFS_v16,FV3_GFS_v16_RRTMGP -DDEBUG=ON | | fv3 | RUN | fv3_gfs_v15p2_debug | | fv3 | RUN | fv3_gfs_v16_debug | | fv3 | RUN | fv3_gfs_v16_RRTMGP_debug | | fv3 | -COMPILE | APP=ATM SUITES=HAFS_v0_hwrf_thompson,HAFS_v0_hwrf,FV3_GFS_v16_ugwpv1,FV3_GFS_v16_ras DEBUG=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=HAFS_v0_hwrf_thompson,HAFS_v0_hwrf,FV3_GFS_v16_ugwpv1,FV3_GFS_v16_ras -DDEBUG=ON | | fv3 | RUN | fv3_HAFS_v0_hwrf_thompson_debug | | fv3 | #RUN | fv3_HAFS_v0_hwrf_debug | | fv3 | RUN | fv3_esg_HAFS_v0_hwrf_thompson_debug | | fv3 | RUN | fv3_gfsv16_ugwpv1_debug | | fv3 | RUN | fv3_gfs_v16_ras_debug | | fv3 | -COMPILE | APP=ATM SUITES=FV3_GFS_2017_fv3wam 32BIT=Y MULTI_GASES=Y DEBUG=Y | | fv3 | +COMPILE | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_2017_fv3wam -D32BIT=ON -DMULTI_GASES=ON -DDEBUG=ON | | fv3 | RUN | fv3_multigases_debug | | fv3 | ################################################################################################################################################################## # S2S tests # ################################################################################################################################################################## -COMPILE | APP=S2S SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled | | fv3 | +COMPILE | -DAPP=S2S -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled | | fv3 | ################################################################################################################################################################## # Data Atmosphere tests # ################################################################################################################################################################## -COMPILE | APP=NG-GODAS-NEMSDATM | | fv3 | +COMPILE | -DAPP=NG-GODAS-NEMSDATM | | fv3 | From 0905841eda9667ca505228b75a97ba076d265b71 Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Wed, 2 Jun 2021 13:15:25 -0400 Subject: [PATCH 5/6] fix rt.sh following reviewer comments Change-Id: I9619f724e12e36607ea84a009134e9997d9bddf0 --- tests/rt.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/rt.sh b/tests/rt.sh index d4872f5f3d..95a3795794 100755 --- a/tests/rt.sh +++ b/tests/rt.sh @@ -632,7 +632,7 @@ EOF # Set RT_SUFFIX (regression test run directories and log files) and BL_SUFFIX # (regression test baseline directories) for REPRO or PROD runs - if [[ ${MAKE_OPT^^} =~ "REPRO=Y" ]]; then + if [[ ${MAKE_OPT^^} =~ "-DREPRO=ON" ]]; then RT_SUFFIX="_repro" BL_SUFFIX="_repro" else @@ -640,7 +640,7 @@ EOF BL_SUFFIX="" fi - if [[ ${MAKE_OPT^^} =~ "WW3=Y" ]]; then + if [[ ${MAKE_OPT^^} =~ "-DAPP=ATMW" ]] || [[ ${MAKE_OPT^^} =~ "-DAPP=S2SW" ]]; then COMPILE_PREV_WW3_NR=${COMPILE_NR} fi From 9c35a0a8094c308cd150d74c529174aa5170a4c7 Mon Sep 17 00:00:00 2001 From: Rahul Mahajan Date: Wed, 2 Jun 2021 14:00:49 -0400 Subject: [PATCH 6/6] revert CDEPS changes to develop Change-Id: Ide8e962ffc1f1304c042bb79907789442180338f --- CDEPS-interface/CMakeLists.txt | 131 ++++++++++++++++++--------------- CMakeLists.txt | 8 +- 2 files changed, 76 insertions(+), 63 deletions(-) diff --git a/CDEPS-interface/CMakeLists.txt b/CDEPS-interface/CMakeLists.txt index 2874fa20a7..cc52a64435 100644 --- a/CDEPS-interface/CMakeLists.txt +++ b/CDEPS-interface/CMakeLists.txt @@ -16,92 +16,103 @@ endif() include("cdeps_files.cmake") # CDEPS/share -add_library(share OBJECT ${cdeps_share_files} ${ufs_cdeps_share_files}) +add_library(share STATIC ${cdeps_share_files} ${ufs_cdeps_share_files}) +add_library(cdeps::share ALIAS share) set_target_properties(share PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) target_include_directories(share PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/ufs/cdeps_share) -target_include_directories(share PRIVATE $) -target_link_libraries(share PRIVATE esmf) +target_include_directories(share PUBLIC $ + $) +target_link_libraries(share PUBLIC esmf) +list(APPEND LIB_TARGETS share) # CDEPS/streams -add_library(streams OBJECT ${cdeps_streams_files}) -add_dependencies(streams share) +add_library(streams STATIC ${cdeps_streams_files}) +add_library(cdeps::streams ALIAS streams) +add_dependencies(streams cdeps::share) set_target_properties(streams PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(streams PRIVATE $) -target_compile_definitions(streams PRIVATE "DISABLE_FoX") -target_link_libraries(streams PRIVATE share) -target_link_libraries(streams PRIVATE esmf PIO::PIO_Fortran) +target_include_directories(streams PUBLIC $ + $) +target_compile_definitions(streams PUBLIC "DISABLE_FoX") +target_link_libraries(streams PUBLIC cdeps::share) +target_link_libraries(streams PUBLIC esmf PIO::PIO_Fortran) +list(APPEND LIB_TARGETS streams) # CDEPS/dshr -add_library(dshr OBJECT ${cdeps_dshr_files}) -add_dependencies(dshr share streams) +add_library(dshr STATIC ${cdeps_dshr_files}) +add_library(cdeps::dshr ALIAS dshr) +add_dependencies(dshr cdeps::share cdeps::streams) set_target_properties(dshr PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(dshr PRIVATE $) -target_link_libraries(dshr PRIVATE share streams) -target_link_libraries(dshr PRIVATE esmf PIO::PIO_Fortran) +target_include_directories(dshr PUBLIC $ + $) +target_link_libraries(dshr PUBLIC cdeps::share cdeps::streams) +target_link_libraries(dshr PUBLIC esmf PIO::PIO_Fortran) +list(APPEND LIB_TARGETS dshr) # CDEPS/datm -add_library(datm OBJECT ${cdeps_datm_files}) -add_dependencies(datm share streams dshr) +add_library(datm STATIC ${cdeps_datm_files}) +add_library(cdeps::datm ALIAS datm) +add_dependencies(datm cdeps::share cdeps::streams cdeps::dshr) set_target_properties(datm PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(datm PRIVATE $) -target_link_libraries(datm PRIVATE dshr share streams) -target_link_libraries(datm PRIVATE esmf PIO::PIO_Fortran) +target_include_directories(datm PUBLIC $ + $) +target_link_libraries(datm PUBLIC cdeps::dshr cdeps::share cdeps::streams) +target_link_libraries(datm PUBLIC esmf PIO::PIO_Fortran) +list(APPEND LIB_TARGETS datm) # CDEPS/dice -add_library(dice OBJECT ${cdeps_dice_files}) -add_dependencies(dice share streams dshr) +add_library(dice STATIC ${cdeps_dice_files}) +add_library(cdeps::dice ALIAS dice) +add_dependencies(dice cdeps::share cdeps::streams cdeps::dshr) set_target_properties(dice PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(dice PRIVATE $) -target_link_libraries(dice PRIVATE dshr share streams) -target_link_libraries(dice PRIVATE esmf) +target_include_directories(dice PUBLIC $ + $) +target_link_libraries(dice PUBLIC cdeps::dshr cdeps::share cdeps::streams) +target_link_libraries(dice PUBLIC esmf) +list(APPEND LIB_TARGETS dice) # CDEPS/dlnd -add_library(dlnd OBJECT ${cdeps_dlnd_files}) -add_dependencies(dlnd share streams dshr) +add_library(dlnd STATIC ${cdeps_dlnd_files}) +add_library(cdeps::dlnd ALIAS dlnd) +add_dependencies(dlnd cdeps::share cdeps::streams cdeps::dshr) set_target_properties(dlnd PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(dlnd PRIVATE $) -target_link_libraries(dlnd PRIVATE dshr share streams) -target_link_libraries(dlnd PRIVATE esmf) +target_include_directories(dlnd PUBLIC $ + $) +target_link_libraries(dlnd PUBLIC cdeps::dshr cdeps::share cdeps::streams) +target_link_libraries(dlnd PUBLIC esmf) +list(APPEND LIB_TARGETS dlnd) # CDEPS/docn -add_library(docn OBJECT ${cdeps_docn_files}) -add_dependencies(docn share streams dshr) +add_library(docn STATIC ${cdeps_docn_files}) +add_library(cdeps::docn ALIAS docn) +add_dependencies(docn cdeps::share cdeps::streams cdeps::dshr) set_target_properties(docn PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(docn PRIVATE $) -target_link_libraries(docn PRIVATE dshr share streams) -target_link_libraries(docn PRIVATE esmf) +target_include_directories(docn PUBLIC $ + $) +target_link_libraries(docn PUBLIC cdeps::dshr cdeps::share cdeps::streams) +target_link_libraries(docn PUBLIC esmf) +list(APPEND LIB_TARGETS docn) # CDEPS/drof -add_library(drof OBJECT ${cdeps_drof_files}) -add_dependencies(drof share streams dshr) +add_library(drof STATIC ${cdeps_drof_files}) +add_library(cdeps::drof ALIAS drof) +add_dependencies(drof cdeps::share cdeps::streams cdeps::dshr) set_target_properties(drof PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(drof PRIVATE $) -target_link_libraries(drof PRIVATE dshr share streams) -target_link_libraries(drof PRIVATE esmf) +target_include_directories(drof PUBLIC $ + $) +target_link_libraries(drof PUBLIC cdeps::dshr cdeps::share cdeps::streams) +target_link_libraries(drof PUBLIC esmf) +list(APPEND LIB_TARGETS drof) # CDEPS/dwav -add_library(dwav OBJECT ${cdeps_dwav_files}) -add_dependencies(dwav share streams dshr) +add_library(dwav STATIC ${cdeps_dwav_files}) +add_library(cdeps::dwav ALIAS dwav) +add_dependencies(dwav cdeps::share cdeps::streams cdeps::dshr) set_target_properties(dwav PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) -target_include_directories(dwav PRIVATE $) -target_link_libraries(dwav PRIVATE dshr share streams) -target_link_libraries(dwav PRIVATE esmf) - -# CDEPS -add_library(cdeps STATIC $ - $ - $ - $ - $ - $ - $ - $ - $) -add_library(cdeps::cdeps ALIAS cdeps) -target_include_directories(cdeps PUBLIC $ - $) -target_link_libraries(cdeps PUBLIC esmf PIO::PIO_Fortran) -list(APPEND LIB_TARGETS cdeps) +target_include_directories(dwav PUBLIC $ + $) +target_link_libraries(dwav PUBLIC cdeps::dshr cdeps::share cdeps::streams) +target_link_libraries(dwav PUBLIC esmf) +list(APPEND LIB_TARGETS dwav) ############################################################################### ### Install diff --git a/CMakeLists.txt b/CMakeLists.txt index fac4eb02ef..b1a1f6ddb2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,9 +278,11 @@ if(CMEPS) endif() if(CDEPS) - add_dependencies(ufs cdeps::cdeps) - list(APPEND _ufs_defs_private FRONT_CDEPS_DATM=atm_comp_nuopc) - target_link_libraries(ufs PUBLIC cdeps::cdeps) + add_dependencies(ufs cdeps::datm) + list(APPEND _ufs_defs_private CDEPS-interface/CDEPS + FRONT_CDEPS_DATM=atm_comp_nuopc) + include_directories(${CMAKE_CURRENT_BINARY_DIR}/CDEPS-interface/CDEPS/datm) + target_link_libraries(ufs PUBLIC cdeps::datm) endif() target_compile_definitions(ufs PRIVATE "${_ufs_defs_private}")