Source code for compass.landice.tests.dome.smoke_test

from compass.testcase import TestCase
from compass.landice.tests.dome.setup_mesh import SetupMesh
from compass.landice.tests.dome.run_model import RunModel
from compass.landice.tests.dome.visualize import Visualize


[docs] class SmokeTest(TestCase): """ The default test case for the dome test group simply creates the mesh and initial condition, then performs a short forward run on 4 cores. Attributes ---------- mesh_type : str The resolution or type of mesh of the test case velo_solver : {'sia', 'FO'} The velocity solver to use for the test case """
[docs] def __init__(self, test_group, velo_solver, mesh_type): """ Create the test case Parameters ---------- test_group : compass.landice.tests.dome.Dome The test group that this test case belongs to velo_solver : {'sia', 'FO'} The velocity solver to use for the test case mesh_type : str The resolution or type of mesh of the test case """ name = 'smoke_test' self.mesh_type = mesh_type self.velo_solver = velo_solver subdir = '{}/{}_{}'.format(mesh_type, velo_solver.lower(), name) super().__init__(test_group=test_group, name=name, subdir=subdir) self.add_step( SetupMesh(test_case=self, mesh_type=mesh_type)) step = RunModel(test_case=self, ntasks=4, openmp_threads=1, name='run_step', velo_solver=velo_solver, mesh_type=mesh_type) if velo_solver == 'sia': step.add_namelist_options( {'config_run_duration': "'0200-00-00_00:00:00'"}) self.add_step(step) step = Visualize(test_case=self, mesh_type=mesh_type) self.add_step(step, run_by_default=False)
# no configure() method is needed because we will use the default dome # config options # no run() method is needed because we're doing the default: running all # steps