CIME.SystemTests package

Submodules

CIME.SystemTests.dae module

Implementation of the CIME data assimilation test: Compares standard run with run broken into two data assimilation cycles. Runs a simple DA script on each cycle which performs checks but does not change any model state (restart files). Compares answers of two runs.

class CIME.SystemTests.dae.DAE(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

Implementation of the CIME data assimilation test: Compares standard run with a run broken into two data assimilation cycles. Runs a simple DA script on each cycle which performs checks but does not change any model state (restart files). Compares answers of two runs. Refers to a faux data assimilation script in the cime/scripts/data_assimilation directory

run_phase()[source]

Runs both phases of the two-phase test and compares their results If success_change is True, success requires some files to be different

CIME.SystemTests.eri module

CIME ERI test This class inherits from SystemTestsCommon

class CIME.SystemTests.eri.ERI(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.erio module

ERIO tests restart with different PIO methods

This class inherits from SystemTestsCommon

class CIME.SystemTests.erio.ERIO(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.erp module

CIME ERP test. This class inherits from RestartTest

This is a pes counts hybrid (open-MP/MPI) restart bfb test from startup. This is just like an ERS test but the pe-counts/threading count are modified on restart. (1) Do an initial run with pes set up out of the box (suffix base) (2) Do a restart test with half the number of tasks and threads (suffix rest)

class CIME.SystemTests.erp.ERP(case)[source]

Bases: CIME.SystemTests.restart_tests.RestartTest

CIME.SystemTests.err module

CIME ERR test This class inherits from ERS ERR tests short term archiving and restart capabilities

class CIME.SystemTests.err.ERR(case)[source]

Bases: CIME.SystemTests.restart_tests.RestartTest

CIME.SystemTests.erri module

CIME ERRI test This class inherits from ERR ERRI tests short term archiving and restart capabilities with “incomplete” (unzipped) log files

class CIME.SystemTests.erri.ERRI(case)[source]

Bases: CIME.SystemTests.err.ERR

CIME.SystemTests.ers module

CIME restart test This class inherits from SystemTestsCommon

class CIME.SystemTests.ers.ERS(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.ers2 module

CIME restart test 2 This class inherits from SystemTestsCommon

class CIME.SystemTests.ers2.ERS2(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.ert module

CIME production restart test This class inherits from SystemTestsCommon Exact restart from startup, default 2 month + 1 month

class CIME.SystemTests.ert.ERT(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.funit module

CIME FUNIT test. This class inherits from SystemTestsCommon. It runs the fortran unit tests; grid and compset are ignored.

class CIME.SystemTests.funit.FUNIT(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

get_test_spec_dir()[source]

Override this to change what gets tested.

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.homme module

class CIME.SystemTests.homme.HOMME(case)[source]

Bases: CIME.SystemTests.hommebaseclass.HommeBase

CIME.SystemTests.hommebaseclass module

CIME HOMME test. This class inherits from SystemTestsCommon

class CIME.SystemTests.hommebaseclass.HommeBase(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.hommebfb module

class CIME.SystemTests.hommebfb.HOMMEBFB(case)[source]

Bases: CIME.SystemTests.hommebaseclass.HommeBase

CIME.SystemTests.icp module

CIME ICP test This class inherits from SystemTestsCommon

class CIME.SystemTests.icp.ICP(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.irt module

Implementation of the CIME IRT. (Interim Restart Test) This test the model’s restart capability as well as the short term archiver’s interim restart capability

  1. Do a Run of length N with restart at N/2 and DOUT_S_SAVE_INTERIM_RESTART set to TRUE

  2. Archive Run using ST archive tools

  3. Recover first interim restart to the case2 run directory

  4. Start case2 from restart and run to the end of case1

  5. compare results.

class CIME.SystemTests.irt.IRT(case)[source]

Bases: CIME.SystemTests.restart_tests.RestartTest

CIME.SystemTests.ldsta module

CIME last date short term archiver test. This class inherits from SystemTestsCommon It does a run without restarting, then runs the archiver with various last-date parameters The test verifies the archive directory contains the expected files

class CIME.SystemTests.ldsta.LDSTA(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.mcc module

Implemetation of CIME MCC test: Compares ensemble methods

This does two runs: In the first we run a three member ensemble using the

MULTI_DRIVER capability, then we run a second single instance case and compare

class CIME.SystemTests.mcc.MCC(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.mvk module

CIME.SystemTests.nck module

Implementation of the CIME NCK test: Tests multi-instance

This does two runs: In the first, we use one instance per component; in the second, we use two instances per components. NTASKS are changed in each run so that the number of tasks per instance is the same for both runs.

Lay all of the components out sequentially

class CIME.SystemTests.nck.NCK(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.ncr module

Implementation of the CIME NCR test. This class inherits from SystemTestsCommon

Build two exectuables for this test: The first runs two instances for each component with the same total number of tasks, and runs each of them concurrently The second is a default build

NOTE: This is currently untested, and may not be working properly

class CIME.SystemTests.ncr.NCR(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.nodefail module

CIME restart upon failed node test.

class CIME.SystemTests.nodefail.NODEFAIL(case)[source]

Bases: CIME.SystemTests.ers.ERS

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.pea module

Implementation of the CIME PEA test.

Builds runs and compares a single processor mpi model to a model built using mpi-serial (1) do a run with default mpi library (suffix base) (2) do a run with mpi-serial (suffix mpi-serial)

class CIME.SystemTests.pea.PEA(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.pem module

Implementation of the CIME PEM test: Tests bfb with different MPI processor counts

This is just like running a smoke test twice - but the pe-counts are modified the second time. (1) Run with pes set up out of the box (suffix base) (2) Run with half the number of tasks (suffix modpes)

class CIME.SystemTests.pem.PEM(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.pet module

Implementation of the CIME PET test. This class inherits from SystemTestsCommon

This is an openmp test to determine that changing thread counts does not change answers. (1) do an initial run where all components are threaded by default (suffix: base) (2) do another initial run with nthrds=1 for all components (suffix: single_thread)

class CIME.SystemTests.pet.PET(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.pfs module

CIME performance test This class inherits from SystemTestsCommon

20 days performance test, no restart files written

class CIME.SystemTests.pfs.PFS(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.pgn module

CIME.SystemTests.pre module

Implementation of the CIME pause/resume test: Tests having driver ‘pause’ (write cpl restart file) and ‘resume’ (read cpl restart file) possibly changing the restart file. Compared to non-pause/resume run. Test can also be run with other component combinations. Test requires DESP component to function correctly.

class CIME.SystemTests.pre.PRE(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

Implementation of the CIME pause/resume test: Tests having driver ‘pause’ (write cpl and/or other restart file(s)) and ‘resume’ (read cpl and/or other restart file(s)) possibly changing restart file. Compare to non-pause/resume run.

run_phase()[source]

Runs both phases of the two-phase test and compares their results If success_change is True, success requires some files to be different

CIME.SystemTests.rep module

Implementation of the CIME REP test

This test verifies that two identical runs give bit-for-bit results

class CIME.SystemTests.rep.REP(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.restart_tests module

Abstract class for restart tests

class CIME.SystemTests.restart_tests.RestartTest(case, separate_builds, run_two_suffix='restart', run_one_description='initial', run_two_description='restart', multisubmit=False)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.seq module

sequencing bfb test (10 day seq,conc tests)

class CIME.SystemTests.seq.SEQ(case)[source]

Bases: CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo

CIME.SystemTests.sms module

CIME smoke test This class inherits from SystemTestsCommon It does a startup run with restarts off and optionally compares to or generates baselines

class CIME.SystemTests.sms.SMS(case)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

CIME.SystemTests.system_tests_common module

Base class for CIME system tests

class CIME.SystemTests.system_tests_common.FakeTest(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

Inheriters of the FakeTest Class are intended to test the code.

All members of the FakeTest Class must have names beginnig with “TEST” this is so that the find_system_test in utils.py will work with these classes.

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

run_indv(suffix='base', st_archive=False)[source]

Perform an individual run. Raises an EXCEPTION on fail.

class CIME.SystemTests.system_tests_common.SystemTestsCommon(case, expected=None)[source]

Bases: object

build(sharedlib_only=False, model_only=False, old_build=False, ninja=False, dry_run=False)[source]

Do NOT override this method, this method is the framework that controls the build phase. build_phase is the extension point that subclasses should use.

build_indv(sharedlib_only=False, model_only=False)[source]

Perform an individual build

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

clean_build(comps=None)[source]
compare_env_run(expected=None)[source]

Compare env_run file to original and warn about differences

run(skip_pnl=False)[source]

Do NOT override this method, this method is the framework that controls the run phase. run_phase is the extension point that subclasses should use.

run_indv(suffix='base', st_archive=False)[source]

Perform an individual run. Raises an EXCEPTION on fail.

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTBUILDFAIL(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.TESTRUNPASS

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTBUILDFAILEXC(case)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

class CIME.SystemTests.system_tests_common.TESTMEMLEAKFAIL(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTMEMLEAKPASS(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTRUNDIFF(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

You can generate a diff with this test as follows: 1) Run the test and generate a baseline 2) set TESTRUNDIFF_ALTERNATE environment variable to TRUE 3) Re-run the same test from step 1 but do a baseline comparison instead of generation

3.a) This should give you a DIFF

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTRUNDIFFRESUBMIT(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.TESTRUNDIFF

class CIME.SystemTests.system_tests_common.TESTRUNFAIL(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTRUNFAILEXC(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.TESTRUNPASS

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTRUNPASS(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTRUNSLOWPASS(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTRUNSTARCFAIL(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.TESTRUNPASS

class CIME.SystemTests.system_tests_common.TESTRUNUSERXMLCHANGE(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

class CIME.SystemTests.system_tests_common.TESTTESTDIFF(case, expected=None)[source]

Bases: CIME.SystemTests.system_tests_common.FakeTest

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

run_phase()[source]

This is the default run phase implementation, it just does an individual run. This is the subclass’ extension point if they need to define a custom run phase.

PLEASE THROW AN EXCEPTION ON FAIL

CIME.SystemTests.system_tests_compare_two module

Base class for CIME system tests that involve doing two runs and comparing their output.

In the __init__ method for your test, you MUST call

SystemTestsCompareTwo.__init__

See the documentation of that method for details.

Classes that inherit from this are REQUIRED to implement the following methods:

  1. _case_one_setup This method will be called to set up case 1, the “base” case

  2. _case_two_setup This method will be called to set up case 2, the “test” case

In addition, they MAY require the following methods:

  1. _common_setup This method will be called to set up both cases. It should contain any setup that’s needed in both cases. This is called before _case_one_setup or _case_two_setup.

  2. _case_one_custom_prerun_action(self): Use this to do arbitrary actions immediately before running case one

  3. _case_two_custom_prerun_action(self): Use this to do arbitrary actions immediately before running case two

  4. _case_one_custom_postrun_action(self): Use this to do arbitrary actions immediately after running case one

  5. _case_two_custom_postrun_action(self): Use this to do arbitrary actions immediately after running case two

class CIME.SystemTests.system_tests_compare_two.SystemTestsCompareTwo(case, separate_builds=False, run_two_suffix='test', run_one_description='', run_two_description='', multisubmit=False, ignore_fieldlist_diffs=False)[source]

Bases: CIME.SystemTests.system_tests_common.SystemTestsCommon

build_phase(sharedlib_only=False, model_only=False)[source]

This is the default build phase implementation, it just does an individual build. This is the subclass’ extension point if they need to define a custom build phase.

PLEASE THROW EXCEPTION ON FAIL

copy_case1_restarts_to_case2()[source]

Makes a copy (or symlink) of restart files and related files (necessary history files, rpointer files) from case1 to case2.

This is not done automatically, but can be called by individual tests where case2 does a continue_run using case1’s restart files.

run_phase(success_change=False)[source]

Runs both phases of the two-phase test and compares their results If success_change is True, success requires some files to be different

CIME.SystemTests.tsc module

Module contents