compass.landice.tests.humboldt.run_model.RunModel¶
- class compass.landice.tests.humboldt.run_model.RunModel(test_case, velo_solver, mesh_type, name='run_model', calving_law=None, damage=None, face_melt=False, subdir=None, cores=1, min_cores=None, threads=1, suffixes=None)[source]¶
A step for performing forward MALI runs as part of Humboldt test cases.
- Variables
mesh_type (str) – The resolution or mesh type of the test case
velo_solver (str) – The velocity solver used for the test case
calving_law (str) – The calving law used for the test case
suffixes (list of str, optional) – a list of suffixes for namelist and streams files produced for this step. Most steps most runs will just have a
namelist.landice
and astreams.landice
(the default) but therestart_run
step of therestart_test
runs the model twice, the second time withnamelist.landice.rst
andstreams.landice.rst
mesh_file (str) – The name of the mesh file being used
forcing_file (str) – The name of the forcing file being used
- __init__(test_case, velo_solver, mesh_type, name='run_model', calving_law=None, damage=None, face_melt=False, subdir=None, cores=1, min_cores=None, threads=1, suffixes=None)[source]¶
Create a new test case
- Parameters
test_case (compass.TestCase) – The test case this step belongs to
velo_solver ({'sia', 'FO', 'none'}) – The velocity solver setting to use for this test case
calving_law (str, optional) – The calving law setting to use for this test case. If not specified, set to ‘none’. Valid values are: ‘none’, ‘floating’, ‘eigencalving’, ‘specified_calving_velocity’, ‘von_Mises_stress’, ‘damagecalving’, ‘ismip6_retreat’
damage (str) – The damage method used for the test case
face_melt (bool) – Whether to include face melting
mesh_type ({'1km', '3km'}) – The resolution or mesh type of the test case
name (str, optional) – the name of the test case
subdir (str, optional) – the subdirectory for the step. The default is
name
cores (int, optional) – the number of cores the step would ideally use. If fewer cores are available on the system, the step will run on all available cores as long as this is not below
min_cores
min_cores (int, optional) – the number of cores the step requires. If the system has fewer than this number of cores, the step will fail
threads (int, optional) – the number of threads the step will use
suffixes (list of str, optional) – a list of suffixes for namelist and streams files produced for this step. Most steps most runs will just have a
namelist.landice
and astreams.landice
(the default) but therestart_run
step of therestart_test
runs the model twice, the second time withnamelist.landice.rst
andstreams.landice.rst
Methods
__init__
(test_case, velo_solver, mesh_type)Create a new test case
add_input_file
([filename, target, database, ...])Add an input file to the step (but not necessarily to the MPAS model).
add_model_as_input
()make a link to the model executable and add it to the inputs
add_namelist_file
(package, namelist[, ...])Add a file with updates to namelist options to the step to be parsed when generating a complete namelist file if and when the step gets set up.
add_namelist_options
(options[, out_name, mode])Add the namelist replacements to be parsed when generating a namelist file if and when the step gets set up.
add_output_file
(filename)Add the output file that must be produced by this step and may be made available as an input to steps, perhaps in other test cases.
add_streams_file
(package, streams[, ...])Add a streams file to the step to be parsed when generating a complete streams file if and when the step gets set up.
process_inputs_and_outputs
()Process the inputs to and outputs from a step added with
compass.Step.add_input_file()
andcompass.Step.add_output_file()
.run
()Run this step of the test case
setup
()Set up the test case in the work directory, including downloading any dependencies.
update_namelist_at_runtime
(options[, out_name])Update an existing namelist file with additional options.
update_namelist_pio
([out_name])Modify the namelist so the number of PIO tasks and the stride between them consistent with the number of nodes and cores (one PIO task per node).
update_streams_at_runtime
(package, streams, ...)Update the streams files during the run phase of this step using the given template and replacements.