diff --git a/tests/default_vars.sh b/tests/default_vars.sh index 7490a2c292..e22afed9db 100755 --- a/tests/default_vars.sh +++ b/tests/default_vars.sh @@ -25,6 +25,10 @@ elif [[ $MACHINE_ID = wcoss_dell_p3 || $MACHINE_ID = wcoss2 ]]; then THRD_cpl_dflt=1; WPG_cpl_dflt=6; MPB_cpl_dflt="0 143"; APB_cpl_dflt="0 149" OPB_cpl_dflt="150 179"; IPB_cpl_dflt="180 191" + TASKS_cpl_dflt_wwav=204; TPN_cpl_dflt_wwav=28; INPES_cpl_dflt_wwav=3; JNPES_cpl_dflt_wwav=8 + THRD_cpl_dflt_wwav=1; WPG_cpl_dflt_wwav=6; MPB_cpl_dflt_wwav="0 143"; APB_cpl_dflt_wwav="0 149" + OPB_cpl_dflt_wwav="150 179"; IPB_cpl_dflt_wwav="180 191"; WPB_cpl_dflt_wwav="192 203" + TASKS_cpl_thrd=120; TPN_cpl_thrd=14; INPES_cpl_thrd=3; JNPES_cpl_thrd=4 THRD_cpl_thrd=2; WPG_cpl_thrd=6; MPB_cpl_thrd="0 77"; APB_cpl_thrd="0 77" OPB_cpl_thrd="78 107"; IPB_cpl_thrd="108 119" @@ -64,6 +68,10 @@ elif [[ $MACHINE_ID = orion.* ]]; then THRD_cpl_dflt=1; WPG_cpl_dflt=6; MPB_cpl_dflt="0 143"; APB_cpl_dflt="0 149" OPB_cpl_dflt="150 179"; IPB_cpl_dflt="180 191" + TASKS_cpl_dflt_wwav=204; TPN_cpl_dflt_wwav=40; INPES_cpl_dflt_wwav=3; JNPES_cpl_dflt_wwav=8 + THRD_cpl_dflt_wwav=1; WPG_cpl_dflt_wwav=6; MPB_cpl_dflt_wwav="0 143"; APB_cpl_dflt_wwav="0 149" + OPB_cpl_dflt_wwav="150 179"; IPB_cpl_dflt_wwav="180 191"; WPB_cpl_dflt_wwav="192 203" + TASKS_cpl_thrd=120; TPN_cpl_thrd=40; INPES_cpl_thrd=3; JNPES_cpl_thrd=4 THRD_cpl_thrd=2; WPG_cpl_thrd=6; MPB_cpl_thrd="0 77"; APB_cpl_thrd="0 77" OPB_cpl_thrd="78 107"; IPB_cpl_thrd="108 119" @@ -103,6 +111,10 @@ elif [[ $MACHINE_ID = hera.* ]]; then THRD_cpl_dflt=1; WPG_cpl_dflt=6; MPB_cpl_dflt="0 143"; APB_cpl_dflt="0 149" OPB_cpl_dflt="150 179"; IPB_cpl_dflt="180 191" + TASKS_cpl_dflt_wwav=204; TPN_cpl_dflt_wwav=40; INPES_cpl_dflt_wwav=3; JNPES_cpl_dflt_wwav=8 + THRD_cpl_dflt_wwav=1; WPG_cpl_dflt_wwav=6; MPB_cpl_dflt_wwav="0 143"; APB_cpl_dflt_wwav="0 149" + OPB_cpl_dflt_wwav="150 179"; IPB_cpl_dflt_wwav="180 191"; WPB_cpl_dflt_wwav="192 203" + TASKS_cpl_thrd=120; TPN_cpl_thrd=40; INPES_cpl_thrd=3; JNPES_cpl_thrd=4 THRD_cpl_thrd=2; WPG_cpl_thrd=6; MPB_cpl_thrd="0 77"; APB_cpl_thrd="0 77" OPB_cpl_thrd="78 107"; IPB_cpl_thrd="108 119" @@ -167,6 +179,10 @@ elif [[ $MACHINE_ID = cheyenne.* ]]; then THRD_cpl_dflt=1; WPG_cpl_dflt=6; MPB_cpl_dflt="0 143"; APB_cpl_dflt="0 149" OPB_cpl_dflt="150 179"; IPB_cpl_dflt="180 191" + TASKS_cpl_dflt_wwav=204; TPN_cpl_dflt_wwav=36; INPES_cpl_dflt_wwav=3; JNPES_cpl_dflt_wwav=8 + THRD_cpl_dflt_wwav=1; WPG_cpl_dflt_wwav=6; MPB_cpl_dflt_wwav="0 143"; APB_cpl_dflt_wwav="0 149" + OPB_cpl_dflt_wwav="150 179"; IPB_cpl_dflt_wwav="180 191"; WPB_cpl_dflt_wwav="192 203" + TASKS_cpl_thrd=120; TPN_cpl_thrd=36; INPES_cpl_thrd=3; JNPES_cpl_thrd=4 THRD_cpl_thrd=2; WPG_cpl_thrd=6; MPB_cpl_thrd="0 77"; APB_cpl_thrd="0 77" OPB_cpl_thrd="78 107"; IPB_cpl_thrd="108 119" @@ -205,6 +221,10 @@ elif [[ $MACHINE_ID = stampede.* ]]; then THRD_cpl_dflt=1; WPG_cpl_dflt=6; MPB_cpl_dflt="0 143"; APB_cpl_dflt="0 149" OPB_cpl_dflt="150 179"; IPB_cpl_dflt="180 191" + TASKS_cpl_dflt_wwav=204; TPN_cpl_dflt_wwav=48; INPES_cpl_dflt_wwav=3; JNPES_cpl_dflt_wwav=8 + THRD_cpl_dflt_wwav=1; WPG_cpl_dflt_wwav=6; MPB_cpl_dflt_wwav="0 143"; APB_cpl_dflt_wwav="0 149" + OPB_cpl_dflt_wwav="150 179"; IPB_cpl_dflt_wwav="180 191"; WPB_cpl_dflt_wwav="192 203" + TASKS_cpl_thrd=120; TPN_cpl_thrd=48; INPES_cpl_thrd=3; JNPES_cpl_thrd=4 THRD_cpl_thrd=2; WPG_cpl_thrd=6; MPB_cpl_thrd="0 77"; APB_cpl_thrd="0 77" OPB_cpl_thrd="78 107"; IPB_cpl_thrd="108 119" @@ -555,6 +575,7 @@ export JATM=768 export ATMRES='C96' export OCNRES='100' export ICERES='1.00' +export WAVRES='1.00' export NX_GLB=360 export NY_GLB=320 diff --git a/tests/fv3_conf/cpld_control_run.IN b/tests/fv3_conf/cpld_control_run.IN index 08747fcae5..296117e5ee 100644 --- a/tests/fv3_conf/cpld_control_run.IN +++ b/tests/fv3_conf/cpld_control_run.IN @@ -50,6 +50,12 @@ cp @[INPUTDATA_ROOT]/CICE_FIX/@[OCNRES]/grid_cice_NEMS_mx@[OCNRES].nc . cp @[INPUTDATA_ROOT]/CICE_FIX/@[OCNRES]/kmtu_cice_NEMS_mx@[OCNRES].nc . cp @[INPUTDATA_ROOT]/CICE_FIX/@[OCNRES]/mesh.mx@[OCNRES].nc . +# WW3 fix/input +if [[ $CPLWAV == .T. ]]; then + cp @[INPUTDATA_ROOT_WW3]/mod_def.* . + cp @[INPUTDATA_ROOT_WW3]/ww3_multi_1deg.inp ww3_multi.inp +fi + # No restart if [ $WARM_START = .F. ]; then # ICs diff --git a/tests/rt.conf b/tests/rt.conf index e13e0072f8..aa368d7f5d 100644 --- a/tests/rt.conf +++ b/tests/rt.conf @@ -163,6 +163,7 @@ COMPILE | SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p RUN | cpld_bmark_wave | - wcoss_cray gaea.intel jet.intel | fv3 | RUN | cpld_bmarkfrac_wave | - wcoss_cray gaea.intel jet.intel | fv3 | RUN | cpld_bmarkfrac_wave_v16 | - wcoss_cray gaea.intel jet.intel | fv3 | +RUN | cpld_control_wave | - wcoss_cray gaea.intel jet.intel | fv3 | COMPILE | DEBUG=Y SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16beta_coupled S2S=Y | - wcoss_cray gaea.intel jet.intel | fv3 | RUN | cpld_debug | - wcoss_cray gaea.intel jet.intel | fv3 | diff --git a/tests/tests/cpld_control_wave b/tests/tests/cpld_control_wave new file mode 100644 index 0000000000..6f1c9e43d7 --- /dev/null +++ b/tests/tests/cpld_control_wave @@ -0,0 +1,81 @@ +# +# cpld_control_wave test +# + +export TEST_DESCR="Fully coupled FV3-CCPP-MOM6-CICE-CMEPS-WW3 system - C96MX100 with waves" + +export CNTL_DIR="cpld_control_wave" + +export LIST_FILES="phyf024.tile1.nc \ + phyf024.tile2.nc \ + phyf024.tile3.nc \ + phyf024.tile4.nc \ + phyf024.tile5.nc \ + phyf024.tile6.nc \ + dynf024.tile1.nc \ + dynf024.tile2.nc \ + dynf024.tile3.nc \ + dynf024.tile4.nc \ + dynf024.tile5.nc \ + dynf024.tile6.nc \ + RESTART/coupler.res \ + RESTART/fv_core.res.nc \ + RESTART/fv_core.res.tile1.nc \ + RESTART/fv_core.res.tile2.nc \ + RESTART/fv_core.res.tile3.nc \ + RESTART/fv_core.res.tile4.nc \ + RESTART/fv_core.res.tile5.nc \ + RESTART/fv_core.res.tile6.nc \ + RESTART/fv_srf_wnd.res.tile1.nc \ + RESTART/fv_srf_wnd.res.tile2.nc \ + RESTART/fv_srf_wnd.res.tile3.nc \ + RESTART/fv_srf_wnd.res.tile4.nc \ + RESTART/fv_srf_wnd.res.tile5.nc \ + RESTART/fv_srf_wnd.res.tile6.nc \ + RESTART/fv_tracer.res.tile1.nc \ + RESTART/fv_tracer.res.tile2.nc \ + RESTART/fv_tracer.res.tile3.nc \ + RESTART/fv_tracer.res.tile4.nc \ + RESTART/fv_tracer.res.tile5.nc \ + RESTART/fv_tracer.res.tile6.nc \ + RESTART/phy_data.tile1.nc \ + RESTART/phy_data.tile2.nc \ + RESTART/phy_data.tile3.nc \ + RESTART/phy_data.tile4.nc \ + RESTART/phy_data.tile5.nc \ + RESTART/phy_data.tile6.nc \ + RESTART/sfc_data.tile1.nc \ + RESTART/sfc_data.tile2.nc \ + RESTART/sfc_data.tile3.nc \ + RESTART/sfc_data.tile4.nc \ + RESTART/sfc_data.tile5.nc \ + RESTART/sfc_data.tile6.nc \ + RESTART/MOM.res.nc \ + RESTART/iced.2016-10-04-00000.nc \ + RESTART/ufs.cpld.cpl.r.2016-10-04-00000.nc \ + 20161004.000000.out_grd.glo_1deg \ + 20161004.000000.out_pnt.points \ + 20161004.000000.restart.glo_1deg" + +export_fv3 +export_cpl + +export TASKS=$TASKS_cpl_dflt_wwav +export TPN=$TPN_cpl_dflt_wwav +export INPES=$INPES_cpl_dflt_wwav +export JNPES=$JNPES_cpl_dflt_wwav +export THRD=$THRD_cpl_dflt_wwav +export WRTTASK_PER_GROUP=$WPG_cpl_dflt_wwav + +export med_petlist_bounds=$MPB_cpl_dflt_wwav +export atm_petlist_bounds=$APB_cpl_dflt_wwav +export ocn_petlist_bounds=$OPB_cpl_dflt_wwav +export ice_petlist_bounds=$IPB_cpl_dflt_wwav +export wav_petlist_bounds=$WPB_cpl_dflt_wwav + +# nems.configure +export NEMS_CONFIGURE="nems.configure.cpld_wave.IN" + +export CPLWAV='.T.' +export CPLWAV2ATM='.T.' +export FV3_RUN=cpld_control_run.IN