Skip to content

CoDICE: retain preceding SCI-LUT on transition days - #1779

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

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

Conversation

@bryan-harter

@bryan-harter bryan-harter commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

A daily CoDICE L1A input can span an onboard SCI-LUT change even though ancillary validity is recorded only by date. On 2025-12-18, the new LUT contains table 3974360784, while early science packets still require 3972558773 from the delivery ending 2025-12-17.

Add a CoDICE L1A all custom handler that retains the latest version of the immediately preceding LUT when the selected LUT becomes effective during the daily partition. Both filenames enter the normal dependency manifest and hash. Other ancillaries and non-transition days keep the existing selector behavior; the instrument-team deliveries are unchanged.

Validation: pytest tests/test_codice_lut_dependencies.py -q — 5 passed against an in-memory SQLite ancillary catalog. Covers expired predecessor inclusion, independent version selection, future exclusion, normal days, first delivery, unrelated ancillary inputs, missing required coverage, and handler registration. Ruff and whitespace checks pass.

Companion processing PR: IMAP-Science-Operations-Center/imap_processing#3642. It resolves supplied LUTs by packet Table_ID instead of using the first file and preserves changing voltage/energy grids. Keep this draft until the processing change is available in the CoDICE image; enabling dependency selection first would still leave the existing processor using only one LUT.

Related: IMAP-Science-Operations-Center/imap_processing#2697

Companion processing validation is now complete locally: 21 non-external CoDICE tests passed; all 4,532 real table-bearing science packets from December 18 produced ten L1A science CDFs, and all five Lo products passed L1B conversion and CDF readback. The companion also preserves time-varying voltage/energy grids and avoids a 2-D coordinate swap in L2 (unit tested). A full L2 production run was not performed.

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