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:
  • cell_width (float) – The approximate cell width in km of the mesh if constant resolution

  • subdivisions (int) – The number of subdivisions of the icosahedral mesh to perform

__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.

build_subdivisions_cell_width_lat_lon()

A function for creating cell width array for this mesh on a regular latitude-longitude grid.

constrain_resources(available_resources)

Constrain cpus_per_task and ntasks based on the number of cores available to this step

get_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() and compass.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 plot

set_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.