From e84549a5aa75756a26ba5d330ed6b3b98ec0e1be Mon Sep 17 00:00:00 2001 From: Ufuk Turuncoglu Date: Wed, 14 Aug 2024 15:05:44 -0500 Subject: [PATCH 1/5] modifications for copling with 3d vortex formulation --- .gitmodules | 13 ++++--- CMEPS-interface/CMEPS | 2 +- CMakeLists.txt | 11 ++++-- SCHISM-interface/CMakeLists.txt | 4 -- SCHISM-interface/SCHISM | 2 +- SCHISM-interface/SCHISM-ESMF | 2 +- WW3 | 2 +- tests/default_vars.sh | 3 ++ tests/parm/fd_ufs.yaml | 65 ++++++++++++++++++++++----------- tests/parm/ww3_shel.nml.IN | 1 + 10 files changed, 68 insertions(+), 37 deletions(-) diff --git a/.gitmodules b/.gitmodules index cf76282a51..b60e01ccde 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,8 +4,8 @@ branch = develop [submodule "WW3"] path = WW3 - url = https://github.com/oceanmodeling/WW3 - branch = dev/ufs-coastal + url = https://github.com/DeniseWorthen/WW3 + branch = feature/addflds4schism [submodule "stochastic_physics"] path = stochastic_physics url = https://github.com/NOAA-PSL/stochastic_physics @@ -17,7 +17,8 @@ [submodule "CMEPS"] path = CMEPS-interface/CMEPS url = https://github.com/oceanmodeling/CMEPS - branch = feature/coastalapp + #branch = feature/coastalapp + branch = feature/schism_3d [submodule "HYCOM"] path = HYCOM-interface/HYCOM url = https://github.com/NOAA-EMC/HYCOM-src @@ -53,11 +54,13 @@ [submodule "SCHISM"] path = SCHISM-interface/SCHISM url = https://github.com/oceanmodeling/schism - branch = master + #branch = master + branch = feature/schism_3d [submodule "SCHISM-ESMF"] path = SCHISM-interface/SCHISM-ESMF url = https://github.com/oceanmodeling/schism-esmf - branch = master + #branch = master + branch = feature/schism_3d [submodule "FVCOM"] path = FVCOM-interface/FVCOM url = https://github.com/oceanmodeling/FVCOM diff --git a/CMEPS-interface/CMEPS b/CMEPS-interface/CMEPS index 437d5e6f35..f8ae407410 160000 --- a/CMEPS-interface/CMEPS +++ b/CMEPS-interface/CMEPS @@ -1 +1 @@ -Subproject commit 437d5e6f3507b84cdabaac02b0335e86d3013dc6 +Subproject commit f8ae4074106b0f5ae4ece57be687199d7bf2d000 diff --git a/CMakeLists.txt b/CMakeLists.txt index c89fd49791..94a3c04343 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,7 +81,8 @@ set(OPENMP ON CACHE BOOL "Enable OpenMP threading") set(PARALLEL_NETCDF OFF CACHE BOOL "Enable parallel NetCDF") set(JEDI_DRIVER OFF CACHE BOOL "Enable JEDI as top level driver") set(CMEPS_AOFLUX OFF CACHE BOOL "Enable atmosphere-ocean flux calculation in mediator") -set(PDLIB OFF CACHE BOOL "Enable Domain Decomposition in WW3 via PDLIB") +set(PDLIB OFF CACHE BOOL "Enable Domain Decomposition in WW3 via PDLIB with BT1") +set(PDLIB_BT4 OFF CACHE BOOL "Enable Domain Decomposition in WW3 via PDLIB with BT4") set(CDEPS_INLINE OFF CACHE BOOL "Enable CDEPS inline capability") set(HYDRO OFF CACHE BOOL "Enable hydrostatic set") @@ -227,8 +228,12 @@ if(WW3) set(UFS_CAP "MULTI_ESMF" CACHE STRING "Build with MULTI_ESMF cap") list(APPEND _ufs_defs_private FRONT_WW3=WMESMFMD) else() - if(PDLIB) - set(SWITCH "meshcap_pdlib" CACHE STRING "NUOPC mesh cap") + if(PDLIB OR PDLIB_BT4) + if(PDLIB) + set(SWITCH "meshcap_pdlib" CACHE STRING "NUOPC mesh cap") + else() + set(SWITCH "meshcap_pdlib_bt4" CACHE STRING "NUOPC mesh cap") + endif() else() set(SWITCH "meshcap" CACHE STRING "NUOPC mesh cap") endif() diff --git a/SCHISM-interface/CMakeLists.txt b/SCHISM-interface/CMakeLists.txt index 6b63f0026a..065c61f5dc 100644 --- a/SCHISM-interface/CMakeLists.txt +++ b/SCHISM-interface/CMakeLists.txt @@ -83,10 +83,6 @@ endif() set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/SCHISM/cmake/modules") add_subdirectory(SCHISM/src) -if(BUILD_UTILS) - add_subdirectory(SCHISM/src/Utility) -endif() - list(APPEND schism_nuopc_src_files SCHISM-ESMF/src/schism/schism_nuopc_util.F90 SCHISM-ESMF/src/schism/schism_nuopc_cap.F90 diff --git a/SCHISM-interface/SCHISM b/SCHISM-interface/SCHISM index cfb58a52b7..02410d0bcd 160000 --- a/SCHISM-interface/SCHISM +++ b/SCHISM-interface/SCHISM @@ -1 +1 @@ -Subproject commit cfb58a52b7109bb35dd5e1f4ecebd68f1dd08cb6 +Subproject commit 02410d0bcdd4d9d8ab0c8e8f63a718163605a482 diff --git a/SCHISM-interface/SCHISM-ESMF b/SCHISM-interface/SCHISM-ESMF index 12e2ce4347..da59350c6d 160000 --- a/SCHISM-interface/SCHISM-ESMF +++ b/SCHISM-interface/SCHISM-ESMF @@ -1 +1 @@ -Subproject commit 12e2ce43475fe85212c60de7894524d22a1bab96 +Subproject commit da59350c6d0d62cd37b8e8cc0218851aeb679198 diff --git a/WW3 b/WW3 index 80a5ad544d..cb2e58b934 160000 --- a/WW3 +++ b/WW3 @@ -1 +1 @@ -Subproject commit 80a5ad544d8997931dde7fa7c8ebad56612ed299 +Subproject commit cb2e58b93456aa6131a37c829a1a781e62dbd966 diff --git a/tests/default_vars.sh b/tests/default_vars.sh index 0213a59f66..a43398ad38 100644 --- a/tests/default_vars.sh +++ b/tests/default_vars.sh @@ -844,6 +844,7 @@ export RST_BEG=${RUN_BEG} export RST_2_BEG=${RUN_BEG} export RST_END=${RUN_END} export RST_2_END=${RUN_END} +export WW3_WLEV='F' export WW3_CUR='F' export WW3_ICE='F' export WW3_IC1='F' @@ -1019,6 +1020,7 @@ export_ww3() { WW3_DTPNT="$(printf "%02d" $(( WW3_OUTDTHR*3600 )) )" export WW3_DTFLD export WW3_DTPNT + export WW3_WLEV='F' export WW3_CUR='C' export WW3_ICE='C' export WW3_IC1='F' @@ -1430,6 +1432,7 @@ export_hafs_regional () # default hafs with no ice export WW3_DOMAIN=natl_6m export WW3_MODDEF=mod_def.${WW3_DOMAIN} + export WW3_WLEV='F' export WW3_ICE='F' export WW3_OUTPARS="WND HS T01 T02 DIR FP DP PHS PTP PDIR UST CHA USP" diff --git a/tests/parm/fd_ufs.yaml b/tests/parm/fd_ufs.yaml index 89f3160772..5f9f6a8fad 100644 --- a/tests/parm/fd_ufs.yaml +++ b/tests/parm/fd_ufs.yaml @@ -919,6 +919,50 @@ - standard_name: Sw_z0 alias: z0rlen # + - standard_name: Sw_hs + canonical_units: m + description: ww3 export - significant wave height + # + - standard_name: Sw_bhd + canonical_units: m2 s-2 + description: ww3 export - Bernoulli head (J term) + # + - standard_name: Sw_tauox + canonical_units: m2 s-2 + description: ww3 export - wave to ocean momentum flux x + # + - standard_name: Sw_tauoy + canonical_units: m2 s-2 + description: ww3 export - wave to ocean momentum flux y + # + - standard_name: Sw_taubblx + canonical_units: m2 s-2 + description: ww3 export - momentum flux due to bottom friction x + # + - standard_name: Sw_taubbly + canonical_units: m2 s-2 + description: ww3 export - momentum flux due to bottom friction y + # + - standard_name: Sw_ubrx + canonical_units: m s-1 + description: ww3 export - near bottom rms wave velocities x + # + - standard_name: Sw_ubry + canonical_units: m s-1 + description: ww3 export - near bottom rms wave velocities y + # + - standard_name: Sw_thm + canonical_units: deg + description: ww3 export - mean wave direction + # + - standard_name: Sw_t0m1 + canonical_units: s + description: ww3 export - mean wave period + # + - standard_name: Sw_wnmean + canonical_units: m-1 + description: ww3 export - mean wave number + # - standard_name: Sw_pstokes_x alias: eastward_partitioned_stokes_drift_current canonical_units: m s-1 @@ -967,27 +1011,6 @@ - standard_name: Sw_vstokes alias: ussy # - - standard_name: Sw_wbcuru - alias: eastward_wave_bottom_current - canonical_units: m s-1 - description: ww3 export - - standard_name: Sw_wbcuru - alias: wbcuru - # - - standard_name: Sw_wbcurv - alias: northward_wave_bottom_current - canonical_units: m s-1 - description: ww3 export - - standard_name: Sw_wbcurv - alias: wbcurv - # - - standard_name: Sw_wbcurp - alias: wave_bottom_current_period - canonical_units: s - description: ww3 export - - standard_name: Sw_wbcurp - alias: wbcurp - # - standard_name: Sw_wavsuu alias: eastward_wave_radiation_stress canonical_units: N m-1 diff --git a/tests/parm/ww3_shel.nml.IN b/tests/parm/ww3_shel.nml.IN index 4921a6d9ad..884db89fb1 100644 --- a/tests/parm/ww3_shel.nml.IN +++ b/tests/parm/ww3_shel.nml.IN @@ -1,4 +1,5 @@ &input_nml + input%forcing%water_levels = '@[WW3_WLEV]' input%forcing%winds = 'C' input%forcing%currents = '@[WW3_CUR]' input%forcing%ice_conc = '@[WW3_ICE]' From 30c7da879401cc1032b32e231cce19d62ad72772 Mon Sep 17 00:00:00 2001 From: Ufuk Turuncoglu Date: Thu, 15 Aug 2024 16:31:32 -0500 Subject: [PATCH 2/5] update components --- CMEPS-interface/CMEPS | 2 +- SCHISM-interface/SCHISM | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMEPS-interface/CMEPS b/CMEPS-interface/CMEPS index f8ae407410..d0ce2def80 160000 --- a/CMEPS-interface/CMEPS +++ b/CMEPS-interface/CMEPS @@ -1 +1 @@ -Subproject commit f8ae4074106b0f5ae4ece57be687199d7bf2d000 +Subproject commit d0ce2def8059d82cfae45ae0e4f507882e1adb29 diff --git a/SCHISM-interface/SCHISM b/SCHISM-interface/SCHISM index 02410d0bcd..d5cc4846a5 160000 --- a/SCHISM-interface/SCHISM +++ b/SCHISM-interface/SCHISM @@ -1 +1 @@ -Subproject commit 02410d0bcdd4d9d8ab0c8e8f63a718163605a482 +Subproject commit d5cc4846a5eaf519de6b80b48e2dc524c4c195a0 From bb0aeb0eb84c06d6531c278ddb3664ff8edd7917 Mon Sep 17 00:00:00 2001 From: Ufuk Turuncoglu Date: Tue, 10 Sep 2024 14:53:27 -0500 Subject: [PATCH 3/5] update cap --- SCHISM-interface/SCHISM-ESMF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SCHISM-interface/SCHISM-ESMF b/SCHISM-interface/SCHISM-ESMF index da59350c6d..3f930030fb 160000 --- a/SCHISM-interface/SCHISM-ESMF +++ b/SCHISM-interface/SCHISM-ESMF @@ -1 +1 @@ -Subproject commit da59350c6d0d62cd37b8e8cc0218851aeb679198 +Subproject commit 3f930030fbab70bbfbeffae0dcbe90f1724f4afb From 62a357611b45972d246fd013a6dbd116eba82170 Mon Sep 17 00:00:00 2001 From: Ufuk Turuncoglu Date: Tue, 10 Sep 2024 14:54:33 -0500 Subject: [PATCH 4/5] disable building tools in RTs --- tests/rt_coastal.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/rt_coastal.conf b/tests/rt_coastal.conf index 4b13936712..f035981e55 100644 --- a/tests/rt_coastal.conf +++ b/tests/rt_coastal.conf @@ -30,10 +30,10 @@ COMPILE | atm2fvc | intel | -DAPP=CSTLF -DCOORDINATE_TYPE=SPHERICAL -DWET_DRY=ON RUN | coastal_scituateharbor_atm2fvc | | baseline | ### SCHISM tests ### -COMPILE | atm2sch | intel | -DAPP=CSTLS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DBUILD_UTILS=ON | | fv3 | +COMPILE | atm2sch | intel | -DAPP=CSTLS -DUSE_ATMOS=ON -DNO_PARMETIS=OFF -DOLDIO=ON | | fv3 | RUN | coastal_ike_shinnecock_atm2sch | | baseline | -COMPILE | atm2sch2ww3 | intel | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON -DBUILD_UTILS=ON | | fv3 | +COMPILE | atm2sch2ww3 | intel | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON | | fv3 | RUN | coastal_ike_shinnecock_atm2sch2ww3 | | baseline | ### ROMS tests ### @@ -47,7 +47,7 @@ RUN | coastal_ike_shinnecock_atm2ww3 | | baseline | ### GNU Tests ### ### SCHISM tests ### -COMPILE | atm2sch2ww3 | gnu | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON -DBUILD_UTILS=ON | | fv3 | +COMPILE | atm2sch2ww3 | gnu | -DAPP=CSTLSW -DUSE_ATMOS=ON -DUSE_WW3=ON -DNO_PARMETIS=OFF -DOLDIO=ON -DPDLIB=ON | | fv3 | RUN | coastal_ike_shinnecock_atm2sch2ww3 | | baseline | ### ROMS tests ### From 51fc37aa30ddbc90e359815e068611da17e21daf Mon Sep 17 00:00:00 2001 From: Ufuk Turuncoglu Date: Tue, 10 Sep 2024 14:54:59 -0500 Subject: [PATCH 5/5] add standared nems for ocn-wav coupling --- tests/parm/fd_ufs.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/parm/fd_ufs.yaml b/tests/parm/fd_ufs.yaml index 5f9f6a8fad..2f06b0096d 100644 --- a/tests/parm/fd_ufs.yaml +++ b/tests/parm/fd_ufs.yaml @@ -920,46 +920,57 @@ alias: z0rlen # - standard_name: Sw_hs + alias: sea_surface_wave_significant_height canonical_units: m description: ww3 export - significant wave height # - standard_name: Sw_bhd + alias: sea_water_waves_effect_on_currents_bernoulli_head_adjustment canonical_units: m2 s-2 description: ww3 export - Bernoulli head (J term) # - standard_name: Sw_tauox + alias: sea_surface_x_stress_due_to_waves canonical_units: m2 s-2 description: ww3 export - wave to ocean momentum flux x # - standard_name: Sw_tauoy + alias: sea_surface_y_stress_due_to_waves canonical_units: m2 s-2 description: ww3 export - wave to ocean momentum flux y # - standard_name: Sw_taubblx + alias: sea_bottom_upward_x_stress_due_to_waves canonical_units: m2 s-2 description: ww3 export - momentum flux due to bottom friction x # - standard_name: Sw_taubbly + alias: sea_bottom_upward_y_stress_due_to_waves canonical_units: m2 s-2 description: ww3 export - momentum flux due to bottom friction y # - standard_name: Sw_ubrx + alias: sea_bed_orbital_x_velocity_due_to_waves canonical_units: m s-1 description: ww3 export - near bottom rms wave velocities x # - standard_name: Sw_ubry + alias: sea_bed_orbital_y_velocity_due_to_waves canonical_units: m s-1 description: ww3 export - near bottom rms wave velocities y # - standard_name: Sw_thm + alias: sea_surface_wave_mean_direction canonical_units: deg description: ww3 export - mean wave direction # - standard_name: Sw_t0m1 + alias: sea_surface_wave_mean_period canonical_units: s description: ww3 export - mean wave period # - standard_name: Sw_wnmean + alias: sea_surface_wave_mean_number canonical_units: m-1 description: ww3 export - mean wave number #