Build multi-elevation storm cells from the reflectivity observations produced by #164.
Scope
- Associate spatially connected observations across available reflectivity elevations in one radar volume.
- Represent each cell by its ground footprint and reflectivity-weighted ground-footprint centroid.
- During live collection, update cells as elevations arrive and mark them provisional.
- Finalize the volume-cell set when the volume completes.
- Preserve enough geometry and provenance for temporal tracking and inspection.
Non-goals
- Associating cells across volumes or estimating motion.
- Distance-tool interaction.
- Supporting non-reflectivity products.
Acceptance criteria
- Representative vertically coherent observations aggregate into one volume cell according to documented rules.
- Spatially distinct observations remain separate, including cases with overlap at only some elevations.
- Provisional cells update deterministically as live elevations arrive and are visibly distinguishable from finalized cells.
- Finalization is deterministic and does not retain stale observations from an earlier volume.
- Every cell exposes its contributing sweeps, ground footprint, centroid, vertical extent, intensity summary, and provisional/final state.
- Curated fixtures cover isolated cells, nearby cells, vertical gaps, incremental updates, and completion.
- Aggregation decisions are pure and headlessly tested.
Depends on #164. Parent: #33
Build multi-elevation storm cells from the reflectivity observations produced by #164.
Scope
Non-goals
Acceptance criteria
Depends on #164. Parent: #33