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

Update WAVEWATCH #1055

Merged
merged 5 commits into from
Feb 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions GEOSwgcm_GridComp/GEOS_WgcmGridComp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,10 @@ subroutine SetServices(GC, RC)
SHORT_NAME = 'SWH', &
CHILD_ID = WM, __RC__)

call MAPL_AddExportSpec(GC, &
SHORT_NAME = 'WCM', &
CHILD_ID = WM, __RC__)

call MAPL_AddExportSpec(GC, &
SHORT_NAME = 'DCP', &
CHILD_ID = WM, __RC__)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,21 @@ subroutine SetServices(GC, RC)
SHORT_NAME = 'EDF', &
CHILD_ID = WW3GC, __RC__)


call MAPL_AddExportSpec(GC, &
SHORT_NAME = 'WCC', &
CHILD_ID = WW3GC, __RC__)

call MAPL_AddExportSpec(GC, &
SHORT_NAME = 'WCF', &
CHILD_ID = WW3GC, __RC__)

call MAPL_AddExportSpec(GC, &
SHORT_NAME = 'WCH', &
CHILD_ID = WW3GC, __RC__)

call MAPL_AddExportSpec(GC, &
SHORT_NAME = 'WCM', &
CHILD_ID = WW3GC, __RC__)


! Set the Profiling timers
Expand Down
Original file line number Diff line number Diff line change
@@ -1,62 +1,61 @@
esma_set_this ()


list( APPEND WW3ESMF_FTN
constants.ftn
w3adatmd.ftn
w3arrymd.ftn
w3cspcmd.ftn
w3dispmd.ftn
w3fldsmd.ftn
w3flx1md.ftn
w3gdatmd.ftn
w3gsrumd.ftn
w3idatmd.ftn
w3initmd.ftn
w3iobcmd.ftn
w3iogomd.ftn
w3iogrmd.ftn
w3iopomd.ftn
w3iorsmd.ftn
w3iosfmd.ftn
w3iotrmd.ftn
w3nmlmultimd.ftn
w3odatmd.ftn
w3parall.ftn
w3partmd.ftn
w3pro3md.ftn
w3profsmd.ftn
w3sbt1md.ftn
w3sdb1md.ftn
w3servmd.ftn
w3snl1md.ftn
w3sln1md.ftn
w3fld1md.ftn
w3fld2md.ftn
w3src4md.ftn
w3srcemd.ftn
w3timemd.ftn
w3triamd.ftn
w3updtmd.ftn
w3uqckmd.ftn
w3wavemd.ftn
w3wdasmd.ftn
w3wdatmd.ftn
wmmaplmd.ftn
wmfinlmd.ftn
wmgridmd.ftn
wminiomd.ftn
wminitmd.ftn
wmiopomd.ftn
wmmdatmd.ftn
wmscrpmd.ftn
wmunitmd.ftn
wmupdtmd.ftn
wmwavemd.ftn
list( APPEND WW3ESMF_SRCS
constants.F90
w3adatmd.F90
w3arrymd.F90
w3cspcmd.F90
w3dispmd.F90
w3fldsmd.F90
w3gdatmd.F90
w3flx1md.F90
w3gsrumd.F90
w3idatmd.F90
w3initmd.F90
w3iobcmd.F90
w3iogomd.F90
w3iogrmd.F90
w3iopomd.F90
w3iorsmd.F90
w3iosfmd.F90
w3iotrmd.F90
w3nmlmultimd.F90
w3odatmd.F90
w3parall.F90
w3partmd.F90
w3pro3md.F90
w3profsmd.F90
w3sbt1md.F90
w3sdb1md.F90
w3servmd.F90
w3snl1md.F90
w3sln1md.F90
w3fld1md.F90
w3fld2md.F90
w3src4md.F90
w3srcemd.F90
w3timemd.F90
w3triamd.F90
w3updtmd.F90
w3uqckmd.F90
w3wavemd.F90
w3wdasmd.F90
w3wdatmd.F90
wmmaplmd.F90
wmfinlmd.F90
wmgridmd.F90
wminiomd.F90
wminitmd.F90
wmiopomd.F90
wmmdatmd.F90
wmscrpmd.F90
wmunitmd.F90
wmupdtmd.F90
wmwavemd.F90
SCRIP/scrip_constants.f
SCRIP/scrip_errormod.f90
SCRIP/scrip_grids.f
SCRIP/scrip_interface.ftn
SCRIP/scrip_interface.F90
SCRIP/scrip_iounitsmod.f90
SCRIP/scrip_kindsmod.f90
SCRIP/scrip_netcdfmod.f90
Expand All @@ -70,40 +69,65 @@ list( APPEND WW3ESMF_FTN
esma_mepo_style(ww3 WW3_rel_path REL_PATH ..)
set (WW3_path ${CMAKE_CURRENT_SOURCE_DIR}/${WW3_rel_path})

get_filename_component(aux_dir ${WW3_path}/model/aux ABSOLUTE)
get_filename_component(ftn_dir ${WW3_path}/model/ftn ABSOLUTE)

message(DEBUG "WW3 aux_dir ${aux_dir}")
message(DEBUG "WW3 ftn_dir ${ftn_dir}")

add_executable(w3adc "${aux_dir}/w3adc.f")

set (WW3ESMF_F90)
foreach(src_file ${WW3ESMF_FTN})
STRING(REGEX REPLACE ".ftn" ".F90" gen_src_file ${src_file})
STRING(REGEX REPLACE "/" "_" gen_log_file ${gen_src_file})
# Testing shows that we only want BYPRODUCTS here if our CMAKE_GENERATOR is Unix Makefiles
# If we use Ninja, we don't want BYPRODUCTS
if (CMAKE_GENERATOR STREQUAL "Unix Makefiles")
set(BYPRODUCTS ${gen_src_file})
else()
set(BYPRODUCTS "")
endif()
add_custom_command(
OUTPUT ${gen_src_file}
BYPRODUCTS ${BYPRODUCTS}
DEPENDS w3adc ${ftn_dir}/${src_file}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/run_w3adc.sh ${ftn_dir} ${src_file} > ${gen_log_file}.w3adc.log 2>&1
COMMENT "Running w3adc ${src_file}")
list(APPEND WW3ESMF_F90 ${gen_src_file})
set (SRCS)
foreach(src_file ${WW3ESMF_SRCS})
list(APPEND SRCS ${WW3_path}/model/src/${src_file})
# message(STATUS "WW3::file ${src_file}")
# message(STATUS "WW3::file ${WW3_path}/model/src/${src_file}")
# message(STATUS "")
endforeach()


esma_add_library (${this}
SRCS ${WW3ESMF_F90}
SRCS ${SRCS}
DEPENDENCIES MAPL ESMF::ESMF NetCDF::NetCDF_Fortran
)

target_include_directories (${this} PRIVATE
$<BUILD_INTERFACE:${ftn_dir}>

set (switch_strings "NOGRB DIST MPI SCRIP PR3 UQ FLX0 LN1 FLD2 ST4 STAB0 NL1 BT1 DB1 MLIM TR0 BS0 XX0 WNX0 WNT0 CRX0 CRT0 O0 O1 O2 O3 O4 O5 O6 O7 IC0 IS0 REF0" )

set_property (SOURCE ${WW3_path}/model/src/w3initmd.F90
APPEND
PROPERTY COMPILE_DEFINITIONS
"__WW3_SWITCHES__=\'${switch_strings}\'"
)


list (APPEND defs
W3_NOGRB
W3_DIST
W3_MPI
W3_SCRIP
W3_PR3
W3_UQ
W3_FLX0
W3_LN1
W3_FLD2
W3_ST4
W3_STAB0
W3_NL1
W3_BT1
W3_DB1
W3_MLIM
W3_TR0
W3_BS0
W3_XX0
W3_WNX0
W3_WNT0
W3_CRX0
W3_CRT0
W3_O0
W3_O1
W3_O2
W3_O3
W3_O4
W3_O5
W3_O6
W3_O7
W3_IC0
W3_IS0
W3_REF0
)

target_compile_definitions(${this} PRIVATE ${defs})


This file was deleted.