polaris.tasks.e3sm.init.component_inputs.ComponentInputsAssembleStep
- class polaris.tasks.e3sm.init.component_inputs.ComponentInputsAssembleStep(component, subdir, target, product_steps, cull_mesh_step, name=None)[source]
A step for materializing the staged tree of component input files.
Compass scatters
symlink()calls through the product steps, which is what makes itsassembled_filestree hard to reason about: to know what is in it you have to read every step. Here the product steps write only their own outputs and this step builds the tree, so the layout lives in one place –polaris.e3sm.init.inputdataandnamesfor the paths, and this step for what goes where.One assembly step per task, because the three tasks stage different sets.
- Variables:
target ({'ocean', 'seaice', 'all'}) – Which products this step stages.
product_steps (dict of {str: polaris.Step}) – The steps whose outputs are staged, keyed as
get_component_inputs_steps()keys them.
- __init__(component, subdir, target, product_steps, cull_mesh_step, name=None)[source]
Create a new step.
- Parameters:
component (polaris.Component) – The component the step belongs to.
subdir (str) – The subdirectory for the step.
target ({'ocean', 'seaice', 'all'}) – Which products to stage.
product_steps (dict of {str: polaris.Step}) – All component-input steps, from which this picks what
targetcalls for.cull_mesh_step (polaris.tasks.e3sm.init.topo.cull.cull.CullMeshStep) – The step that wrote the culled land mesh.
name (str, optional) – The name of the step.
Methods
__init__(component, subdir, target, ...[, name])Create a new step.
add_cf_check([filename])Check an output file for CF compliance after the step runs.
add_dependency(step[, name])Add step as a dependency of this step (i.e. this step can't run until the dependency has finished).
add_input_file([filename, target, database, ...])Add an input file to the step (but not necessarily to the MPAS model).
add_output_file(filename[, validate_vars, ...])Add the output file to the step
add_property_check(filename, check_properties)Add a single conservation comparison for an output file
check_cf()Check the files added with
add_cf_check()for CF compliance.check_properties()Check conservation properties of the output files of this step.
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
polaris.Step.add_input_file()andpolaris.Step.add_output_file().run()Build the staged tree, from empty.
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.
set_shared_config(config[, link])Replace the step's config parser with the shared config parser
setup()Set up the task in the work directory, including downloading any dependencies.
stage(source, staged_path)Link one product into the assembled tree at its E3SM-facing path.
stage_partitions(step, basename, path_func)Link every partition the given step produced.
step_dir(step)The work directory of another step, found from this one's.
validate_baselines()Compare variables between output files in this step and in the same step from a baseline run if one was provided.
work_path(*filenames)Get the absolute path to a file or directory in the step's work directory
Attributes
LAND_MESH_FILENAMEThe cull step's land mesh, staged as it was written.
coresthe number of cores this step needs, in total
gpusthe number of GPUs this step needs, in total
may_span_nodeswhether this step's cores and GPUs may come from several nodes
min_coresthe number of cores this step needs in order to run at all
min_gpusthe number of GPUs this step requires, in total