libera_utils.scene_identification.scene_id_algorithm.collect_input_files#

libera_utils.scene_identification.scene_id_algorithm.collect_input_files(input_manifest: Manifest, input_product_id: DataProductIdentifier | None) → list[str]#

Select the input files referenced by a manifest for a runner.

This supports two modes, distinguished by input_product_id:

  • Libera-product mode (input_product_id is a DataProductIdentifier): the operational case. Keeps exactly the manifest files whose Libera product id equals input_product_id.

  • Placeholder mode (input_product_id is None): the case SCENE-ID-CAM uses, where the input is a raw CERES SSF file. CERES SSF files are not Libera products, so they do not parse as a LiberaDataProductFilename. We use that fact to keep exactly the files that do not parse, and skip any Libera-named ancillary files that might also appear in the manifest.

Files whose names do not parse as a LiberaDataProductFilename are skipped in Libera-product mode.

Parameters:
  • input_manifest (Manifest) – The input manifest to inspect.

  • input_product_id (DataProductIdentifier or None) – The Libera product id to keep (e.g. aux_fmatch_cam_camtime), or None for the CERES SSF placeholder mode.

Returns:

The manifest filenames identified as inputs, in manifest order.

Return type:

list[str]