ULTRA priority de ancillary lookup table#2998
Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces an ancillary-driven lookup to select the appropriate ULTRA L1B DE product (raw vs priority 1–4) for downstream processing, and propagates that selection into L1B extendedspin/goodtimes and L1C PSET generation.
Changes:
- Added
get_de_product_name()to choose the DE product based on repoint ID, sensor, and data level using an ancillary CSV. - Updated ULTRA L1B/L1C pipelines to call the lookup and use the selected DE dataset for extendedspin and PSET calculations.
- Updated unit tests/fixtures to provide the new ancillary lookup file paths.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
imap_processing/ultra/l1c/ultra_l1c.py |
Selects DE dependency via lookup before calculating helio/spacecraft PSETs. |
imap_processing/ultra/l1b/ultra_l1b.py |
Selects DE dataset via lookup when building inputs for extendedspin (and thus affects goodtimes). |
imap_processing/ultra/l1b/lookup_utils.py |
Adds get_de_product_name() implementation and logging. |
imap_processing/tests/ultra/unit/test_ultra_l1b.py |
Updates external-data tests to pass new lookup ancillary path. |
imap_processing/tests/ultra/unit/test_lookup_utils.py |
Adds unit tests for get_de_product_name(). |
imap_processing/tests/ultra/unit/conftest.py |
Adds ancillary fixture entries for L1C DE product lookup tables. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
tmplummer
left a comment
There was a problem hiding this comment.
Two minor comments to check on. Looks good!
9323eba
into
IMAP-Science-Operations-Center:dev
…ter#2998) * priority l1b des * priority handling at l1b * add l1b priority de handling * fix regex pattern * raise error instead of using first l1a de * add in depth tests * comment * add logging statement * add logging statement * fix extendedspin * error handling * comment update * PR comments
Change Summary
Overview
Add logic to read in an ancillary file at l1b and l1c. This table is used to determine which de product to use in the goodtimes algorithm and for psets.
File changes
Testing
Add tests to ensure the correct product is chosen.