IDEX l1b event msg product#2876
Merged
lacoak21 merged 3 commits intoIMAP-Science-Operations-Center:devfrom Mar 27, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
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
messagesstring variable using a JSON template/dictionary file. - Add descriptor-based IDEX L1B processing to generate an
l1b_msgdataset withpulser_on/science_on. - Update L2B science-acquisition uptime logic to consume
l1b_msgand 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.
Contributor
Author
|
This has been tested successfully locally and in dev. |
tech3371
reviewed
Mar 27, 2026
Contributor
tech3371
left a comment
There was a problem hiding this comment.
I looked at L1B and L2B code. Those changes looks good to me. again minor comments and future work.
326b792 to
70faadf
Compare
cb6bfc4
into
IMAP-Science-Operations-Center:dev
14 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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