Python tools for MRR-PRO loading, RaProMPro processing, plotting, and analysis.
Project description
mrrpropy
MRR PRO code for processing and analysis.
Scientific references
The retained RaProMPro processing implementation used for MRR-PRO data is associated with:
- Garcia-Benadi A, Bech J, Gonzalez S, Udina M, Codina B. A New Methodology to Characterise the Radar Bright Band Using Doppler Spectral Moments from Vertically Pointing Radar Observations. Remote Sensing. 2021;13(21):4323. https://doi.org/10.3390/rs13214323
The corresponding original code repository is:
For MRR-2 data, a related implementation is distributed separately as RaProM.py:
- Garcia-Benadi A, Bech J, Gonzalez S, Udina M, Codina B, Georgis JF. Precipitation Type Classification of Micro Rain Radar Data Using an Improved Doppler Spectral Processing Methodology. Remote Sensing. 2020;12(24):4113. https://doi.org/10.3390/rs12244113
Repository workflow
This repository keeps the scientific processing code intact while standardizing the developer workflow around it.
- Install the project in editable mode with
uv sync --group devorpip install -e .. - Import the package as
mrrpropy. - Use the optional CLI entry point as
mrrpropy version. - Keep scientific algorithm changes confined to the processing modules and treat workflow, packaging, tests, and CI as separate concerns.
Development
Typical local commands:
uv sync --group dev
uv run python -c "import mrrpropy"
uv run pytest -m "not slow"
uv run pytest -m slow
uv run mypy
uv run black --check mrrpropy tests
uv run python scripts/benchmark_raprompro.py --quick --repeats 1
Production
Before using the package in production, follow the release checklist in
PRODUCTION.md.
Releasing
To build and publish the package, follow RELEASING.md. The repository includes
GitHub Actions workflows for release validation and Trusted Publishing to PyPI.
Tests
The test suite is organized into:
- fast checks for import and basic data access,
- integration checks for end-to-end workflow behavior,
- slow plotting regressions that write figures under
tests/figures/, - generated NetCDF and other non-figure test outputs under
tests/generated/.
Bundled NetCDF files under tests/data/ remain the reference fixtures. Generated
outputs should go to ignored test output directories, not back into tracked fixture
paths.
Benchmarking
For quick performance checks of the canonical processing path, use the bundled 10-minute RAW subset:
uv run python scripts/benchmark_raprompro.py --quick --repeats 1
For the full one-hour fixture, pass --raw-path explicitly or omit --quick.
Documentation
The repository includes a static documentation site for GitHub Pages.
- Build locally with
python scripts/build_docs.pyafter installing.[docs]. - Preview locally with
python -m http.server 8000 --directory siteafter the build. - The landing pages live under
docs/. - The API reference is generated with
pdocfrom package docstrings and signatures.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mrrpropy-0.1.0.tar.gz.
File metadata
- Download URL: mrrpropy-0.1.0.tar.gz
- Upload date:
- Size: 57.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d9c411d3781ba9139fa0483896a92635ffd43346245ab69dd2e0a4e547ed25a
|
|
| MD5 |
9069fc9b163916592213bf0bc2689442
|
|
| BLAKE2b-256 |
a0518bc0e3494b3d5c711dfcf218a64c08911a2683adcfedb47baf542ffc25f3
|
Provenance
The following attestation bundles were made for mrrpropy-0.1.0.tar.gz:
Publisher:
publish-package.yml on jabravoaranda/mrrpropy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mrrpropy-0.1.0.tar.gz -
Subject digest:
8d9c411d3781ba9139fa0483896a92635ffd43346245ab69dd2e0a4e547ed25a - Sigstore transparency entry: 1243772338
- Sigstore integration time:
-
Permalink:
jabravoaranda/mrrpropy@bea2a5f04eaf27d0810c4919271cbaa2d9851778 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/jabravoaranda
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-package.yml@bea2a5f04eaf27d0810c4919271cbaa2d9851778 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mrrpropy-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mrrpropy-0.1.0-py3-none-any.whl
- Upload date:
- Size: 156.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe882d2d7dec89eecb36fc46ff8177a18e7d8df40292c50111ee141a0b9e6dcf
|
|
| MD5 |
f5944638e3fb350c5d25bde0b7e6db82
|
|
| BLAKE2b-256 |
af055d16e9a80936c00a92c8b7a06a5649a664f7747c8456c0e1f0f45abd6db7
|
Provenance
The following attestation bundles were made for mrrpropy-0.1.0-py3-none-any.whl:
Publisher:
publish-package.yml on jabravoaranda/mrrpropy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mrrpropy-0.1.0-py3-none-any.whl -
Subject digest:
fe882d2d7dec89eecb36fc46ff8177a18e7d8df40292c50111ee141a0b9e6dcf - Sigstore transparency entry: 1243772349
- Sigstore integration time:
-
Permalink:
jabravoaranda/mrrpropy@bea2a5f04eaf27d0810c4919271cbaa2d9851778 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/jabravoaranda
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-package.yml@bea2a5f04eaf27d0810c4919271cbaa2d9851778 -
Trigger Event:
release
-
Statement type: