compass.landice.tests.ismip7_calibration.ais.run_state.RunState
- class compass.landice.tests.ismip7_calibration.ais.run_state.RunState(test_case, state_name, melt_form, subdir, parameter_scale=1.0)[source]
A step that runs MALI for a single timestep to diagnose the melt field for one ocean state, using one melt form.
Melt is computed from the geometry and the forcing alone, so no ice dynamics, no thermal evolution and no transient are needed. The velocity solver is off, which also means Albany is not required.
The run takes one short timestep rather than none, because MALI computes melt inside the timestep rather than in the initial diagnostic solve; a zero-length run would produce no melt at all.
One run per ocean state suffices, not one per parameter value: melt is exactly proportional to the melt parameter, so the whole parameter ensemble follows by scaling a single run. That is what turns a ~1300-run campaign into 28.
- Variables:
- __init__(test_case, state_name, melt_form, subdir, parameter_scale=1.0)[source]
Create the step
- Parameters:
test_case (compass.landice.tests.ismip7_calibration.ais.Ais) – The test case this step belongs to
state_name (str) – Name of the ocean state to run
melt_form ({'ismip7', 'ismip6'}) – Which melt form to run
subdir (str) – Subdirectory for this step
parameter_scale (float, optional) – Multiple of the reference melt parameter to run at. Only the linearity check uses anything other than 1.
Methods
__init__(test_case, state_name, melt_form, ...)Create the 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.
constrain_resources(available_resources)Constrain
cpus_per_taskandntasksbased on the number of cores available to this stepprocess_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
Set the number of ocean layers from the forcing file
set_resources([cpus_per_task, ...])Update the resources for the subtask.
setup()Set up this step of the test case
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.