diff --git a/scripts/lib/CIME/SystemTests/dae.py b/scripts/lib/CIME/SystemTests/dae.py index 2f017c147f6..5e70a6b2c5b 100644 --- a/scripts/lib/CIME/SystemTests/dae.py +++ b/scripts/lib/CIME/SystemTests/dae.py @@ -60,7 +60,7 @@ def _case_two_setup(self): self._case.flush() ########################################################################### - def run_phase(self): + def run_phase(self): # pylint: disable=arguments-differ ########################################################################### # Clean up any da.log files in case this is a re-run. self._activate_case2() diff --git a/scripts/lib/CIME/SystemTests/pre.py b/scripts/lib/CIME/SystemTests/pre.py index fd51471f6ba..5e95d7bd401 100644 --- a/scripts/lib/CIME/SystemTests/pre.py +++ b/scripts/lib/CIME/SystemTests/pre.py @@ -66,16 +66,17 @@ def _case_two_setup(self): self._case.flush() ########################################################################### - def run_phase(self): + def run_phase(self): # pylint: disable=arguments-differ ########################################################################### - SystemTestsCompareTwo.run_phase(self) + self._activate_case2() + should_match = (self._case.get_value("DESP_MODE") == "NOCHANGE") + SystemTestsCompareTwo.run_phase(self, success_change=not should_match) # Look for expected coupler restart files logger = logging.getLogger(__name__) self._activate_case1() rundir1 = self._case.get_value("RUNDIR") self._activate_case2() rundir2 = self._case.get_value("RUNDIR") - should_match = (self._case.get_value("DESP_MODE") == "NOCHANGE") compare_ok = True pause_comps = self._case.get_value("PAUSE_COMPONENT_LIST") expect((pause_comps != 'none'), "Pause/Resume (PRE) test has no pause components") diff --git a/scripts/lib/CIME/SystemTests/system_tests_common.py b/scripts/lib/CIME/SystemTests/system_tests_common.py index d070e682a9d..4e275094d02 100644 --- a/scripts/lib/CIME/SystemTests/system_tests_common.py +++ b/scripts/lib/CIME/SystemTests/system_tests_common.py @@ -248,12 +248,16 @@ def _component_compare_copy(self, suffix): comments = copy(self._case, suffix) append_testlog(comments) - def _component_compare_test(self, suffix1, suffix2): + def _component_compare_test(self, suffix1, suffix2, success_change=False): """ Return value is not generally checked, but is provided in case a custom run case needs indirection based on success. + If success_change is True, success requires some files to be different """ success, comments = compare_test(self._case, suffix1, suffix2) + if success_change: + success = not success + append_testlog(comments) status = TEST_PASS_STATUS if success else TEST_FAIL_STATUS with self._test_status: diff --git a/scripts/lib/CIME/SystemTests/system_tests_compare_two.py b/scripts/lib/CIME/SystemTests/system_tests_compare_two.py index b133502597c..d0ef3e047b1 100644 --- a/scripts/lib/CIME/SystemTests/system_tests_compare_two.py +++ b/scripts/lib/CIME/SystemTests/system_tests_compare_two.py @@ -155,9 +155,10 @@ def build_phase(self, sharedlib_only=False, model_only=False): self._case2.set_value("BUILD_COMPLETE",True) self._case2.flush() - def run_phase(self): + def run_phase(self, success_change=False): # pylint: disable=arguments-differ """ Runs both phases of the two-phase test and compares their results + If success_change is True, success requires some files to be different """ # First run @@ -176,7 +177,7 @@ def run_phase(self): self._activate_case1() self._link_to_case2_output() - self._component_compare_test(self._run_one_suffix, self._run_two_suffix) + self._component_compare_test(self._run_one_suffix, self._run_two_suffix, success_change=success_change) # ======================================================================== # Private methods diff --git a/scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py b/scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py index b9d7c1e3729..f5373b0ec7c 100644 --- a/scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py +++ b/scripts/lib/CIME/tests/SystemTests/test_system_tests_compare_two.py @@ -166,6 +166,7 @@ def run_indv(self, suffix="base", st_archive=False): if casename not in self.run_pass_casenames: raise RuntimeError('casename not in run_pass_casenames') + #pylint: disable=arguments-differ def _component_compare_test(self, suffix1, suffix2): # Trying to use the real version of _component_compare_test would pull # too much baggage into these tests. Since the return value from this @@ -395,4 +396,3 @@ def test_run2_fails(self): # Verify self.assertEqual(test_status.TEST_FAIL_STATUS, mytest._test_status.get_status(test_status.RUN_PHASE)) - diff --git a/scripts/lib/update_acme_tests.py b/scripts/lib/update_acme_tests.py index 2f385b35004..2dade021008 100644 --- a/scripts/lib/update_acme_tests.py +++ b/scripts/lib/update_acme_tests.py @@ -50,7 +50,7 @@ "DAE.f19_f19.A", "PET_P32.f19_f19.A", "SMS.T42_T42.S", - "PRE.f45_g37_rx1.ADESP") + "PRE.f19_f19.ADESP") ), # diff --git a/src/components/data_comps/desp/cime_config/buildnml b/src/components/data_comps/desp/cime_config/buildnml index 6c938536441..3641dc313a8 100755 --- a/src/components/data_comps/desp/cime_config/buildnml +++ b/src/components/data_comps/desp/cime_config/buildnml @@ -54,7 +54,7 @@ def _create_namelists(case, confdir, inst_string, infile, nmlgen): # Clear out old data. #---------------------------------------------------- data_list_path = os.path.join(case.get_case_root(), "Buildconf", - "datm.input_data_list") + "desp.input_data_list") if os.path.exists(data_list_path): os.remove(data_list_path) diff --git a/src/components/data_comps/desp/desp_comp_mod.F90 b/src/components/data_comps/desp/desp_comp_mod.F90 index d48b5e06a5d..93092ad3307 100644 --- a/src/components/data_comps/desp/desp_comp_mod.F90 +++ b/src/components/data_comps/desp/desp_comp_mod.F90 @@ -472,7 +472,7 @@ subroutine desp_comp_run(EClock, case_name, pause_sig, atm_resume, & call get_restart_filenames(ind, cpl_resume, errcode) allocate(rfilenames(1)) rfilenames(1) = cpl_resume - varname = 'a2x_ax_Sa_tbot' + varname = 'x2oacc_ox_Sa_pslv' case default call shr_sys_abort(subname//'Unrecognized ind') end select diff --git a/src/drivers/mct/cime_config/config_compsets.xml b/src/drivers/mct/cime_config/config_compsets.xml index d698bb3e4d0..30439b45777 100644 --- a/src/drivers/mct/cime_config/config_compsets.xml +++ b/src/drivers/mct/cime_config/config_compsets.xml @@ -77,12 +77,12 @@ ADESP - 2000_DATM%NYF_SLND_DICE%SSMI_DOCN%DOM_DROF%NYF_SGLC_SWAV_DESP%NOOP + 2000_DATM%NYF_SLND_SICE_DOCN%SOMAQP_SROF_SGLC_SWAV_DESP%NOOP ADESP_TEST - 2000_DATM%NYF_SLND_DICE%SSMI_DOCN%DOM_DROF%NYF_SGLC_SWAV_DESP%TEST + 2000_DATM%NYF_SLND_SICE_DOCN%SOMAQP_SROF_SGLC_SWAV_DESP%TEST diff --git a/src/drivers/mct/cime_config/testdefs/testlist_drv.xml b/src/drivers/mct/cime_config/testdefs/testlist_drv.xml index e0382a64fac..98df016f564 100644 --- a/src/drivers/mct/cime_config/testdefs/testlist_drv.xml +++ b/src/drivers/mct/cime_config/testdefs/testlist_drv.xml @@ -614,4 +614,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/drivers/mct/cime_config/testdefs/testmods_dirs/drv/som/shell_commands b/src/drivers/mct/cime_config/testdefs/testmods_dirs/drv/som/shell_commands new file mode 100644 index 00000000000..f3a70e7e662 --- /dev/null +++ b/src/drivers/mct/cime_config/testdefs/testmods_dirs/drv/som/shell_commands @@ -0,0 +1,2 @@ +./xmlchange DOCN_SOM_FILENAME="pop_frc.1x1d.090130.nc" + diff --git a/src/drivers/mct/main/seq_io_mod.F90 b/src/drivers/mct/main/seq_io_mod.F90 index fb7a9e3383d..2d6774132a2 100644 --- a/src/drivers/mct/main/seq_io_mod.F90 +++ b/src/drivers/mct/main/seq_io_mod.F90 @@ -36,7 +36,7 @@ module seq_io_mod use shr_kind_mod, only: r4 => shr_kind_r4, r8 => shr_kind_r8, in => shr_kind_in use shr_kind_mod, only: cl => shr_kind_cl, cs => shr_kind_cs - use shr_sys_mod ! system calls + use shr_sys_mod, only: shr_sys_abort use seq_comm_mct, only: logunit, CPLID, seq_comm_setptrs use seq_comm_mct, only: seq_comm_namelen, seq_comm_name use seq_flds_mod, only : seq_flds_lookup diff --git a/src/drivers/mct/shr/seq_timemgr_mod.F90 b/src/drivers/mct/shr/seq_timemgr_mod.F90 index ed36dbdfd2a..04057d72d09 100644 --- a/src/drivers/mct/shr/seq_timemgr_mod.F90 +++ b/src/drivers/mct/shr/seq_timemgr_mod.F90 @@ -744,7 +744,7 @@ subroutine seq_timemgr_clockInit(SyncClock, nmlfile, restart, restart_file, pioi (trim(pause_option) /= seq_timemgr_optNONE) .and. & (trim(pause_option) /= seq_timemgr_optNever)) then do n = 1, max_clocks - if (pause_active(n)) then + if (pause_active(n) .and. (iam == 0)) then write(logunit, '(4a)') subname, ': Pause active for ', & trim(seq_timemgr_clocks(n)),' component' end if