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.73% -0.11%
==========================================
Files 135 135
Lines 17537 17724 +187
==========================================
+ Hits 15929 16081 +152
- Misses 1608 1643 +35 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
for more information, see https://pre-commit.ci
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| Documentation | 6 minor |
| Security | 4 high |
🟢 Metrics 36 complexity · 6 duplication
Metric Results Complexity 36 Duplication 6
TIP This summary will be updated as you push new changes. Give us feedback
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.