libera_utils.scene_identification.scene_id_algorithm.SceneIdRunnerConfig#

class libera_utils.scene_identification.scene_id_algorithm.SceneIdRunnerConfig(input_product_id: DataProductIdentifier | None, output_product_id: DataProductIdentifier, reader: Callable[[str | Path | S3Path], FootprintData], product_definition_path: Path, time_variable: str, scene_types: list[str], log_prefix: str)#

Bases: object

Everything that distinguishes one SCENE-ID runner from another.

Variables:
  • input_product_id (DataProductIdentifier or None) – The Libera product id that counts as an input for this runner (e.g. aux_fmatch_cam_camtime). Files with any other product id (or unparsable names) are skipped. Pass None for the placeholder mode used by SCENE-ID-CAM today, where the input is a raw CERES SSF file that is not a Libera product: in that mode the runner keeps exactly the manifest files that do not parse as a Libera product filename. See collect_input_files().

  • output_product_id (DataProductIdentifier) – The SCENE-ID product this runner emits. Used only for documentation/logging; the written filename’s product id is driven by the product definition’s ProductID attribute.

  • reader (Callable[[Path], FootprintData]) – The FootprintData factory that reads one input file (e.g. FootprintData.from_ceres_ssf or FootprintData.from_fmatch_cam_camtime).

  • product_definition_path (Path) – Path to the SCENE-ID product-definition YAML the output is validated/written against.

  • time_variable (str) – Name of the datetime64 coordinate variable in the written product (RADIOMETER_TIME or CAMERA_TIME).

  • scene_types (list[str]) – Scene classification types to run (CAM runs ["erbe", "unfiltering"]).

  • log_prefix (str) – Short label used in task-log filenames (e.g. scene_id_cam / scene_id_cam_camtime).

__init__(input_product_id: DataProductIdentifier | None, output_product_id: DataProductIdentifier, reader: Callable[[str | Path | S3Path], FootprintData], product_definition_path: Path, time_variable: str, scene_types: list[str], log_prefix: str) → None#