libera_utils.scene_identification.scene_id_algorithm#

SCENE-ID algorithm runners for the Libera radiometer.

This module is the single home for every SCENE-ID runner. The radiometer-timescale (SCENE-ID-CAM) and camera-timescale (SCENE-ID-CAM-CAMTIME) products are structurally identical: read an input manifest, keep the input files of a particular product, run scene identification on each footprint, write the resulting SCENE-ID product, and emit an output manifest. They differ only by a handful of parameters:

  • which product id counts as an input (FMATCH-CAM-CAMTIME, or None for the CERES SSF placeholder CAM uses),

  • which FootprintData factory reads it,

  • which product-definition YAML / time variable the output is written against,

  • which scene classifications are run, and

  • logging labels.

run_algorithm() is parameterized by a small SceneIdRunnerConfig. The concrete runners are just the SceneIdRunnerConfig values collected in RUNNER_CONFIGS, keyed by variant name ("cam", "cam-camtime"). Every variant runs from the one libera-utils scene-id <manifest> command, and so from one container image: scene_id_cli_handler() selects the config named by the LIBERA_SCENE_ID_VARIANT environment variable, which each processing step sets.

Functions

collect_input_files(input_manifest, ...)

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

create_and_write_data_product(...)

Write a footprint dataset as a SCENE-ID Libera NetCDF data product.

resolve_runner_config_from_env()

Select the SCENE-ID runner config named by the LIBERA_SCENE_ID_VARIANT environment variable.

run_algorithm(manifest_path, config)

Run a SCENE-ID processing workflow from an input manifest.

run_scene_identification(fmatch_file_path, ...)

Classify all footprints in a single input file into scene IDs.

scene_id_cli_handler(parsed_args)

Run the SCENE-ID variant selected by LIBERA_SCENE_ID_VARIANT from an input manifest.

Classes

SceneIdRunnerConfig(input_product_id, ...)

Everything that distinguishes one SCENE-ID runner from another.