Skip to content

CoDICE: handle SCI-LUT transitions across files and energy grids - #3642

Open
bryan-harter wants to merge 1 commit into
devfrom
fix/codice-sci-lut-transition-20261111
Open

bryan-harter wants to merge 1 commit into
devfrom
fix/codice-sci-lut-transition-20261111

Conversation

@bryan-harter

Copy link
Copy Markdown
Member

CoDICE transition days can contain packets using both the preceding and newly effective SCI-LUT. On 2025-12-18, processing fails for table 3972558773 when it uses only the first supplied LUT.

Index all supplied SCI-LUT dependencies by table ID and route each existing packet group to its matching source file. Allow identical entries repeated in cumulative deliveries, reject conflicting definitions, and report missing IDs before processing the affected APID. Preserve single-file callers and dependency provenance.

The transition also changes voltage-table values. Retain differing voltage tables by epoch, preserve that shape when L1B computes energy-per-charge and its labels, and keep the ESA-step axis in L2 when energy is time dependent. Identical static voltage tables retain their existing one-dimensional representation.

Companion dependency-selection PR: IMAP-Science-Operations-Center/sds-data-manager#1779. The processing change must be available in the CoDICE image before enabling that dependency-selection change.

Validation:

  • CoDICE non-external tests: 21 passed, 47 deselected; includes per-ID routing, conflicts, missing IDs, chronological recombination, static support tables, L1B energy calculation, and L2 coordinate handling.
  • Ruff and whitespace checks passed.
  • Offline CLI validation using all 4,532 real table-bearing science packets from the December 18 L0 produced ten L1A science CDFs, with both LUTs recorded as parents.
  • All five Lo products passed L1B conversion and CDF write/readback with epoch-dependent energy grids.

The focused real-data run excludes housekeeping/direct events. The full 112,189-packet CLI attempt reached its 360-second bound before completion. Full production L2 processing was not run. No processing jobs were submitted and no ancillary deliveries or production data were changed.

Related to #2697.

This branch has not been deployed

No deployments
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