compass.landice.tests.ensemble_generator.ensemble_member.EnsembleMember

class compass.landice.tests.ensemble_generator.ensemble_member.EnsembleMember(test_case, run_num, test_resources_location, basal_fric_exp=None, mu_scale=None, stiff_scale=None, von_mises_threshold=None, calv_spd_lim=None, gamma0=None, meltflux=None, deltaT=None)[source]

A step for setting up a single ensemble member

Variables:
  • run_num (integer) – the run number for this ensemble member

  • name (str) – the name of the run being set up in this step

  • ntasks (integer) – the number of parallel (MPI) tasks the step would ideally use

  • test_resources_location (str) – path to the python package that contains the resources to be used for the test (namelist, streams, albany input file)

  • input_file_name (str) – name of the input file that was read from the config

  • basal_fric_exp (float) – value of basal friction exponent to use

  • mu_scale (float) – value to scale muFriction by

  • stiff_scale (float) – value to scale stiffnessFactor by

  • von_mises_threshold (float) – value of von Mises stress threshold to use

  • calv_spd_lim (float) – value of calving speed limit to use

  • gamma0 (float) – value of gamma0 to use in ISMIP6 ice-shelf basal melt param.

  • deltaT (float) – value of deltaT to use in ISMIP6 ice-shelf basal melt param.

__init__(test_case, run_num, test_resources_location, basal_fric_exp=None, mu_scale=None, stiff_scale=None, von_mises_threshold=None, calv_spd_lim=None, gamma0=None, meltflux=None, deltaT=None)[source]

Creates a new run within an ensemble

Parameters:
  • test_case (compass.TestCase) – The test case this step belongs to

  • run_num (integer) – the run number for this ensemble member

  • test_resources_location (str) – path to the python package that contains the resources to be used for the test (namelist, streams, albany input file)

  • basal_fric_exp (float) – value of basal friction exponent to use

  • mu_scale (float) – value to scale muFriction by

  • stiff_scale (float) – value to scale stiffnessFactor by

  • von_mises_threshold (float) – value of von Mises stress threshold to use assumes same value for grounded and floating ice

  • calv_spd_lim (float) – value of calving speed limit to use

  • gamma0 (float) – value of gamma0 to use in ISMIP6 ice-shelf basal melt param.

  • deltaT (float) – value of deltaT to use in ISMIP6 ice-shelf basal melt param.

Methods

__init__(test_case, run_num, ...[, ...])

Creates a new run within an ensemble

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_task and ntasks based on the number of cores available to this step

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 member of the ensemble.

runtime_setup()

Update attributes of the step at runtime before calling the run() method.

set_resources([cpus_per_task, ...])

Update the resources for the subtask.

setup()

Set up this run by setting up a baseline run configuration and then modifying parameters for this ensemble member based on an externally provided unit parameter vector

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.