Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMAKE for WW3 #1089

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
18d6daa
Use WW3 CMake build
kgerheiser Jan 20, 2022
02636e6
Merge branch 'ww3-cmake-build' of github.com:kgerheiser/ufs-weather-m…
kgerheiser Jan 20, 2022
7a5ae43
Set WW3 variables as cache vars
kgerheiser Jan 20, 2022
365a2ee
Don't force cache when passing options to WW3
kgerheiser Jan 20, 2022
033bf21
Merge remote-tracking branch 'UFS/develop' into feature/ww3-cmake
JessicaMeixner-NOAA Feb 23, 2022
297221e
point to updated cmake branch for WW3
JessicaMeixner-NOAA Feb 23, 2022
d07e9da
update orion module file
JessicaMeixner-NOAA Feb 23, 2022
50f071b
update WW3 to point to develop
JessicaMeixner-NOAA Feb 25, 2022
348e770
update WW3, gaea logs
JessicaMeixner-NOAA Feb 28, 2022
706af74
add wave tests
JessicaMeixner-NOAA Feb 28, 2022
e9984e2
orion log
JessicaMeixner-NOAA Feb 28, 2022
0192be8
hera log
JessicaMeixner-NOAA Feb 28, 2022
0ea8882
no longer need one build of WW3 at a time
JessicaMeixner-NOAA Feb 28, 2022
895a69f
update WW3
JessicaMeixner-NOAA Mar 4, 2022
4ecccd2
Merge remote-tracking branch 'UFS/develop' into feature/ww3-cmake
JessicaMeixner-NOAA Mar 4, 2022
3f4baae
dell logs
JessicaMeixner-NOAA Mar 5, 2022
2ef38d2
remove temporary file
JessicaMeixner-NOAA Mar 8, 2022
8b1a94a
update WW3
JessicaMeixner-NOAA Mar 8, 2022
87b2756
updates suggested by Dusan
JessicaMeixner-NOAA Mar 8, 2022
ebafc42
Merge remote-tracking branch 'UFS/develop' into feature/ww3-cmake
JessicaMeixner-NOAA Mar 10, 2022
c3e9b4d
Merge remote-tracking branch 'UFS/develop' into feature/ww3-cmake
JessicaMeixner-NOAA Mar 11, 2022
557b4d6
update cheyenne cmake module
JessicaMeixner-NOAA Mar 14, 2022
cdaa26d
remove comment
JessicaMeixner-NOAA Mar 14, 2022
944fe7e
remove COMPILE_PREV_WW3_NR variable
JessicaMeixner-NOAA Mar 14, 2022
b2683df
Merge remote-tracking branch 'UFS/develop' into feature/ww3-cmake
JessicaMeixner-NOAA Mar 14, 2022
99d7217
wcoss cray log
JessicaMeixner-NOAA Mar 14, 2022
2d9fb80
[AutoRT] cheyenne.gnu Job Completed.
BrianCurtis-NOAA Mar 14, 2022
d429a87
[AutoRT] hera.gnu Job Completed.
BrianCurtis-NOAA Mar 14, 2022
937995f
[AutoRT] hera.intel Job Completed.
BrianCurtis-NOAA Mar 14, 2022
7a8c33b
[AutoRT] cheyenne.intel Job Completed.
BrianCurtis-NOAA Mar 14, 2022
dcb9c33
[AutoRT] jet.intel Job Completed.
BrianCurtis-NOAA Mar 15, 2022
0128452
[AutoRT] orion.intel Job Completed.
BrianCurtis-NOAA Mar 15, 2022
cd12a62
wcoss dell log
JessicaMeixner-NOAA Mar 15, 2022
31e7e60
[AutoRT] gaea.intel Job Completed.
BrianCurtis-NOAA Mar 15, 2022
f0d0f36
fix WW3 git history
JessicaMeixner-NOAA Mar 15, 2022
ef0bf42
[AutoRT] cheyenne.gnu Job Completed.
BrianCurtis-NOAA Mar 15, 2022
b0d016e
[AutoRT] orion.intel Job Completed.
BrianCurtis-NOAA Mar 15, 2022
b47afcb
[AutoRT] gaea.intel Job Completed.
BrianCurtis-NOAA Mar 15, 2022
6793c2d
wcoss cray log
JessicaMeixner-NOAA Mar 15, 2022
85a58ee
wcoss dell log
JessicaMeixner-NOAA Mar 15, 2022
aeff388
add jet_intel log
DeniseWorthen Mar 15, 2022
a2732d4
[AutoRT] hera.gnu Job Completed.
BrianCurtis-NOAA Mar 16, 2022
45cf949
[AutoRT] hera.intel Job Completed.
BrianCurtis-NOAA Mar 16, 2022
3f97a4b
[AutoRT] cheyenne.intel Job Completed.
BrianCurtis-NOAA Mar 16, 2022
149ecbb
update WW3 submodule
JessicaMeixner-NOAA Mar 16, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 5 additions & 24 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -155,27 +155,10 @@ endif()
### Wave components [WW3]
###############################################################################
if(WW3)
if(CMAKE_Platform)
if(${CMAKE_Platform} MATCHES "linux*" OR ${CMAKE_Platform} MATCHES "macosx*")
if (CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(WW3_COMP "gnu")
elseif (CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
set(WW3_COMP "intel")
endif()
else()
set(WW3_COMP ${CMAKE_Platform})
endif()
endif()
message("Build WW3:")
message(" run: ${CMAKE_BUILD_TOOL} WW3_PARCOMPN=4 WW3_COMP=${WW3_COMP} ww3_nemslibonly")
message(" in: ${CMAKE_CURRENT_SOURCE_DIR}/WW3/model/esmf")
message("")

add_custom_target(ww3_nems
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/WW3/model/esmf
COMMAND ${CMAKE_BUILD_TOOL} WW3_PARCOMPN=4 WW3_COMP=${WW3_COMP} ww3_nemslibonly > ${CMAKE_CURRENT_BINARY_DIR}/ww3_make.log 2>&1)

set(WW3_LIBS ${CMAKE_CURRENT_SOURCE_DIR}/WW3/model/obj/libww3_multi_esmf.a)
# Set options for WW3 build
set(SWITCH "multi_esmf" CACHE STRING "Default to switch_multi_esmf")
set(MULTI_ESMF ON CACHE BOOL "Enable ESMF for WW3")
DusanJovic-NOAA marked this conversation as resolved.
Show resolved Hide resolved
add_subdirectory(WW3)
endif()

###############################################################################
Expand Down Expand Up @@ -227,10 +210,8 @@ if(UFS_GOCART)
endif()

if(WW3)
add_dependencies(ufs ww3_nems)
list(APPEND _ufs_defs_private FRONT_WW3=WMESMFMD)
target_include_directories(ufs PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/WW3/model/mod)
list(APPEND _ufs_libs_public ${WW3_LIBS})
target_link_libraries(ufs PUBLIC WW3::WW3)
endif()

list(APPEND _ufs_libs_public esmf)
Expand Down
2 changes: 1 addition & 1 deletion WW3
Submodule WW3 updated 168 files
2 changes: 1 addition & 1 deletion modulefiles/ufs_cheyenne.gnu
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ proc ModulesHelp {} {

module-whatis "loads UFS Model prerequisites for Cheyenne/GNU"

module load cmake/3.18.2
module load cmake/3.22.0
module load python/3.7.9

# load programming environment
Expand Down
2 changes: 1 addition & 1 deletion modulefiles/ufs_cheyenne.gnu_debug
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ proc ModulesHelp {} {

module-whatis "loads UFS Model prerequisites for Cheyenne/GNU"

module load cmake/3.18.2
module load cmake/3.22.0
module load python/3.7.9

# load programming environment
Expand Down
2 changes: 1 addition & 1 deletion modulefiles/ufs_cheyenne.intel
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ proc ModulesHelp {} {

module-whatis "loads UFS Model prerequisites for Cheyenne/Intel"

module load cmake/3.18.2
module load cmake/3.22.0
module load python/3.7.9

# load programming environment
Expand Down
2 changes: 1 addition & 1 deletion modulefiles/ufs_cheyenne.intel_debug
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ proc ModulesHelp {} {

module-whatis "loads UFS Model prerequisites for Cheyenne/Intel"

module load cmake/3.18.2
module load cmake/3.22.0
module load python/3.7.9

# load programming environment
Expand Down
2 changes: 1 addition & 1 deletion modulefiles/ufs_orion.intel
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ module-whatis "loads UFS Model prerequisites for Orion/Intel"

module load contrib noaatools

module load cmake/3.18.1
module load cmake/3.22.1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a minimum cmake version required? Cheyenne.gnu/intel is loading cmake/3.18.2. Are changes required there?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WW3 requires 3.19

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DeniseWorthen is Cheyenne cmake/3.22.0 the correct version to switch to for the Cheyenne modules? (That was the version you mentioned on the WW3 PR, I forgot to update it here).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cheyenne has cmake/3.22.0. Thanks.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated for Cheyenne

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a thought, but it might be wise to update the cmake_minimum_required in UFS to 3.19.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DusanJovic-NOAA Could you make this change in your PR (3.18->3.19):

cmake_minimum_required(VERSION 3.18)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

module load python/3.7.5

module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack
Expand Down
2 changes: 1 addition & 1 deletion modulefiles/ufs_orion.intel_debug
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ module-whatis "loads UFS Model prerequisites for Orion/Intel"

module load contrib noaatools

module load cmake/3.18.1
module load cmake/3.22.1
module load python/3.7.5

module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack
Expand Down
Loading