compass.mesh.IcosahedralMeshStep¶
- class compass.mesh.IcosahedralMeshStep(test_case, name='base_mesh', subdir=None, cell_width=None, subdivisions=None)[source]¶
A step for creating an icosahedral JIGSAW mesh
- Variables:
- __init__(test_case, name='base_mesh', subdir=None, cell_width=None, subdivisions=None)[source]¶
Create a new step
- Parameters:
test_case (compass.testcase.TestCase) – The test case this step belongs to
name (str, optional) – the name of the step
subdir ({str, None}, optional) – the subdirectory for the step
cell_width (float, optional) – The approximate cell width in km of the mesh if constant resolution
subdivisions (int, optional) – The number of subdivisions of the icosahedral mesh to perform
Methods
__init__
(test_case[, name, subdir, ...])Create a new step
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.
A function for creating cell width array for this mesh on a regular latitude-longitude grid.
constrain_resources
(available_resources)Constrain
cpus_per_task
andntasks
based on the number of cores available to this stepget_cell_width
(subdivisions)Get the approximate cell width for an icosahedral mesh given either a number of subdivisions of the icosahedron.
get_subdivisions
(cell_width)Find the number of subdivisions of an icosahedron to achieve a resolution as close as possible to
cell_width
.make_jigsaw_mesh
(subdivisions)Make the JIGSAW mesh.
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
runtime_setup
()Update attributes of the step at runtime before calling the
run()
method.save_and_plot_cell_width
(lon, lat, cell_width)Save the cell width field on a lon/lat grid to
self.cell_width_filename
and plotset_resources
([cpus_per_task, ...])Update the resources for the subtask.
setup
()Add JIGSAW options based on config options
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.