Skip to content

Conversation

wietzesuijker
Copy link
Collaborator

Introduces centralized collection registry to eliminate hardcoded satellite-specific logic. Enables adding new missions through configuration entries rather than code changes.

Changes

  • Collection registry defines all mission parameters in structured configs
  • Each entry specifies conversion params, preview settings, asset handling
  • get_conversion_params.py retrieves parameters dynamically
  • Workflow template uses registry instead of conditional logic
  • S1 and S2 refactored into unified architecture

Usage

Adding Sentinel-3 OLCI requires only a registry entry:

"sentinel-3-olci": {
    "pattern": "sentinel-3-olci*",
    "conversion": {"groups": "/measurements/radiance", ...},
    "preview": {"assets": ("Oa08", "Oa06", "Oa04"), ...},
    ...
}

Testing

./scripts/get_conversion_params.py sentinel-2-l2a
uv run pytest tests/unit/ -v

Impact

New mission setup takes minutes instead of hours. S1 and S2 workflows unchanged.

@wietzesuijker wietzesuijker force-pushed the feat/collection-registry branch from 077445d to 7b3debe Compare October 9, 2025 03:46
@wietzesuijker wietzesuijker force-pushed the feat/s1-grd-support branch 3 times, most recently from 0dae4ca to a770b41 Compare October 9, 2025 03:59
Generalize pipeline through collection registry pattern:

- Collection-specific parameter registry (groups, chunks, tile sizes)
- Dynamic parameter lookup script (get_conversion_params.py)
- Registry integration across all workflow stages
- Support for S2 L2A and S1 GRD with distinct parameters
- Kustomize-based deployment structure

Enables scalable addition of new missions (S3, S5P, etc.) through
registry configuration without code changes.
@wietzesuijker wietzesuijker force-pushed the feat/collection-registry branch from 7b3debe to eef0652 Compare October 9, 2025 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant