Skip to content

IDEX l1b event msg product#2876

Merged
lacoak21 merged 3 commits intoIMAP-Science-Operations-Center:devfrom
lacoak21:idex_l1b_new_msg_product
Mar 27, 2026
Merged

IDEX l1b event msg product#2876
lacoak21 merged 3 commits intoIMAP-Science-Operations-Center:devfrom
lacoak21:idex_l1b_new_msg_product

Conversation

@lacoak21
Copy link
Copy Markdown
Contributor

@lacoak21 lacoak21 commented Mar 26, 2026

Change Summary

closes #2844

Overview

Produce the l1b event message product. See #2844 for more details.

File changes

Decode IDEX EVT packets into an L1A messages string variable using a JSON template/dictionary file.
Add descriptor-based IDEX L1B processing to generate an l1b_msg dataset with pulser_on/science_on.
Update L2B science-acquisition uptime logic to consume l1b_msg and adjust tests/config accordingly.

Testing

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for producing IDEX event message (“msg”) products, including decoding raw event message packets into human-readable strings at L1A and deriving simple on/off flags at L1B, then wiring those into downstream L2B uptime calculations and updating CDF metadata + tests.

Changes:

  • Decode IDEX EVT packets into an L1A messages string variable using a JSON template/dictionary file.
  • Add descriptor-based IDEX L1B processing to generate an l1b_msg dataset with pulser_on/science_on.
  • Update L2B science-acquisition uptime logic to consume l1b_msg and adjust tests/config accordingly.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
imap_processing/idex/idex_l1a.py Builds L1A msg dataset with rendered messages strings using decoding dictionaries/templates.
imap_processing/idex/evt_msg_decode_utils.py New helper to render event templates with embedded params + dictionary decoding.
imap_processing/idex/idex_evt_msg_parsing_dictionaries.json Adds the event template + decode dictionaries used by rendering.
imap_processing/idex/idex_l1b.py Introduces descriptor-based dispatch and idex_l1b_msg to derive pulser_on / science_on.
imap_processing/idex/idex_l2b.py Consumes msg-derived science_on events to compute daily uptime percentages.
imap_processing/cli.py Updates IDEX CLI processing for descriptor-based L1B and msg descriptor usage in L2B deps.
imap_processing/idex/idex_constants.py Removes now-unused IDEXEvtAcquireCodes.
imap_processing/cdf/config/imap_idex_l1a_variable_attrs.yaml Adds messages variable attributes.
imap_processing/cdf/config/imap_idex_l1b_variable_attrs.yaml Adds pulser_on and science_on variable attributes.
imap_processing/cdf/config/imap_idex_global_cdf_attrs.yaml Renames global attribute blocks from *_evt to *_msg.
imap_processing/tests/idex/conftest.py Updates fixtures for msg datasets and new idex_l1b(..., descriptor) API.
imap_processing/tests/idex/test_idex_l1a.py Renames EVT test to MSG test and validates decoded messages against CSV.
imap_processing/tests/idex/test_idex_l1b.py Adds test coverage for L1B msg processing outputs.
imap_processing/tests/idex/test_idex_l2a.py Updates L1B call to include descriptor.
imap_processing/tests/idex/test_idex_l2b.py Updates uptime tests to use science_on events directly from msg product.
imap_processing/tests/idex/test_idex_l0.py Renames EVT fixture usage to MSG.
imap_processing/tests/external_test_data_config.py Updates IDEX L1B example H5 test data version.
imap_processing/tests/idex/test_data/idex_event_messages.csv Adds example message strings for validation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@lacoak21
Copy link
Copy Markdown
Contributor Author

This has been tested successfully locally and in dev.

Copy link
Copy Markdown
Contributor

@tech3371 tech3371 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked at L1B and L2B code. Those changes looks good to me. again minor comments and future work.

@lacoak21 lacoak21 force-pushed the idex_l1b_new_msg_product branch from 326b792 to 70faadf Compare March 27, 2026 16:15
@lacoak21 lacoak21 marked this pull request as ready for review March 27, 2026 16:27
Copy link
Copy Markdown
Contributor

@tech3371 tech3371 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@lacoak21 lacoak21 merged commit cb6bfc4 into IMAP-Science-Operations-Center:dev Mar 27, 2026
14 checks passed
@lacoak21 lacoak21 deleted the idex_l1b_new_msg_product branch March 27, 2026 16:58
@github-project-automation github-project-automation bot moved this to Done in IMAP Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Add housekeeping data products. Event message and state.

3 participants