Skip to main content

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 dev or pip 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.

Rain-process trends

The microphysical rain-process workflow now defaults to a non-parametric vertical trend characterization:

  • Kendall's tau describes the direction and consistency of monotonic change in a layer.
  • Theil-Sen slope describes the robust magnitude of that change.
  • Downstream RGB and classification consume canonical trend_* variables instead of method-specific names, so the trend method can be swapped without changing the rest of the pipeline.
  • OLS trend fitting remains available only as a legacy or diagnostic comparison path.

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.py after installing .[docs].
  • Preview locally with python -m http.server 8000 --directory site after the build.
  • The landing pages live under docs/.
  • The API reference is generated with pdoc from package docstrings and signatures.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mrrpropy-0.1.1.tar.gz (57.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mrrpropy-0.1.1-py3-none-any.whl (161.4 kB view details)

Uploaded Python 3

File details

Details for the file mrrpropy-0.1.1.tar.gz.

File metadata

  • Download URL: mrrpropy-0.1.1.tar.gz
  • Upload date:
  • Size: 57.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mrrpropy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fea2c42ae97c1f974ff84179db661ea55169303e041a7181d01fc273e2629409
MD5 d3dfea3c4d9db99be10d63d7c6ddedff
BLAKE2b-256 1a58cd6841a76e307fcb0bfc009aefe4213e7de4f82da4b0a3783b108ddffd5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mrrpropy-0.1.1.tar.gz:

Publisher: publish-package.yml on jabravoaranda/mrrpropy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mrrpropy-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: mrrpropy-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 161.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mrrpropy-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cb47d9234b73c8086d5433c9c7b26e0ba1a1bb71ffee61f7c6c34f6ad0258b35
MD5 e34092da1da9eba46bdd9d79a458f4df
BLAKE2b-256 b45c94ed575b446e71babb5dd5eacddf2f02548110278599a7462ecaea3b2c58

See more details on using hashes here.

Provenance

The following attestation bundles were made for mrrpropy-0.1.1-py3-none-any.whl:

Publisher: publish-package.yml on jabravoaranda/mrrpropy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page