polaris.tasks.e3sm.init.component_inputs.get_component_inputs_steps

polaris.tasks.e3sm.init.component_inputs.get_component_inputs_steps(mesh_name, target='all')[source]

Get shared steps for staging E3SM component input files for one mesh.

Composes the full dependency chain: the upstream cull-topography steps from e3sm/init (via get_cull_topo_steps()), then the steps that stage products from them.

Only what target needs is built. That is what makes the sea-ice target genuinely independent of the ocean: asking for it does not create the dynamic-adjustment chain at all, so a sea-ice task cannot end up waiting on a model run it has no use for.

All steps are created via polaris.Component.get_or_create_shared_step(), so the three tasks that share most of these steps get the same instances rather than three copies of the work.

Parameters:
  • mesh_name (str) – The name of the base mesh to stage component inputs for.

  • target ({'all', 'ocean', 'seaice'}, optional) – Which products to build steps for.

Returns:

  • steps (dict of {str: polaris.Step}) – The upstream shared steps this target needs, plus its component-input steps, keyed by their suggested symlink names.

  • config (polaris.config.PolarisConfigParser) – The shared config options for the component-input steps.

Raises:

ValueError – If target is not one this workflow stages.