Skip to content

Commit 0a746ab

Browse files
authored
Merge pull request #1055 from GEOS-ESM/feature/adarmenov/update_ww3_to_noaa
Update WAVEWATCH
2 parents e625513 + 832e96f commit 0a746ab

File tree

4 files changed

+127
-114
lines changed

4 files changed

+127
-114
lines changed

GEOSwgcm_GridComp/GEOS_WgcmGridComp.F90

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,10 @@ subroutine SetServices(GC, RC)
370370
SHORT_NAME = 'SWH', &
371371
CHILD_ID = WM, __RC__)
372372

373+
call MAPL_AddExportSpec(GC, &
374+
SHORT_NAME = 'WCM', &
375+
CHILD_ID = WM, __RC__)
376+
373377
call MAPL_AddExportSpec(GC, &
374378
SHORT_NAME = 'DCP', &
375379
CHILD_ID = WM, __RC__)

GEOSwgcm_GridComp/GEOSwavewatch_GridComp/GEOS_WaveWatchGridComp.F90

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,21 @@ subroutine SetServices(GC, RC)
239239
SHORT_NAME = 'EDF', &
240240
CHILD_ID = WW3GC, __RC__)
241241

242-
242+
call MAPL_AddExportSpec(GC, &
243+
SHORT_NAME = 'WCC', &
244+
CHILD_ID = WW3GC, __RC__)
245+
246+
call MAPL_AddExportSpec(GC, &
247+
SHORT_NAME = 'WCF', &
248+
CHILD_ID = WW3GC, __RC__)
249+
250+
call MAPL_AddExportSpec(GC, &
251+
SHORT_NAME = 'WCH', &
252+
CHILD_ID = WW3GC, __RC__)
253+
254+
call MAPL_AddExportSpec(GC, &
255+
SHORT_NAME = 'WCM', &
256+
CHILD_ID = WW3GC, __RC__)
243257

244258

245259
! Set the Profiling timers
Lines changed: 108 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,61 @@
11
esma_set_this ()
22

3-
4-
list( APPEND WW3ESMF_FTN
5-
constants.ftn
6-
w3adatmd.ftn
7-
w3arrymd.ftn
8-
w3cspcmd.ftn
9-
w3dispmd.ftn
10-
w3fldsmd.ftn
11-
w3flx1md.ftn
12-
w3gdatmd.ftn
13-
w3gsrumd.ftn
14-
w3idatmd.ftn
15-
w3initmd.ftn
16-
w3iobcmd.ftn
17-
w3iogomd.ftn
18-
w3iogrmd.ftn
19-
w3iopomd.ftn
20-
w3iorsmd.ftn
21-
w3iosfmd.ftn
22-
w3iotrmd.ftn
23-
w3nmlmultimd.ftn
24-
w3odatmd.ftn
25-
w3parall.ftn
26-
w3partmd.ftn
27-
w3pro3md.ftn
28-
w3profsmd.ftn
29-
w3sbt1md.ftn
30-
w3sdb1md.ftn
31-
w3servmd.ftn
32-
w3snl1md.ftn
33-
w3sln1md.ftn
34-
w3fld1md.ftn
35-
w3fld2md.ftn
36-
w3src4md.ftn
37-
w3srcemd.ftn
38-
w3timemd.ftn
39-
w3triamd.ftn
40-
w3updtmd.ftn
41-
w3uqckmd.ftn
42-
w3wavemd.ftn
43-
w3wdasmd.ftn
44-
w3wdatmd.ftn
45-
wmmaplmd.ftn
46-
wmfinlmd.ftn
47-
wmgridmd.ftn
48-
wminiomd.ftn
49-
wminitmd.ftn
50-
wmiopomd.ftn
51-
wmmdatmd.ftn
52-
wmscrpmd.ftn
53-
wmunitmd.ftn
54-
wmupdtmd.ftn
55-
wmwavemd.ftn
3+
list( APPEND WW3ESMF_SRCS
4+
constants.F90
5+
w3adatmd.F90
6+
w3arrymd.F90
7+
w3cspcmd.F90
8+
w3dispmd.F90
9+
w3fldsmd.F90
10+
w3gdatmd.F90
11+
w3flx1md.F90
12+
w3gsrumd.F90
13+
w3idatmd.F90
14+
w3initmd.F90
15+
w3iobcmd.F90
16+
w3iogomd.F90
17+
w3iogrmd.F90
18+
w3iopomd.F90
19+
w3iorsmd.F90
20+
w3iosfmd.F90
21+
w3iotrmd.F90
22+
w3nmlmultimd.F90
23+
w3odatmd.F90
24+
w3parall.F90
25+
w3partmd.F90
26+
w3pro3md.F90
27+
w3profsmd.F90
28+
w3sbt1md.F90
29+
w3sdb1md.F90
30+
w3servmd.F90
31+
w3snl1md.F90
32+
w3sln1md.F90
33+
w3fld1md.F90
34+
w3fld2md.F90
35+
w3src4md.F90
36+
w3srcemd.F90
37+
w3timemd.F90
38+
w3triamd.F90
39+
w3updtmd.F90
40+
w3uqckmd.F90
41+
w3wavemd.F90
42+
w3wdasmd.F90
43+
w3wdatmd.F90
44+
wmmaplmd.F90
45+
wmfinlmd.F90
46+
wmgridmd.F90
47+
wminiomd.F90
48+
wminitmd.F90
49+
wmiopomd.F90
50+
wmmdatmd.F90
51+
wmscrpmd.F90
52+
wmunitmd.F90
53+
wmupdtmd.F90
54+
wmwavemd.F90
5655
SCRIP/scrip_constants.f
5756
SCRIP/scrip_errormod.f90
5857
SCRIP/scrip_grids.f
59-
SCRIP/scrip_interface.ftn
58+
SCRIP/scrip_interface.F90
6059
SCRIP/scrip_iounitsmod.f90
6160
SCRIP/scrip_kindsmod.f90
6261
SCRIP/scrip_netcdfmod.f90
@@ -70,40 +69,65 @@ list( APPEND WW3ESMF_FTN
7069
esma_mepo_style(ww3 WW3_rel_path REL_PATH ..)
7170
set (WW3_path ${CMAKE_CURRENT_SOURCE_DIR}/${WW3_rel_path})
7271

73-
get_filename_component(aux_dir ${WW3_path}/model/aux ABSOLUTE)
74-
get_filename_component(ftn_dir ${WW3_path}/model/ftn ABSOLUTE)
75-
76-
message(DEBUG "WW3 aux_dir ${aux_dir}")
77-
message(DEBUG "WW3 ftn_dir ${ftn_dir}")
78-
79-
add_executable(w3adc "${aux_dir}/w3adc.f")
80-
81-
set (WW3ESMF_F90)
82-
foreach(src_file ${WW3ESMF_FTN})
83-
STRING(REGEX REPLACE ".ftn" ".F90" gen_src_file ${src_file})
84-
STRING(REGEX REPLACE "/" "_" gen_log_file ${gen_src_file})
85-
# Testing shows that we only want BYPRODUCTS here if our CMAKE_GENERATOR is Unix Makefiles
86-
# If we use Ninja, we don't want BYPRODUCTS
87-
if (CMAKE_GENERATOR STREQUAL "Unix Makefiles")
88-
set(BYPRODUCTS ${gen_src_file})
89-
else()
90-
set(BYPRODUCTS "")
91-
endif()
92-
add_custom_command(
93-
OUTPUT ${gen_src_file}
94-
BYPRODUCTS ${BYPRODUCTS}
95-
DEPENDS w3adc ${ftn_dir}/${src_file}
96-
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/run_w3adc.sh ${ftn_dir} ${src_file} > ${gen_log_file}.w3adc.log 2>&1
97-
COMMENT "Running w3adc ${src_file}")
98-
list(APPEND WW3ESMF_F90 ${gen_src_file})
72+
set (SRCS)
73+
foreach(src_file ${WW3ESMF_SRCS})
74+
list(APPEND SRCS ${WW3_path}/model/src/${src_file})
75+
# message(STATUS "WW3::file ${src_file}")
76+
# message(STATUS "WW3::file ${WW3_path}/model/src/${src_file}")
77+
# message(STATUS "")
9978
endforeach()
10079

101-
10280
esma_add_library (${this}
103-
SRCS ${WW3ESMF_F90}
81+
SRCS ${SRCS}
10482
DEPENDENCIES MAPL ESMF::ESMF NetCDF::NetCDF_Fortran
10583
)
10684

107-
target_include_directories (${this} PRIVATE
108-
$<BUILD_INTERFACE:${ftn_dir}>
85+
86+
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" )
87+
88+
set_property (SOURCE ${WW3_path}/model/src/w3initmd.F90
89+
APPEND
90+
PROPERTY COMPILE_DEFINITIONS
91+
"__WW3_SWITCHES__=\'${switch_strings}\'"
10992
)
93+
94+
95+
list (APPEND defs
96+
W3_NOGRB
97+
W3_DIST
98+
W3_MPI
99+
W3_SCRIP
100+
W3_PR3
101+
W3_UQ
102+
W3_FLX0
103+
W3_LN1
104+
W3_FLD2
105+
W3_ST4
106+
W3_STAB0
107+
W3_NL1
108+
W3_BT1
109+
W3_DB1
110+
W3_MLIM
111+
W3_TR0
112+
W3_BS0
113+
W3_XX0
114+
W3_WNX0
115+
W3_WNT0
116+
W3_CRX0
117+
W3_CRT0
118+
W3_O0
119+
W3_O1
120+
W3_O2
121+
W3_O3
122+
W3_O4
123+
W3_O5
124+
W3_O6
125+
W3_O7
126+
W3_IC0
127+
W3_IS0
128+
W3_REF0
129+
)
130+
131+
target_compile_definitions(${this} PRIVATE ${defs})
132+
133+

GEOSwgcm_GridComp/GEOSwavewatch_GridComp/ww3_multi_esmf/run_w3adc.sh

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)