forked from ufs-community/ufs-weather-model
-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #46 from climbfuji/update_gsd_develop_from_develop…
…_20201118 Update gsd/develop from develop 2020/11/18
- Loading branch information
Showing
201 changed files
with
22,880 additions
and
7,414 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,70 @@ | ||
# Prerequisites | ||
*.d | ||
|
||
# Compiled Object files | ||
*.slo | ||
*.lo | ||
*.o | ||
*.obj | ||
|
||
# Precompiled Headers | ||
*.gch | ||
*.pch | ||
|
||
# Compiled Dynamic libraries | ||
*.so | ||
*.dylib | ||
*.dll | ||
|
||
# Fortran module files | ||
*.mod | ||
*.smod | ||
|
||
# Compiled Static libraries | ||
*.lai | ||
*.la | ||
*.a | ||
*.lib | ||
|
||
# Executables | ||
*.exe | ||
*.out | ||
*.app | ||
*.x | ||
|
||
# system files | ||
*.swp | ||
*~ | ||
.DS_Store | ||
|
||
# python files | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
*$py.class | ||
|
||
# CMake files and directories | ||
build*/ | ||
install*/ | ||
CMakeLists.txt.user | ||
CMakeCache.txt | ||
CMakeFiles | ||
CMakeScripts | ||
cmake_install.cmake | ||
install_manifest.txt | ||
compile_commands.json | ||
CTestTestfile.cmake | ||
_deps | ||
|
||
# repo-specific ignorables | ||
coupled*.mk | ||
rt.conf.single | ||
ufs_model | ||
tests/modules.fv3_* | ||
tests/ecflow_run/ | ||
tests/log_*/ | ||
tests/lock/ | ||
tests/Compile_*.log | ||
tests/fail_test | ||
log* | ||
build*.log* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,40 @@ | ||
[submodule "FV3"] | ||
path = FV3 | ||
url = https://github.com/NOAA-GSD/fv3atm | ||
branch = gsd/develop | ||
path = FV3 | ||
url = https://github.com/NOAA-GSD/fv3atm | ||
branch = gsd/develop | ||
[submodule "NEMS"] | ||
path = NEMS | ||
url = https://github.com/NOAA-EMC/NEMS | ||
branch = develop | ||
path = NEMS | ||
url = https://github.com/NOAA-EMC/NEMS | ||
branch = develop | ||
[submodule "FMS"] | ||
path = FMS | ||
url = https://github.com/NOAA-GFDL/FMS | ||
branch = master | ||
path = FMS | ||
url = https://github.com/NOAA-GFDL/FMS | ||
branch = master | ||
[submodule "WW3"] | ||
path = WW3 | ||
url = https://github.com/NOAA-EMC/WW3 | ||
branch = develop | ||
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 | ||
path = stochastic_physics | ||
url = https://github.com/noaa-psd/stochastic_physics | ||
branch = master | ||
[submodule "CMakeModules"] | ||
path = CMakeModules | ||
url = https://github.com/NOAA-EMC/CMakeModules | ||
branch = develop | ||
[submodule "CMEPS"] | ||
path = CMEPS-interface/CMEPS | ||
url = https://github.com/NOAA-EMC/CMEPS.git | ||
branch = emc/develop | ||
[submodule "MOM6"] | ||
path = MOM6-interface/MOM6 | ||
url = https://github.com/NOAA-EMC/MOM6 | ||
branch = dev/emc | ||
[submodule "CICE"] | ||
path = CICE-interface/CICE | ||
url = https://github.com/NOAA-EMC/CICE | ||
branch = emc/develop | ||
[submodule "DATM"] | ||
path = DATM | ||
url = https://github.com/NOAA-EMC/NEMSdatm | ||
branch = develop |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
### CICE Fortran compiler flags | ||
if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU") | ||
set(CMAKE_Fortran_FLAGS "-g -fbacktrace") | ||
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fconvert=big-endian -ffree-line-length-none ") | ||
set(CMAKE_Fortran_FLAGS_RELEASE "-O2") | ||
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -Wall -Wextra -fcheck=bounds -ffpe-trap=invalid,zero,overflow,underflow" ) | ||
set(CMAKE_Fortran_LINK_FLAGS "" ) | ||
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel") | ||
set(CMAKE_Fortran_FLAGS "-g -traceback") | ||
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -FR -convert big_endian -assume byterecl -ftz -align array64byte -xHOST") | ||
set(CMAKE_Fortran_FLAGS_RELEASE "-O2 -fp-model precise") | ||
set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -check uninit -check bounds -check pointers -fpe0 -check noarg_temp_created -link_mpi=dbg") | ||
set(CMAKE_Fortran_LINK_FLAGS "") | ||
else() | ||
message(WARNING "Fortran compiler with ID ${CMAKE_Fortran_COMPILER_ID} will be used with CMake default options") | ||
endif() | ||
|
||
### CICE C compiler flags | ||
if(CMAKE_C_COMPILER_ID MATCHES "GNU") | ||
set(CMAKE_C_FLAGS "-g") | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") | ||
set(CMAKE_C_FLAGS_RELEASE "-O3") | ||
set(CMAKE_C_FLAGS_DEBUG "-O0") | ||
set(CMAKE_C_LINK_FLAGS "") | ||
elseif(CMAKE_C_COMPILER_ID MATCHES "Intel") | ||
set( CMAKE_C_FLAGS "-g -traceback") | ||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -xHOST") | ||
set( CMAKE_C_FLAGS_RELEASE "-O2 -fp-model precise") | ||
set( CMAKE_C_FLAGS_DEBUG "-O0 -ftrapuv") | ||
set( CMAKE_C_LINK_FLAGS "") | ||
elseif(CMAKE_C_COMPILER_ID MATCHES "Clang") | ||
set(CMAKE_C_FLAGS "-g") | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") | ||
set( CMAKE_C_FLAGS_RELEASE "-O3" ) | ||
set( CMAKE_C_FLAGS_DEBUG "-O0" ) | ||
set( CMAKE_C_LINK_FLAGS "" ) | ||
else() | ||
message(WARNING "C compiler with ID ${CMAKE_C_COMPILER_ID} will be used with CMake default options") | ||
endif() | ||
|
||
# Configuration Options | ||
set(CICE_IO "NetCDF" CACHE STRING "CICE OPTIONS: Choose IO options.") | ||
set_property(CACHE CICE_IO PROPERTY STRINGS "NetCDF" "PIO" "Binary") | ||
|
||
# Too many files to list, so include them via this file | ||
include("cice_files.cmake") | ||
|
||
# Collect source files for library | ||
list(APPEND lib_src_files | ||
${cice_shared_files} | ||
${cice_shared_files_c} | ||
${icepack_files} | ||
${cice_mpi_comm_files} | ||
${cice_nuopc_cmeps_driver_files}) | ||
|
||
list(APPEND _cice_defs FORTRANUNDERSCORE | ||
coupled) | ||
|
||
# Select IO source files based on CICE_IO | ||
if(CICE_IO MATCHES "NetCDF") | ||
list(APPEND lib_src_files ${cice_netcdf_io_files}) | ||
list(APPEND _cice_defs USE_NETCDF) | ||
elseif(CICE_IO MATCHES "PIO") | ||
list(APPEND lib_src_files ${cice_pio2_io_files}) | ||
list(APPEND _cice_defs USE_NETCDF) | ||
elseif(CICE_IO MATCHES "Binary") | ||
list(APPEND lib_src_files ${cice_binary_io_files}) | ||
endif() | ||
|
||
### Create target library and set PUBLIC interfaces on the library | ||
add_library(cice STATIC ${lib_src_files}) | ||
set_target_properties(cice PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) | ||
target_compile_definitions(cice PUBLIC "${_cice_defs}") | ||
target_include_directories(cice PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod> | ||
$<INSTALL_INTERFACE:mod>) | ||
target_link_libraries(cice PUBLIC esmf) | ||
if(CICE_IO MATCHES "^(NetCDF|PIO)$") | ||
target_link_libraries(cice PUBLIC NetCDF::NetCDF_Fortran) | ||
if(CICE_IO MATCHES "PIO") | ||
target_link_libraries(cice PUBLIC PIO::PIO_Fortran) | ||
endif() | ||
endif() | ||
if(OpenMP_Fortran_FOUND) | ||
target_link_libraries(cice PRIVATE OpenMP::OpenMP_Fortran) | ||
endif() | ||
|
||
############################################################################### | ||
### Install | ||
############################################################################### | ||
|
||
install( | ||
TARGETS cice | ||
EXPORT cice-config | ||
LIBRARY DESTINATION lib | ||
ARCHIVE DESTINATION lib | ||
COMPONENT Library) | ||
|
||
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod DESTINATION ${CMAKE_INSTALL_PREFIX}/CICE) | ||
|
||
install(EXPORT cice-config | ||
DESTINATION lib/cmake) |
Oops, something went wrong.