Skip to content

Commit

Permalink
Merge branch 'develop' into feature/search_doc
Browse files Browse the repository at this point in the history
  • Loading branch information
GeorgeGayno-NOAA committed Apr 23, 2021
2 parents e130123 + ea82135 commit 9d85f8a
Show file tree
Hide file tree
Showing 13 changed files with 175 additions and 107 deletions.
24 changes: 18 additions & 6 deletions sorc/chgres_cube.fd/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
# This is the CMake build file for the chgres_cube utility in the
# UFS_UTILS package.
#
# George Gayno, Mark Potts
# George Gayno, Mark Potts, Kyle Gerheiser

set(fortran_src
set(lib_src
atmosphere.F90
chgres.F90
grib2_util.F90
input_data.F90
model_grid.F90
Expand All @@ -17,16 +16,26 @@ set(fortran_src
utils.F90
write_data.F90)

set(exe_src chgres.F90)

if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -convert big_endian -assume byterecl")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffree-line-length-0 -fdefault-real-8 -fconvert=big-endian")
endif()

set(exe_name chgres_cube)
add_executable(${exe_name} ${fortran_src})

add_library(chgres_cube_lib STATIC ${lib_src})
add_executable(${exe_name} ${exe_src})

set(mod_dir "${CMAKE_CURRENT_BINARY_DIR}/mod")
set_target_properties(chgres_cube_lib PROPERTIES Fortran_MODULE_DIRECTORY ${mod_dir})
target_include_directories(chgres_cube_lib INTERFACE ${mod_dir})

target_link_libraries(
${exe_name}
chgres_cube_lib
PUBLIC
nemsio::nemsio
sfcio::sfcio
sigio::sigio
Expand All @@ -38,10 +47,13 @@ target_link_libraries(
wgrib2::wgrib2_api
MPI::MPI_Fortran
NetCDF::NetCDF_Fortran)

if(OpenMP_Fortran_FOUND)
target_link_libraries(${exe_name} OpenMP::OpenMP_Fortran)
target_link_libraries(${exe_name} PUBLIC OpenMP::OpenMP_Fortran)
endif()

target_link_libraries(${exe_name} PRIVATE chgres_cube_lib)

install(TARGETS ${exe_name} RUNTIME DESTINATION ${exec_dir})

# If doxygen documentation we enabled, build it.
Expand Down
25 changes: 18 additions & 7 deletions sorc/emcsfc_snow2mdl.fd/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,35 +1,46 @@
# This is the CMake build file for the emcsfc_snow2mdl utility in the
# UFS_UTILS package.
#
# George Gayno, Mark Potts
# George Gayno, Mark Potts, Kyle Gerheiser

set(fortran_src
driver.F90
set(lib_src
grib_utils.F90
model_grid.F90
program_setup.F90
snow2mdl.F90
snowdat.F90)

set(exe_src driver.F90)

if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -convert big_endian -assume byterecl")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fdefault-real-8 -fconvert=big-endian")
endif()

set(exe_name emcsfc_snow2mdl)
add_executable(${exe_name} ${fortran_src})
target_link_libraries(
${exe_name}

add_library(snow2mdl_lib STATIC ${lib_src})
add_executable(${exe_name} ${exe_src})

set(mod_dir "${CMAKE_CURRENT_BINARY_DIR}/mod")
set_target_properties(snow2mdl_lib PROPERTIES Fortran_MODULE_DIRECTORY ${mod_dir})
target_include_directories(snow2mdl_lib INTERFACE ${mod_dir})

target_link_libraries(snow2mdl_lib
PUBLIC
g2::g2_d
ip::ip_d
sp::sp_d
bacio::bacio_4
w3nco::w3nco_d)

if(OpenMP_Fortran_FOUND)
target_link_libraries(${exe_name} OpenMP::OpenMP_Fortran)
target_link_libraries(${exe_name} PUBLIC OpenMP::OpenMP_Fortran)
endif()

target_link_libraries(${exe_name} PRIVATE snow2mdl_lib)

install(TARGETS ${exe_name} RUNTIME DESTINATION ${exec_dir})

# If doxygen documentation we enabled, build it.
Expand Down
14 changes: 10 additions & 4 deletions sorc/fre-nctools.fd/tools/fregrid/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
set(c_src
set(lib_src
bilinear_interp.c
conserve_interp.c
fregrid.c
fregrid_util.c)

add_executable(fregrid ${c_src})
set(exe_src fregrid.c)

target_link_libraries(fregrid
add_library(fregrid_lib STATIC ${lib_src})
add_executable(fregrid ${exe_src})


target_link_libraries(fregrid_lib
PUBLIC
m
shared_lib
NetCDF::NetCDF_C)

target_link_libraries(fregrid PRIVATE fregrid_lib)

install(TARGETS fregrid RUNTIME DESTINATION ${exec_dir})
13 changes: 8 additions & 5 deletions sorc/fre-nctools.fd/tools/make_hgrid/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
set(c_src
set(lib_src
create_conformal_cubic_grid.c
create_gnomonic_cubic_grid.c
create_grid_from_file.c
create_lonlat_grid.c
make_hgrid.c)
create_lonlat_grid.c)

add_executable(make_hgrid ${c_src})
add_library(make_hgrid_lib STATIC ${lib_src})
add_executable(make_hgrid make_hgrid.c)

target_link_libraries(make_hgrid
target_link_libraries(make_hgrid_lib
PUBLIC
m
shared_lib
NetCDF::NetCDF_C)

target_link_libraries(make_hgrid PRIVATE make_hgrid_lib)

install(TARGETS make_hgrid RUNTIME DESTINATION ${exec_dir})
12 changes: 9 additions & 3 deletions sorc/fre-nctools.fd/tools/make_solo_mosaic/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
set(c_src
set(lib_src
make_solo_mosaic.c
get_contact.c)

add_executable(make_solo_mosaic ${c_src})
set(exe_src make_solo_mosaic.c)

target_link_libraries(make_solo_mosaic
add_library(make_solo_mosaic_lib STATIC ${lib_src})
add_executable(make_solo_mosaic ${exe_src})

target_link_libraries(make_solo_mosaic_lib
PUBLIC
m
shared_lib
NetCDF::NetCDF_C)

target_link_libraries(make_solo_mosaic PRIVATE make_solo_mosaic_lib)

install(TARGETS make_solo_mosaic RUNTIME DESTINATION ${exec_dir})
24 changes: 18 additions & 6 deletions sorc/global_cycle.fd/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# This is the CMake file for the global_cycle utility in the UFS_UTILS
# project.
#
# George Gayno
# George Gayno, Kyle Gerheiser

set(fortran_src
cycle.f90
set(lib_src
machine.f90
num_parthds.f90
sfcsub.F
read_write_data.f90)

set(exe_src cycle.f90)

if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -convert big_endian")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
Expand All @@ -20,19 +21,30 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
endif()

set(exe_name global_cycle)
add_executable(${exe_name} ${fortran_src})

add_library(global_cycle_lib STATIC ${lib_src})
add_executable(${exe_name} ${exe_src})

set(mod_dir "${CMAKE_CURRENT_BINARY_DIR}/mod")
set_target_properties(global_cycle_lib PROPERTIES Fortran_MODULE_DIRECTORY ${mod_dir})
target_include_directories(global_cycle_lib INTERFACE ${mod_dir})

target_link_libraries(
${exe_name}
global_cycle_lib
PUBLIC
w3nco::w3nco_d
bacio::bacio_4
ip::ip_d
sp::sp_d
MPI::MPI_Fortran
NetCDF::NetCDF_Fortran)

if(OpenMP_Fortran_FOUND)
target_link_libraries(${exe_name} OpenMP::OpenMP_Fortran)
target_link_libraries(global_cycle_lib PUBLIC OpenMP::OpenMP_Fortran)
endif()

target_link_libraries(${exe_name} PRIVATE global_cycle_lib)

install(TARGETS ${exe_name} RUNTIME DESTINATION ${exec_dir})

# If doxygen documentation we enabled, build it.
Expand Down
17 changes: 11 additions & 6 deletions sorc/orog_mask_tools.fd/inland.fd/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
set(fortran_src
nb.F90
inland.F90)
set(lib_src nb.F90)
set(exe_src inland.F90)

if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -assume byterecl")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-range-check")
endif()

set(exe_name inland)
add_library(inland_lib STATIC ${lib_src})
add_executable(inland ${exe_src})

add_executable(${exe_name} ${fortran_src})
set(mod_dir "${CMAKE_CURRENT_BINARY_DIR}/mod")
set_target_properties(inland_lib PROPERTIES Fortran_MODULE_DIRECTORY ${mod_dir})
target_include_directories(inland_lib INTERFACE ${mod_dir})

target_link_libraries(
${exe_name}
inland_lib
PUBLIC
NetCDF::NetCDF_Fortran)

target_link_libraries(inland PRIVATE inland_lib)

install(TARGETS ${exe_name} RUNTIME DESTINATION ${exec_dir})
19 changes: 13 additions & 6 deletions sorc/orog_mask_tools.fd/lake.fd/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
set(fortran_src
set(lib_src
enclosure_cnvx.F90
find_limit.F90
lakefrac.F90)
find_limit.F90)

set(exe_src lakefrac.F90)

if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -assume byterecl")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-range-check")
endif()

set(exe_name lakefrac)
add_library(lakefrac_lib STATIC ${lib_src})
add_executable(lakefrac ${exe_src})

add_executable(${exe_name} ${fortran_src})
set(mod_dir "${CMAKE_CURRENT_BINARY_DIR}/mod")
set_target_properties(lakefrac_lib PROPERTIES Fortran_MODULE_DIRECTORY ${mod_dir})
target_include_directories(lakefrac_lib INTERFACE ${mod_dir})

target_link_libraries(
${exe_name}
lakefrac_lib
PUBLIC
NetCDF::NetCDF_Fortran)

target_link_libraries(lakefrac PRIVATE lakefrac_lib)

install(TARGETS ${exe_name} RUNTIME DESTINATION ${exec_dir})
22 changes: 16 additions & 6 deletions sorc/orog_mask_tools.fd/orog.fd/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
set(fortran_src
mtnlm7_oclsm.f
netcdf_io.F90)
set(lib_src netcdf_io.F90)
set(exe_src mtnlm7_oclsm.f)

if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -convert big_endian -assume byterecl")
Expand All @@ -12,16 +11,27 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
endif()

set(exe_name orog)
add_executable(${exe_name} ${fortran_src})

add_library(orog_lib STATIC ${lib_src})
add_executable(${exe_name} mtnlm7_oclsm.f)

set(mod_dir "${CMAKE_CURRENT_BINARY_DIR}/mod")
set_target_properties(orog_lib PROPERTIES Fortran_MODULE_DIRECTORY ${mod_dir})
target_include_directories(orog_lib INTERFACE ${mod_dir})

target_link_libraries(
${exe_name}
orog_lib
PUBLIC
bacio::bacio_4
w3nco::w3nco_d
ip::ip_d
sp::sp_d
NetCDF::NetCDF_Fortran)

if(OpenMP_Fortran_FOUND)
target_link_libraries(${exe_name} OpenMP::OpenMP_Fortran)
target_link_libraries(orog_lib PUBLIC OpenMP::OpenMP_Fortran)
endif()

target_link_libraries(orog PRIVATE orog_lib)

install(TARGETS ${exe_name} RUNTIME DESTINATION ${exec_dir})
20 changes: 15 additions & 5 deletions sorc/orog_mask_tools.fd/orog_gsl.fd/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
set(fortran_src
set(lib_src
module_gsl_oro_data_lg_scale.f90
module_gsl_oro_data_sm_scale.f90
gsl_oro_data.f90)
module_gsl_oro_data_sm_scale.f90)

set(exe_src gsl_oro_data.f90)

if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -convert big_endian -assume byterecl")
Expand All @@ -12,10 +13,19 @@ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU)$")
endif()
endif()

add_library(orog_gsl_lib STATIC ${lib_src})
set(exe_name orog_gsl)
add_executable(${exe_name} ${fortran_src})
add_executable(${exe_name} ${exe_src})

set(mod_dir "${CMAKE_CURRENT_BINARY_DIR}/mod")
set_target_properties(orog_gsl_lib PROPERTIES Fortran_MODULE_DIRECTORY ${mod_dir})
target_include_directories(orog_gsl_lib INTERFACE ${mod_dir})

target_link_libraries(
${exe_name}
orog_gsl_lib
PUBLIC
NetCDF::NetCDF_Fortran)

target_link_libraries(${exe_name} PRIVATE orog_gsl_lib)

install(TARGETS ${exe_name} RUNTIME DESTINATION ${exec_dir})
Loading

0 comments on commit 9d85f8a

Please sign in to comment.