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

Add regression testing for wave-sea ice coupling #2072

Open
wants to merge 45 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
b95d739
Work in progress for S2SW_WAVICE regression test
NickSzapiro-NOAA Dec 12, 2023
446cc80
Add CICE FSD settings in tests/tests/cpld_s2sw_wavice_p8
NickSzapiro-NOAA Dec 12, 2023
78c4eab
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Dec 15, 2023
e30768c
Setting variables to run with wave-ice coupling
NickSzapiro-NOAA Dec 15, 2023
34b4a8a
Running versions of unstructured 270k and structured 1deg wave-ice co…
NickSzapiro-NOAA Jan 3, 2024
58c3a40
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Jan 4, 2024
a29fdb2
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Jan 28, 2024
dbbf76c
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Jan 30, 2024
a5059b9
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Feb 7, 2024
4f829ce
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Feb 12, 2024
7609d1d
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Mar 11, 2024
29e2adf
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Mar 14, 2024
3bd0c31
Remove structured wavice RT as not operational candidate
NickSzapiro-NOAA Mar 14, 2024
35666de
Delete tests/tests/cpld_s2sw_wavice_1deg_p8
NickSzapiro-NOAA Mar 14, 2024
c3442a3
Update .gitmodules to own WW3 branch
NickSzapiro-NOAA Mar 14, 2024
8f10182
Remove meshcap_IC4 option from CMakeLists.txt
NickSzapiro-NOAA Mar 14, 2024
8134907
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Mar 29, 2024
d07bf58
Add restart_fsd to env of restart ORT if wavice in test name
NickSzapiro-NOAA Mar 29, 2024
7c92102
Remove personal INPUTDATA_ROOT_WW3 in rt.sh
NickSzapiro-NOAA Mar 29, 2024
02fd9a8
Remove mediator history debugging lines in ufs.configure.s2sw.IN
NickSzapiro-NOAA Mar 29, 2024
737a22c
Update .gitmodules to updated personal WW3 branch
NickSzapiro-NOAA Apr 1, 2024
874cac7
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Apr 2, 2024
ed17d0f
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Apr 9, 2024
f9e3101
Remove 'export check_for_nans=false' in default_vars.sh
NickSzapiro-NOAA Apr 15, 2024
4fbee1f
Consistent UFS_CONFIGURE across WW3 unstructured tests
NickSzapiro-NOAA Apr 15, 2024
97792e0
Format wave-ice comment in rt.conf
NickSzapiro-NOAA Apr 15, 2024
6607153
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Apr 16, 2024
2a78946
Update WW3 hash
NickSzapiro-NOAA Apr 17, 2024
6e60ca3
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Apr 17, 2024
f568777
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Apr 19, 2024
1116b81
Enable wave-sea ice coupling in unstructured WW3 tests
NickSzapiro-NOAA Apr 24, 2024
e45f8c5
Prep default_vars.sh for sync
NickSzapiro-NOAA Apr 24, 2024
67302ad
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Apr 24, 2024
bbb2019
Re-add wavice coupling defaults in default_vars.sh
NickSzapiro-NOAA Apr 24, 2024
efaa644
Update WW3 hash
NickSzapiro-NOAA Apr 24, 2024
39d1677
Update WW3 hash
NickSzapiro-NOAA Apr 27, 2024
8a1bd77
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA May 1, 2024
9f06377
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA May 4, 2024
3ab42f0
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA May 7, 2024
cbe0311
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA May 13, 2024
8bc60d8
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA May 13, 2024
a800a46
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA May 16, 2024
b2de7b3
Merge branch 'ufs-community:develop' into cpld_s2sw_wavice
NickSzapiro-NOAA May 26, 2024
3e5f8d0
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA May 29, 2024
56c0b64
Merge branch 'develop' into cpld_s2sw_wavice
NickSzapiro-NOAA Jun 3, 2024
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: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
branch = develop
[submodule "WW3"]
path = WW3
url = https://github.com/NOAA-EMC/WW3
branch = dev/ufs-weather-model
url = https://github.com/NickSzapiro-NOAA/WW3
branch = wavice_sync
[submodule "stochastic_physics"]
path = stochastic_physics
url = https://github.com/NOAA-PSL/stochastic_physics
Expand Down
7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ 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(CDEPS_INLINE OFF CACHE BOOL "Enable CDEPS inline capability")
set(WAVICE OFF CACHE BOOL "Enable wave-sea ice coupling")

set(CMAKE_Platform $ENV{CMAKE_Platform})
if(CMAKE_Platform)
Expand Down Expand Up @@ -212,7 +213,11 @@ if(WW3)
list(APPEND _ufs_defs_private FRONT_WW3=WMESMFMD)
else()
if(PDLIB)
set(SWITCH "meshcap_pdlib" CACHE STRING "NUOPC mesh cap")
if(WAVICE)
set(SWITCH "meshcap_pdlib_IC4" CACHE STRING "NUOPC mesh cap")
else()
set(SWITCH "meshcap_pdlib" CACHE STRING "NUOPC mesh cap")
endif()
else()
set(SWITCH "meshcap" CACHE STRING "NUOPC mesh cap")
endif()
Expand Down
2 changes: 1 addition & 1 deletion WW3
Submodule WW3 updated 41 files
+5 −13 .github/workflows/intel.yml
+1 −0 model/bin/switch_meshcap_pdlib_IC4
+11 −38 model/inp/ww3_grid.inp
+1 −1 model/inp/ww3_ounf.inp
+3 −4 model/inp/ww3_shel.inp
+52 −24 model/src/w3adatmd.F90
+0 −11 model/src/w3gdatmd.F90
+1 −17 model/src/w3gridmd.F90
+15 −6 model/src/w3idatmd.F90
+12 −21 model/src/w3initmd.F90
+172 −71 model/src/w3iogomd.F90
+6 −3 model/src/w3iogoncdmd.F90
+0 −10 model/src/w3iogrmd.F90
+0 −18 model/src/w3iorsmd.F90
+4 −2 model/src/w3odatmd.F90
+0 −25 model/src/w3ounfmetamd.F90
+1 −1 model/src/w3sic4md.F90
+2 −12 model/src/wav_comp_nuopc.F90
+3 −4 model/src/wav_grdout.F90
+10 −46 model/src/wav_import_export.F90
+1 −18 model/src/ww3_ounf.F90
+1 −52 model/src/ww3_outf.F90
+110 −121 regtests/bin/matrix.base
+6 −7 regtests/bin/matrix_cmake_datarmor
+8 −9 regtests/bin/matrix_cmake_milhydro
+0 −1 regtests/bin/matrix_cmake_ncep
+5 −6 regtests/bin/matrix_cmake_ukmo_cray
+0 −58 regtests/ww3_tp2.22/info
+0 −1 regtests/ww3_tp2.22/input/switch
+0 −6 regtests/ww3_tp2.22/input/track_i.ww3
+0 −33 regtests/ww3_tp2.22/input/ww3_grid.inp
+0 −33 regtests/ww3_tp2.22/input/ww3_grid_sdtail.inp
+0 −43 regtests/ww3_tp2.22/input/ww3_ounf.inp
+0 −119 regtests/ww3_tp2.22/input/ww3_ounp.inp
+0 −10 regtests/ww3_tp2.22/input/ww3_outf.inp
+0 −11 regtests/ww3_tp2.22/input/ww3_outp_spec.inp
+0 −10 regtests/ww3_tp2.22/input/ww3_outp_tab51.inp
+0 −10 regtests/ww3_tp2.22/input/ww3_outp_tab52.inp
+0 −10 regtests/ww3_tp2.22/input/ww3_outp_tab53.inp
+0 −42 regtests/ww3_tp2.22/input/ww3_shel.inp
+0 −5 regtests/ww3_tp2.22/input/ww3_strt.inp
7 changes: 7 additions & 0 deletions tests/default_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -623,6 +623,8 @@ export WW3_CUR='F'
export WW3_ICE='F'
export WW3_IC1='F'
export WW3_IC5='F'
export wav_coupling_to_cice=false
export check_for_nans=false
NickSzapiro-NOAA marked this conversation as resolved.
Show resolved Hide resolved
# ATMW
export WW3_MULTIGRID=true
export WW3_MODDEF=mod_def.glo_1deg
Expand Down Expand Up @@ -671,6 +673,11 @@ export CICE_RESTART_POND_LVL=.false.
export CICE_FRAZIL_FWSALT=.true.
export CICE_KTHERM=2
export CICE_TFREEZE_OPTION=mushy
#Wave-ice coupling variables
export CICE_nfsd=1
export CICE_tr_fsd=.false.
export CICE_restart_fsd=.false.
export CICE_wave_spec_type=none
# SlenderX2
export CICE_NPROC=$ICE_tasks
export np2=`expr $CICE_NPROC / 2`
Expand Down
4 changes: 4 additions & 0 deletions tests/opnReqTests/rst.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ elif [[ $application == 'cpld' ]]; then
CICE_RUNTYPE='continue'
RUNTYPE='continue'
CICE_USE_RESTART_TIME='.true.'
if [[ $TEST_NAME =~ wavice ]]; then
CICE_restart_fsd='.true.'
fi
MOM6_RESTART_SETTING="r"
RESTART_N=$(( FHMAX - FHROT ))
RESTART_FILE_PREFIX="${SYEAR}${SMONTH}${SDAY}.$(printf "%02d" $(( SHOUR + FHROT )))0000"
Expand Down Expand Up @@ -75,6 +78,7 @@ export NSTF_NAME=${NSTF_NAME}
export CICE_RUNTYPE=${CICE_RUNTYPE:-}
export RUNTYPE=${RUNTYPE:-}
export CICE_USE_RESTART_TIME=${CICE_USE_RESTART_TIME:-}
export CICE_restart_fsd=${CICE_restart_fsd:-}
export MOM6_RESTART_SETTING=${MOM6_RESTART_SETTING:-}
export RESTART_N=${RESTART_N:-}
export RESTART_FILE_SUFFIX_SECS=${RESTART_FILE_SUFFIX_SECS:-}
Expand Down
24 changes: 20 additions & 4 deletions tests/parm/ice_in.IN
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,10 @@
kmt_file = '@[CICE_MASK]'
kcatbound = 0
ncat = 5
nfsd = 1
nfsd = @[CICE_nfsd]
nilyr = 7
nslyr = 1
nblyr = 1
nfsd = 1
grid_atm = '@[CICE_GRIDATM]'
grid_ocn = '@[CICE_GRIDOCN]'
grid_ice = '@[CICE_GRIDICE]'
Expand All @@ -75,8 +74,8 @@
restart_pond_lvl = @[CICE_RESTART_POND_LVL]
tr_aero = .false.
restart_aero = .false.
tr_fsd = .false.
restart_fsd = .false.
tr_fsd = @[CICE_tr_fsd]
restart_fsd = @[CICE_restart_fsd]
/

&thermo_nml
Expand Down Expand Up @@ -159,6 +158,7 @@
l_mpond_fresh = .false.
tfrz_option = '@[CICE_TFREEZE_OPTION]'
restart_coszen = .true.
wave_spec_type = '@[CICE_wave_spec_type]'
/

&domain_nml
Expand Down Expand Up @@ -362,5 +362,21 @@
f_Cdn_ocn = 'x'
/

&icefields_fsd_nml
f_fsdrad = 'mdhxx'
f_fsdperim = 'mdhxx'
f_afsd = 'mdhxx'
f_afsdn = 'mdhxx'
f_dafsd_newi = 'x'
f_dafsd_latg = 'x'
f_dafsd_latm = 'x'
f_dafsd_wave = 'x'
f_dafsd_weld = 'x'
f_wave_sig_ht = 'x'
f_aice_ww = 'x'
f_diam_ww = 'x'
f_hice_ww = 'x'
/

&icefields_bgc_nml
/
1 change: 1 addition & 0 deletions tests/parm/ufs.configure.s2sw.IN
Original file line number Diff line number Diff line change
Expand Up @@ -134,4 +134,5 @@ ALLCOMP_attributes::
orb_mode = fixed_year
orb_mvelp = 1.e36
orb_obliq = 1.e36
wav_coupling_to_cice = @[wav_coupling_to_cice]
::
5 changes: 5 additions & 0 deletions tests/rt.conf
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,11 @@ RUN | cpld_mpi_pdlib_p8 | - noaacloud
COMPILE | s2sw_pdlib_debug | intel | -DAPP=S2SW -DCCPP_SUITES=FV3_GFS_v17_coupled_p8 -DPDLIB=ON -DDEBUG=ON | - noaacloud | fv3 |
RUN | cpld_debug_pdlib_p8 | - noaacloud | baseline |

#Wave-ice coupling
#Unstructured
NickSzapiro-NOAA marked this conversation as resolved.
Show resolved Hide resolved
COMPILE | s2sw_wavice | intel | -DAPP=S2SW -DCCPP_SUITES=FV3_GFS_v17_coupled_p8 -DPDLIB=ON -DWAVICE=ON | - noaacloud | fv3 |
RUN | cpld_s2sw_wavice_p8 | - noaacloud | baseline |

### ATM tests ###
COMPILE | atm_dyn32 | intel | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16,FV3_GFS_v16_flake,FV3_GFS_v17_p8,FV3_GFS_v17_p8_rrtmgp,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,FV3_GFS_v17_p8_mynn,FV3_GFS_v17_p8_ugwpv1 -D32BIT=ON | | fv3 |
RUN | control_flake | | baseline |
Expand Down
95 changes: 95 additions & 0 deletions tests/tests/cpld_s2sw_wavice_p8
NickSzapiro-NOAA marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
#
# S2SW unstr PDLIB wave-ice P8 test
#

export TEST_DESCR="Fully coupled FV3-CCPP-MOM6-CICE-CMEPS-WW3 system with wave-ice coupling - C96MX100 unstr WW3 PDLIB IC4"

export CNTL_DIR=cpld_s2sw_wavice_p8

export LIST_FILES="sfcf024.tile1.nc \
sfcf024.tile2.nc \
sfcf024.tile3.nc \
sfcf024.tile4.nc \
sfcf024.tile5.nc \
sfcf024.tile6.nc \
atmf024.tile1.nc \
atmf024.tile2.nc \
atmf024.tile3.nc \
atmf024.tile4.nc \
atmf024.tile5.nc \
atmf024.tile6.nc \
RESTART/20210323.060000.coupler.res \
RESTART/20210323.060000.fv_core.res.nc \
RESTART/20210323.060000.fv_core.res.tile1.nc \
RESTART/20210323.060000.fv_core.res.tile2.nc \
RESTART/20210323.060000.fv_core.res.tile3.nc \
RESTART/20210323.060000.fv_core.res.tile4.nc \
RESTART/20210323.060000.fv_core.res.tile5.nc \
RESTART/20210323.060000.fv_core.res.tile6.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile1.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile2.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile3.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile4.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile5.nc \
RESTART/20210323.060000.fv_srf_wnd.res.tile6.nc \
RESTART/20210323.060000.fv_tracer.res.tile1.nc \
RESTART/20210323.060000.fv_tracer.res.tile2.nc \
RESTART/20210323.060000.fv_tracer.res.tile3.nc \
RESTART/20210323.060000.fv_tracer.res.tile4.nc \
RESTART/20210323.060000.fv_tracer.res.tile5.nc \
RESTART/20210323.060000.fv_tracer.res.tile6.nc \
RESTART/20210323.060000.phy_data.tile1.nc \
RESTART/20210323.060000.phy_data.tile2.nc \
RESTART/20210323.060000.phy_data.tile3.nc \
RESTART/20210323.060000.phy_data.tile4.nc \
RESTART/20210323.060000.phy_data.tile5.nc \
RESTART/20210323.060000.phy_data.tile6.nc \
RESTART/20210323.060000.sfc_data.tile1.nc \
RESTART/20210323.060000.sfc_data.tile2.nc \
RESTART/20210323.060000.sfc_data.tile3.nc \
RESTART/20210323.060000.sfc_data.tile4.nc \
RESTART/20210323.060000.sfc_data.tile5.nc \
RESTART/20210323.060000.sfc_data.tile6.nc \
RESTART/20210323.060000.MOM.res.nc \
RESTART/iced.2021-03-23-21600.nc \
RESTART/ufs.cpld.cpl.r.2021-03-23-21600.nc \
20210323.060000.out_pnt.ww3 \
20210323.060000.out_grd.ww3 "

export_fv3
export_cpl

export RESTART_N=12
export RESTART_INTERVAL="${RESTART_N} -1"
export OUTPUT_FH='0 24'

export CPLCHM=.false.
export DNATS=0
export MOM6_TOPOEDITS=ufs.topo_edits_011818.nc
export MOM6_ALLOW_LANDMASK_CHANGES=True
export eps_imesh=2.5e-1

export WW3_DOMAIN=global_270k
export MESH_WAV=mesh.${WW3_DOMAIN}.nc
export WW3_MODDEF=mod_def.ic4.exp.${WW3_DOMAIN}
export WW3_ICE='C'
export WW3_IC1='C'
export WW3_IC5='C'

export CICE_nfsd=12
export CICE_tr_fsd=.true.
export CICE_restart_fsd=.false.
export CICE_wave_spec_type=constant

export wav_coupling_to_cice=true
export check_for_nans=true
#export WW3_DTFLD=3600

export DIAG_TABLE=diag_table_template
export FIELD_TABLE=field_table_thompson_noaero_tke
export UFS_CONFIGURE=ufs.configure.s2sw.IN
NickSzapiro-NOAA marked this conversation as resolved.
Show resolved Hide resolved

export FV3_RUN=cpld_control_run.IN
#WLCLK=60
NickSzapiro-NOAA marked this conversation as resolved.
Show resolved Hide resolved
WAV_tasks=$WAV_tasks_cpl_unstr

Loading