I-ALiRT - add mopra coverage - #3445
Open
laspsandoval wants to merge 1 commit into
Open
laspsandoval wants to merge 1 commit into
laspsandoval wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Mopra coverage currently ignores DSN blocking and explicit Mopra outages (and the new test should more strictly validate that all Mopra times stay within the intended schedule windows).
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds Mopra station’s fixed daily allocation window into I-ALiRT coverage generation so Mopra contributes to total coverage, and updates/extends unit tests to validate the new behavior.
Changes:
- Add Mopra fixed daily coverage window (20:45–00:30 UTC) into
generate_coverage()output and total coverage mask. - Update DSN coverage summary test expectation to reflect Mopra’s added contribution.
- Add a new unit test for Mopra schedule behavior.
File summaries
| File | Description |
|---|---|
| imap_processing/ialirt/generate_coverage.py | Adds Mopra’s fixed allocation coverage into the generated coverage/outage dictionaries and total coverage computation. |
| imap_processing/tests/ialirt/unit/test_generate_coverage.py | Updates expected total coverage percent and adds a Mopra-specific test. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+163
to
+172
| # Mopra: fixed daily allocation (20:45-00:30 UTC), no geometry needed. | ||
| # Split into two same-day windows to avoid the midnight rollover. | ||
| mopra_evening = StationProperties(0, 0, 0, 0, dt_time(20, 45), dt_time(23, 59, 59)) | ||
| mopra_morning = StationProperties(0, 0, 0, 0, dt_time(0, 0), dt_time(0, 30)) | ||
| mopra_mask = create_schedule_mask(mopra_evening, time_range) | create_schedule_mask( | ||
| mopra_morning, time_range | ||
| ) | ||
| total_visible_mask |= mopra_mask | ||
| coverage_dict["Mopra"] = et_to_utc(time_range[mopra_mask], format_str="ISOC") | ||
| outage_dict["Mopra"] = np.array([], dtype="<U23") |
Comment on lines
+199
to
+201
| assert "2026-09-22T20:45:00.000" in mopra_times | ||
| assert "2026-09-22T00:30:00.000" in mopra_times | ||
| assert "2026-09-22T12:00:00.000" not in mopra_times |
bryan-harter
approved these changes
Sep 11, 2026
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.
This pull request adds support for Mopra station's fixed daily coverage allocation to the coverage generation logic, updates tests to reflect the new coverage calculation, and introduces a dedicated test to verify Mopra's schedule. The main changes are as follows:
Coverage calculation enhancements:
generate_coverage.pyto include Mopra station's fixed daily allocation (20:45–00:30 UTC) in the coverage computation, ensuring Mopra is always considered during these windows regardless of geometry.Testing updates:
test_generate_coverage.pyto expect the increased total coverage percentage resulting from Mopra's inclusion.test_mopra_coverage, to verify that Mopra's fixed allocation is correctly applied and only covers the specified time windows.Imports and setup:
datetime.timeasdt_timeto support the new Mopra schedule logic.