diff --git a/tests/error-test.conf b/tests/error-test.conf index 5ebf0f3171..2382c59a9e 100644 --- a/tests/error-test.conf +++ b/tests/error-test.conf @@ -1,26 +1,27 @@ - - -# FIXME: THIS FILE SHOULD NOT BE MERGED TO DEVELOP - +# This file is an alternative to rt.conf that tests whether the regression test system rt.sh can detect failure conditions. +# +# ./rt.sh [options] -l error-test.conf +# +# If the rt.sh detects errors correctly, the workflow shouldn't finish. Some jobs should be failed or not submitted, and some should succeed. +# See details below. # This should succeed -COMPILE | rrfs | intel | -DAPP=ATM -DCCPP_SUITES=FV3_RAP,FV3_RAP_sfcdiff,FV3_HRRR,FV3_RRFS_v1beta,FV3_RRFS_v1nssl -D32BIT=ON | | fv3 | +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 | # This should succeed -RUN | rrfs_v1nssl_nohailnoccn | | baseline | +RUN | control_c48.v2.sfc | | baseline | -# These variants of rrfs_v1beta should always fail, and prevent the workflow from completing. -RUN | rrfs_v1beta_fail_to_copy | | baseline | -RUN | rrfs_v1beta_fail_to_run | | baseline | +# These tests should always fail, and prevent the workflow from completing. +RUN | fail_to_copy | | baseline | +RUN | fail_to_run | | baseline | -# Removing -DFASTER=ON here ensures results change, but the test runs. The workflow jobs should complete +# Using 64-bit dynamics ensures results change, but the test runs. The workflow jobs should complete # for the COMPILE and RUN, but the results should change. -COMPILE | atm_faster_dyn32 | intel | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v17_p8,FV3_GFS_v15_thompson_mynn_lam3km -D32BIT=ON | | fv3 | -RUN | regional_control_faster | | baseline | +COMPILE | atm_dyn64 | 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 | | fv3 | +RUN | control_c48 | | baseline | + +# This compile job should fail, and prevent the workflow from completing. +COMPILE | fail_to_compile | intel | --invalid-argument -DAPP=ATM -DCCPP_SUITES=whatever | | fv3 | -# The --invalid-argument ensures the compile job will fail. The workflow should not submit the tests jobs for this compile job. -COMPILE | hafsw | intel | -DAPP=HAFSW --invalid-argument -DMOVING_NEST=ON -DCCPP_SUITES=FV3_HAFS_v1_gfdlmp_tedmf,FV3_HAFS_v1_gfdlmp_tedmf_nonsst,FV3_HAFS_v1_thompson_tedmf_gfdlsf,FV3_global_nest_v1 -D32BIT=ON | | fv3 | -RUN | hafs_regional_atm | | baseline | -RUN | hafs_regional_atm_thompson_gfdlsf | | baseline | -RUN | hafs_regional_atm_ocn | | baseline | -RUN | hafs_regional_atm_wav | | baseline | +# This test should not be submitted, because its compile job has failed. +RUN | dependency_unmet | | baseline | diff --git a/tests/fv3_conf/fv3_qsub.IN_acorn b/tests/fv3_conf/fv3_qsub.IN_acorn index 6c852534b6..b3d0102328 100644 --- a/tests/fv3_conf/fv3_qsub.IN_acorn +++ b/tests/fv3_conf/fv3_qsub.IN_acorn @@ -30,7 +30,7 @@ export ESMF_RUNTIME_COMPLIANCECHECK=OFF:depth=4 export ESMF_RUNTIME_PROFILE=ON export ESMF_RUNTIME_PROFILE_OUTPUT="SUMMARY" -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" = WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_qsub.IN_derecho b/tests/fv3_conf/fv3_qsub.IN_derecho index d1208c656a..5e5c0ac521 100644 --- a/tests/fv3_conf/fv3_qsub.IN_derecho +++ b/tests/fv3_conf/fv3_qsub.IN_derecho @@ -35,7 +35,7 @@ export MPICH_COLL_OPT_OFF=1 # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" = WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_qsub.IN_wcoss2 b/tests/fv3_conf/fv3_qsub.IN_wcoss2 index 46f33bb8f3..2e8d205fbe 100644 --- a/tests/fv3_conf/fv3_qsub.IN_wcoss2 +++ b/tests/fv3_conf/fv3_qsub.IN_wcoss2 @@ -30,7 +30,7 @@ export ESMF_RUNTIME_COMPLIANCECHECK=OFF:depth=4 export ESMF_RUNTIME_PROFILE=ON export ESMF_RUNTIME_PROFILE_OUTPUT="SUMMARY" -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" == WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_expanse b/tests/fv3_conf/fv3_slurm.IN_expanse index 7fbea592e9..99bc8e760e 100644 --- a/tests/fv3_conf/fv3_slurm.IN_expanse +++ b/tests/fv3_conf/fv3_slurm.IN_expanse @@ -27,7 +27,7 @@ export OMP_STACK_SIZE=512M export OMP_NUM_THREADS=@[THRD] export I_MPI_PMI_LIBRARY=/cm/shared/apps/slurm/current/lib64/libpmi.so -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" == WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_gaea b/tests/fv3_conf/fv3_slurm.IN_gaea index 325ff6d69c..de77d48820 100644 --- a/tests/fv3_conf/fv3_slurm.IN_gaea +++ b/tests/fv3_conf/fv3_slurm.IN_gaea @@ -32,7 +32,7 @@ export ESMF_RUNTIME_PROFILE_OUTPUT="SUMMARY" # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" == WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_hera b/tests/fv3_conf/fv3_slurm.IN_hera index 6d82ee67dd..1aca07288e 100644 --- a/tests/fv3_conf/fv3_slurm.IN_hera +++ b/tests/fv3_conf/fv3_slurm.IN_hera @@ -38,7 +38,7 @@ export PSM_SHAREDCONTEXTS=1 # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" == WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_hercules b/tests/fv3_conf/fv3_slurm.IN_hercules index 47178d3310..3e4065658d 100644 --- a/tests/fv3_conf/fv3_slurm.IN_hercules +++ b/tests/fv3_conf/fv3_slurm.IN_hercules @@ -46,7 +46,7 @@ fi # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" == WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_jet b/tests/fv3_conf/fv3_slurm.IN_jet index 0cfe947c70..0ffc0f7dea 100644 --- a/tests/fv3_conf/fv3_slurm.IN_jet +++ b/tests/fv3_conf/fv3_slurm.IN_jet @@ -36,7 +36,7 @@ export ESMF_RUNTIME_PROFILE_OUTPUT="SUMMARY" # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" == WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_noaacloud b/tests/fv3_conf/fv3_slurm.IN_noaacloud index 3f9b8e6222..f82ac30aee 100644 --- a/tests/fv3_conf/fv3_slurm.IN_noaacloud +++ b/tests/fv3_conf/fv3_slurm.IN_noaacloud @@ -39,7 +39,7 @@ export OMP_NUM_THREADS=1 # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" == WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_orion b/tests/fv3_conf/fv3_slurm.IN_orion index a1c736cca7..5cec80ab4b 100644 --- a/tests/fv3_conf/fv3_slurm.IN_orion +++ b/tests/fv3_conf/fv3_slurm.IN_orion @@ -39,7 +39,7 @@ export ESMF_RUNTIME_PROFILE_OUTPUT="SUMMARY" # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" == WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_s4 b/tests/fv3_conf/fv3_slurm.IN_s4 index 31b8d4c308..aa22694fcd 100644 --- a/tests/fv3_conf/fv3_slurm.IN_s4 +++ b/tests/fv3_conf/fv3_slurm.IN_s4 @@ -35,7 +35,7 @@ export PSM_SHAREDCONTEXTS=1 # Avoid job errors because of filesystem synchronization delays sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" = WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/fv3_conf/fv3_slurm.IN_stampede b/tests/fv3_conf/fv3_slurm.IN_stampede index 83ff2cef06..d80a3e068c 100644 --- a/tests/fv3_conf/fv3_slurm.IN_stampede +++ b/tests/fv3_conf/fv3_slurm.IN_stampede @@ -29,7 +29,7 @@ export LD_BIND_NOW=1 # Avoid job errors because of filesystem synchronization delays #sync && sleep 1 -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. It emulates the model failing to run. if [ "${JOB_SHOULD_FAIL:-NO}" = WHEN_RUNNING ] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 diff --git a/tests/rt.conf b/tests/rt.conf index 0ad22fe033..2a644b651d 100644 --- a/tests/rt.conf +++ b/tests/rt.conf @@ -1,8 +1,3 @@ - - -# FIXME: CHANGES TO THIS FILE SHOULD NOT BE MERGED TO DEVELOP - - ### RT.CONF FORMATTING ### # COMPILE Line ( Items separated by a | ) # Item 1: COMPILE - This tells rt.conf the following information is to be used in setting up a compile job @@ -152,10 +147,6 @@ RUN | rrfs_v1beta | RUN | rrfs_v1nssl | | baseline | RUN | rrfs_v1nssl_nohailnoccn | | baseline | -# These variants of rrfs_v1beta should always fail. -RUN | rrfs_v1beta_fail_to_copy | | baseline | -RUN | rrfs_v1beta_fail_to_run | | baseline | - COMPILE | csawmg | intel | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16_csawmg,FV3_GFS_v16_ras | - noaacloud | fv3 | RUN | control_csawmg | - noaacloud | baseline | RUN | control_ras | - noaacloud | baseline | @@ -167,9 +158,7 @@ RUN | control_csawmg | + hera hercules COMPILE | wam | intel | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v17_p8 -D32BIT=ON -DMULTI_GASES=ON | - noaacloud | fv3 | RUN | control_wam | - noaacloud | baseline | -# Removing -DFASTER=ON here ensures results change, but the test runs. The workflow jobs should complete -# for all three of these tests, but the results should change. -COMPILE | atm_faster_dyn32 | intel | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v17_p8,FV3_GFS_v15_thompson_mynn_lam3km -D32BIT=ON | | fv3 | +COMPILE | atm_faster_dyn32 | intel | -DAPP=ATM -DCCPP_SUITES=FV3_GFS_v17_p8,FV3_GFS_v15_thompson_mynn_lam3km -D32BIT=ON -DFASTER=ON | | fv3 | RUN | control_p8_faster | - noaacloud | baseline | RUN | regional_control_faster | | baseline | @@ -246,9 +235,7 @@ COMPILE | rrfs_dyn64_phy32_debug | intel | -DAPP=ATM -DCCPP_SUITES=FV3_RAP,FV3_H RUN | rap_control_dyn64_phy32_debug | - noaacloud | baseline | ### HAFS tests ### - -# The --invalid-argument ensures the compile job will fail. The workflow should not submit the tests jobs for this compile job. -COMPILE | hafsw | intel | -DAPP=HAFSW --invalid-argument -DMOVING_NEST=ON -DCCPP_SUITES=FV3_HAFS_v1_gfdlmp_tedmf,FV3_HAFS_v1_gfdlmp_tedmf_nonsst,FV3_HAFS_v1_thompson_tedmf_gfdlsf,FV3_global_nest_v1 -D32BIT=ON | | fv3 | +COMPILE | hafsw | intel | -DAPP=HAFSW -DMOVING_NEST=ON -DCCPP_SUITES=FV3_HAFS_v1_gfdlmp_tedmf,FV3_HAFS_v1_gfdlmp_tedmf_nonsst,FV3_HAFS_v1_thompson_tedmf_gfdlsf,FV3_global_nest_v1 -D32BIT=ON | | fv3 | RUN | hafs_regional_atm | | baseline | RUN | hafs_regional_atm_thompson_gfdlsf | | baseline | RUN | hafs_regional_atm_ocn | | baseline | diff --git a/tests/run_test.sh b/tests/run_test.sh index f387bfea8d..be300f5755 100755 --- a/tests/run_test.sh +++ b/tests/run_test.sh @@ -365,7 +365,8 @@ elif [[ ${SCHEDULER} = 'slurm' ]]; then fi fi -# FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP +# This "if" block is part of the rt.sh self-tests in error-test.conf. +# It emulates run_test.sh not being able to populate the work directory. if [[ "${JOB_SHOULD_FAIL:-NO}" == WHEN_COPYING ]] ; then echo "The job should abort now, with exit status 1." 1>&2 echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 @@ -390,14 +391,6 @@ else if [[ ${ROCOTO} = 'false' ]]; then submit_and_wait job_card else - - # FIXME: THIS NEW "IF" BLOCK SHOULD NOT BE MERGED TO DEVELOP - if [[ "${JOB_SHOULD_FAIL:-NO}" == YES ]] ; then - echo "The job should abort now, with exit status 1." 1>&2 - echo "If error checking is working, the metascheduler should mark the job as failed." 1>&2 - false - fi - chmod u+x job_card redirect_out_err ./job_card fi diff --git a/tests/tests/rrfs_v1beta_fail_to_copy b/tests/tests/dependency_unmet similarity index 68% rename from tests/tests/rrfs_v1beta_fail_to_copy rename to tests/tests/dependency_unmet index 0e108c4414..22e56406e7 100644 --- a/tests/tests/rrfs_v1beta_fail_to_copy +++ b/tests/tests/dependency_unmet @@ -1,30 +1,18 @@ - - -# FIXME: THIS FILE SHOULD NOT BE MERGED TO DEVELOP - - ############################################################################### # -# RRFS v1beta variant that always fails at runtime +# Regression test self-test: a job that is never submitted due to a failed dependency. +# This file was modified from control_c48. # ############################################################################### -export TEST_DESCR="Variant of RRFS_v1beta that always fails at runtime" +export TEST_DESCR="This test should use a compile job that fails. Its purpose is to ensure the rt.sh workflow won't submit the dependent job." -export CNTL_DIR=rrfs_v1beta_fail_to_copy +export CNTL_DIR=control_c48 export LIST_FILES="sfcf000.nc \ - sfcf009.nc \ - sfcf012.nc \ + sfcf024.nc \ atmf000.nc \ - atmf009.nc \ - atmf012.nc \ - GFSFLX.GrbF00 \ - GFSFLX.GrbF09 \ - GFSFLX.GrbF12 \ - GFSPRS.GrbF00 \ - GFSPRS.GrbF09 \ - GFSPRS.GrbF12 \ + atmf024.nc \ RESTART/20210323.060000.coupler.res \ RESTART/20210323.060000.fv_core.res.nc \ RESTART/20210323.060000.fv_core.res.tile1.nc \ @@ -58,12 +46,40 @@ export LIST_FILES="sfcf000.nc \ RESTART/20210323.060000.sfc_data.tile5.nc \ RESTART/20210323.060000.sfc_data.tile6.nc" -export_rrfs_v1 -export RESTART_INTERVAL="6 -1" -export OUTPUT_FH='0 09 12' +export_fv3 +export_tiled + +export INPES=1 +export JNPES=1 +export WRTTASK_PER_GROUP=2 +export NPZ=127 +export NPZP=128 +export NPX=49 +export NPY=49 +export DT_ATMOS=1200 +export SYEAR=2021 +export SMONTH=03 +export SDAY=22 +export SHOUR=06 +export RESTART_INTERVAL=0 +export CDMBWD=${CDMBWD_c48} +export OUTPUT_GRID='gaussian_grid' +export NSTF_NAME='2,0,0,0,0' +export WRITE_DOPOST=.false. +export OUTPUT_FH="6 -1" +export IAER=5111 +export IOVR=3 +export IMO=192 +export JMO=94 + +export FNSMCC_control="'global_soilmgldas.statsgo.t92.192.94.grb'" +export FNMSKH_control="'global_slmask.t62.192.94.grb'" +export FNSMCC=${FNSMCC_control} +export FNMSKH=${FNMSKH_control} -# A special flag that tells the job to fail at runtime. -export JOB_SHOULD_FAIL=WHEN_COPYING +export FV3_RUN=control_run.IN +export CCPP_SUITE=FV3_GFS_v17_p8 +export INPUT_NML=global_control.nml.IN if [[ " hera orion hercules jet " =~ " ${MACHINE_ID} " ]] ; then ZSTANDARD_LEVEL=5 diff --git a/tests/tests/fail_to_copy b/tests/tests/fail_to_copy new file mode 100644 index 0000000000..9158005b33 --- /dev/null +++ b/tests/tests/fail_to_copy @@ -0,0 +1,85 @@ +############################################################################### +# +# Regression test self-test: a job that fails to copy inputs. +# This file was modified from control_c48. +# +############################################################################### + +# A special flag that tells the job to fail at runtime before the job_card: +export JOB_SHOULD_FAIL=WHEN_COPYING + +export TEST_DESCR="The rt.sh workflow shouldn't complete when this test is enabled because run_test.sh will abort before the job_card." + +export CNTL_DIR=control_c48 + +export LIST_FILES="sfcf000.nc \ + sfcf024.nc \ + atmf000.nc \ + atmf024.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" + +export_fv3 +export_tiled + +export INPES=1 +export JNPES=1 +export WRTTASK_PER_GROUP=2 +export NPZ=127 +export NPZP=128 +export NPX=49 +export NPY=49 +export DT_ATMOS=1200 +export SYEAR=2021 +export SMONTH=03 +export SDAY=22 +export SHOUR=06 +export RESTART_INTERVAL=0 +export CDMBWD=${CDMBWD_c48} +export OUTPUT_GRID='gaussian_grid' +export NSTF_NAME='2,0,0,0,0' +export WRITE_DOPOST=.false. +export OUTPUT_FH="6 -1" +export IAER=5111 +export IOVR=3 +export IMO=192 +export JMO=94 + +export FNSMCC_control="'global_soilmgldas.statsgo.t92.192.94.grb'" +export FNMSKH_control="'global_slmask.t62.192.94.grb'" +export FNSMCC=${FNSMCC_control} +export FNMSKH=${FNMSKH_control} + +export FV3_RUN=control_run.IN +export CCPP_SUITE=FV3_GFS_v17_p8 +export INPUT_NML=global_control.nml.IN diff --git a/tests/tests/rrfs_v1beta_fail_to_run b/tests/tests/fail_to_run similarity index 68% rename from tests/tests/rrfs_v1beta_fail_to_run rename to tests/tests/fail_to_run index 29b2babdfd..cf906e532e 100644 --- a/tests/tests/rrfs_v1beta_fail_to_run +++ b/tests/tests/fail_to_run @@ -1,30 +1,21 @@ - - -# FIXME: THIS FILE SHOULD NOT BE MERGED TO DEVELOP - - ############################################################################### # -# RRFS v1beta variant that always fails at runtime +# Regression test self-test: a job that fails to run the model. +# This file was modified from control_c48. # ############################################################################### -export TEST_DESCR="Variant of RRFS_v1beta that always fails at runtime" +# A special flag that tells the job to fail at runtime inside the job_card +export JOB_SHOULD_FAIL=WHEN_RUNNING -export CNTL_DIR=rrfs_v1beta_fail_to_run +export TEST_DESCR="The rt.sh workflow shouldn't complete when this test is enabled because the job_card will abort." + +export CNTL_DIR=control_c48 export LIST_FILES="sfcf000.nc \ - sfcf009.nc \ - sfcf012.nc \ + sfcf024.nc \ atmf000.nc \ - atmf009.nc \ - atmf012.nc \ - GFSFLX.GrbF00 \ - GFSFLX.GrbF09 \ - GFSFLX.GrbF12 \ - GFSPRS.GrbF00 \ - GFSPRS.GrbF09 \ - GFSPRS.GrbF12 \ + atmf024.nc \ RESTART/20210323.060000.coupler.res \ RESTART/20210323.060000.fv_core.res.nc \ RESTART/20210323.060000.fv_core.res.tile1.nc \ @@ -58,12 +49,40 @@ export LIST_FILES="sfcf000.nc \ RESTART/20210323.060000.sfc_data.tile5.nc \ RESTART/20210323.060000.sfc_data.tile6.nc" -export_rrfs_v1 -export RESTART_INTERVAL="6 -1" -export OUTPUT_FH='0 09 12' +export_fv3 +export_tiled -# A special flag that tells the job to fail at runtime. -export JOB_SHOULD_FAIL=WHEN_RUNNING +export INPES=1 +export JNPES=1 +export WRTTASK_PER_GROUP=2 +export NPZ=127 +export NPZP=128 +export NPX=49 +export NPY=49 +export DT_ATMOS=1200 +export SYEAR=2021 +export SMONTH=03 +export SDAY=22 +export SHOUR=06 +export RESTART_INTERVAL=0 +export CDMBWD=${CDMBWD_c48} +export OUTPUT_GRID='gaussian_grid' +export NSTF_NAME='2,0,0,0,0' +export WRITE_DOPOST=.false. +export OUTPUT_FH="6 -1" +export IAER=5111 +export IOVR=3 +export IMO=192 +export JMO=94 + +export FNSMCC_control="'global_soilmgldas.statsgo.t92.192.94.grb'" +export FNMSKH_control="'global_slmask.t62.192.94.grb'" +export FNSMCC=${FNSMCC_control} +export FNMSKH=${FNMSKH_control} + +export FV3_RUN=control_run.IN +export CCPP_SUITE=FV3_GFS_v17_p8 +export INPUT_NML=global_control.nml.IN if [[ " hera orion hercules jet " =~ " ${MACHINE_ID} " ]] ; then ZSTANDARD_LEVEL=5