Skip to main content

IMProToo - Improved Mrr Processing Tool

Tests PyPI

IMProToo is an improved processing method for Micro Rain radar. It is especially suited for snow observations and provides besides other things effective reflectivity, Doppler velocity and spectral width. The method features a noise removal based on recognition of the most significant peak and a dynamic dealiasing routine which allows observations even if the Nyquist velocity range is exceeded. The software requires MRR "raw data", it does not work with Metek's standard products MRR "Averaged Data" or "Processed Data".

Please note that this software was developed for observations at low SNR ratios such as snow, drizzle or light rain. Heavy rain, especially in combination with strong turbulence, might give wrong results.

The software can be used under the GPL license

What's new?

Unreleased

  • Dropped Python 2/legacy-3 compatibility shims, now requires Python 3.10+
  • Fixed installation from a GitHub source archive (e.g. a branch tarball, not just a release tag) on modern setuptools_scm
  • Removed the long-broken/unmaintained Scientific.IO.NetCDF and netCDF3 fallback; netCDF4-python is used for all supported netCDF formats
  • Added an automated test suite and CI (GitHub Actions) covering Python 3.10-3.14
  • PyPI releases now use Trusted Publishing (no more long-lived API token)

0.107

  • PyPI release, fixed installation from github archive through setuptools_scm_git_archive

0.106

  • Fixed Python 2.7 file reading and timezone bug (thanks to A. Merrelli)

0.105

  • Fixed Python 3 file reading bug (thanks to M. Bartolini)

0.104

  • Python 3 compatibility (2.7 still working)
  • Meta data bug fix

0.103

  • Non-UTC time stamps permitted
  • Fixed bug caused by numpy update

0.102

0.101

  • An installation routine is provided (See below). To avoid conflicts, please remove earlier versions manually before installing a newer version.

How does it work

The routine is described in Maahn, M. and Kollias, P.: Improved Micro Rain Radar snow measurements using Doppler spectra post-processing, Atmos. Meas. Tech. Discuss., 5, 4771-4808, doi:10.5194/amtd-5-4771-2012, 2012. http://www.atmos-meas-tech-discuss.net/5/4771/2012/amtd-5-4771-2012.html

Please quote the article if you use the routine for your publication.

How to install

The software requires Python 3.10+ and should run on any recent Linux system (and most likely also Mac OS X). Windows is currently not supported, but probably only minor changes are necessary.

The following python packages are required:

  • numpy
  • scipy
  • matplotlib (for plotting only)
  • netCDF4 (for saving the results only)

Installation

IMProToo is available on PyPI, so it can be installed with

pip install IMProToo

in the terminal.

How to use

To use the toolkit, start python and import it:

import IMProToo

read the raw data file (can be gzip-compressed)

rawData = IMProToo.mrrRawData("mrrRawFile.mrr.gz")

create the IMProToo object and load rawData

processedSpec = IMProToo.MrrZe(rawData)

if needed, average rawData to 60s

processedSpec.averageSpectra(60)

all settings (e.g. creator attribute of netCDF file, dealiasing) are available in the 'processedSpec.co' dictionary and must be set before calculating Ze etc. See the source code for a description of the settings.

processedSpec.co["ncCreator"] = "M.Maahn, IGM University of Cologne"
processedSpec.co["ncDescription"] = "MRR data from Cologne"
processedSpec.co["dealiaseSpectrum"] = True

calculate Ze and other moments

processedSpec.rawToSnow()

write all variables to a netCDF file.

processedSpec.writeNetCDF("IMProToo_netCDF_file.nc",ncForm="NETCDF3_CLASSIC")

Development

To run the test suite locally:

pip install -e ".[test]"
pytest tests/

Questions

In case of any questions, please don't hesitate to contact Maximilian Maahn: maximilian [dot] maahn [at] uni [dash] leipzig [dot] de

Metadata

Release files for IMProToo 0.108

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for IMProToo 0.108
File Size Uploaded Provenance
improtoo-0.108.tar.gz 58.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for IMProToo 0.108
File Interpreter ABI Platform
improtoo-0.108-py3-none-any.whl Python 3 none any Details

Total release size: 105.2 kB

Release files / improtoo-0.108.tar.gz

Download URL improtoo-0.108.tar.gz
Size 58.7 kB
Tags Source
SHA-256 checksum
How to use checksums
435c0949fc602867570e2a5772d49cff7682da0610345c9f01550119bff379fa
BLAKE2b-256 checksum
How to use checksums
55dfd69ddd32685d6df1f0064fe2a0abb4186c9ec74fd3b6cba0a411bd716d53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / improtoo-0.108-py3-none-any.whl

Download URL improtoo-0.108-py3-none-any.whl
Size 46.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7bb299b963b0c49aee071439d0b5d1ed37bae9ca726eeefc4e79f8d6918b1d8d
BLAKE2b-256 checksum
How to use checksums
1258fc8f066c37956d224b68885a41811a674dbf63779d8826453e0810b4b7af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Security for IMProToo 0.108

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for improtoo-0.108.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.108 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page