Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates core utilities and configuration to support new vertical “top/near-surface” range helpers, expands plotting/colorbar support (notably for xradar + disdrodb), and bumps baseline runtime/dependency requirements.
Changes:
- Bump minimum supported Python to 3.11 and update core dependency minimum versions.
- Add new vertical-range helpers (top/near-surface bin + slice utilities) and a height-based range subsetting wrapper, with accompanying tests for the new top/near-surface helpers.
- Extend xradar plotting with an
extentparameter and update/expand colorbar definitions (xradar, default, disdrodb).
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Updates dependency minimums and raises requires-python to 3.11. |
| gpm/visualization/plot.py | Adds Cartopy gridliner utilities for label removal. |
| gpm/utils/manipulations.py | Adds top/near-surface bin/slice helpers, a subset_range_by_height wrapper, and adjusts infill coordinate handling. |
| gpm/tests/test_utils/test_manipulations.py | Adds fixtures and tests for the new top/near-surface bin and slice helpers. |
| gpm/io/checks.py | Simplifies UTC-time retrieval relying on Python 3.11+ datetime.UTC. |
| gpm/gv/xradar/methods.py | Adjusts georeferencing and adds optional extent handling to plot_map. |
| gpm/gv/xradar/accessors.py | Exposes the new extent argument through the accessor API. |
| gpm/etc/colorbars/xradar.yaml | Refines radar phase/attenuation colorbar definitions and adds variable references. |
| gpm/etc/colorbars/disdrodb.yaml | Adds a new colorbar configuration set for disdrodb/DSD variables. |
| gpm/etc/colorbars/default_colorbars.yaml | Adds a rainfall_rate colorbar referenced by other configs. |
| gpm/etc/colorbars/2A_DPR_colorbars.yaml | Removes Dm/Nw entries (likely moved/reorganized into other configs). |
| gpm/dataset/decoding/decode_2a_radar.py | Adds decoding for precipWater variable. |
| gpm/accessor/methods.py | Exposes new manipulation helpers via the .gpm accessor (top/near-surface + height subsetting). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #87 +/- ##
========================================
Coverage 90.83% 90.83%
========================================
Files 135 135
Lines 17537 17703 +166
========================================
+ Hits 15929 16080 +151
- Misses 1608 1623 +15 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Prework
What kind of change does this PR introduce? (check at least one)
Does this PR introduce a breaking change? (check one)
If yes, please describe the impact and communicate accordingly:
The PR fulfills these requirements:
bugfix-<some_key>-<word>doc-<some_key>-<word>tutorial-<some_key>-<word>feature-<some_key>-<word>refactor-<some_key>-<word>optimize-<some_key>-<word>fix #xxx[,#xxx], where "xxx" is the issue number)If adding a new feature, the PR's description includes:
Other information:
Related GitHub issues and pull requests
Summary
Please explain the purpose and scope of your contribution.