-
Notifications
You must be signed in to change notification settings - Fork 22
ULTRA L1C HELIO index maps #2492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ULTRA L1C HELIO index maps #2492
Conversation
subagonsouth
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few things worth reviewing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements on-the-fly generation of heliocentric HEALPix index maps for ULTRA L1C processing as an alternative to reading multiple ancillary files. The implementation leverages SPICE kernels and includes necessary geometry transformations for heliocentric frame calculations.
Key Changes:
- New module
make_helio_index_maps.pyfor generating index maps dynamically using SPICE - Refactored helio pset calculations to use generated index maps instead of ancillary files
- Enhanced support for energy-dependent scattering rejection and index tables
Reviewed changes
Copilot reviewed 18 out of 23 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
make_helio_index_maps.py |
New module implementing HEALPix index map generation with spacecraft velocity aberration and SPICE integration |
helio_pset.py |
Integrated on-the-fly index map generation, removed get_helio_adjusted_data call |
l1c_lookup_utils.py |
Enhanced to handle energy-dependent index tables, transposed array dimensions for consistency |
ultra_l1c_pset_bins.py |
Removed get_helio_adjusted_data function, fixed energy-dependent calculations, updated return type |
constants.py |
Added SPICE kernel paths and FOV constants for index map generation |
pyproject.toml |
Included sim_spice_kernels directory in package |
| SPICE kernels | Added simulation kernels (attitude, pointing, time, frames) for helio index map calculations |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
7cc70e1 to
3f18d45
Compare
greglucas
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need all of the sim_spice_kernels included in the released package because we want those sort of "frozen in time" in a sense? This means we wouldn't get any updated clock / instrument offset updates etc.
Looks good to me and I think you already discussed that with @subagonsouth so I'm fine with it all on the code front.
Yes exactly we want those never to change. Unless Nick requests they do. |
subagonsouth
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
b29a2da
into
IMAP-Science-Operations-Center:dev
Change Summary
Overview
Create ultra helio index maps on the fly to be used in the calculation of the exposure factor, efficiencies and geometric function. This is an alternative to reading in many ancillary files. It was decided that writing the code to do this is best incase we need to change it.
Most of the code to produce the index map was written by Claude after importing the Java code that nick uses. There were a few small issues to fix after this.
Updated Files
-imap_processing/ultra/l1c/l1c_lookup_utils.py
Testing