IMProToo - Improved Mrr Processing Tool
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
- Various bug fixes, see https://github.com/maahn/IMProToo/issues/6 and https://github.com/maahn/IMProToo/issues/5
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
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 improtoo-0.108.tar.gz.
File metadata
- Download URL: improtoo-0.108.tar.gz
- Upload date:
- Size: 58.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
435c0949fc602867570e2a5772d49cff7682da0610345c9f01550119bff379fa
|
|
| MD5 |
7701d6d0899c4400b72f92d510c03049
|
|
| BLAKE2b-256 |
55dfd69ddd32685d6df1f0064fe2a0abb4186c9ec74fd3b6cba0a411bd716d53
|
Provenance
The following attestation bundles were made for improtoo-0.108.tar.gz:
Publisher:
python-publish.yml on maahn/IMProToo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
improtoo-0.108.tar.gz -
Subject digest:
435c0949fc602867570e2a5772d49cff7682da0610345c9f01550119bff379fa - Sigstore transparency entry: 2498331574
- Sigstore integration time:
-
Permalink:
maahn/IMProToo@ca3c0d8acc2f398433a9dac60c566b417d91214c -
Branch / Tag:
refs/tags/0.108 - Owner: https://github.com/maahn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ca3c0d8acc2f398433a9dac60c566b417d91214c -
Trigger Event:
release
-
Statement type:
File details
Details for the file improtoo-0.108-py3-none-any.whl.
File metadata
- Download URL: improtoo-0.108-py3-none-any.whl
- Upload date:
- Size: 46.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bb299b963b0c49aee071439d0b5d1ed37bae9ca726eeefc4e79f8d6918b1d8d
|
|
| MD5 |
e335f5f3b97d21a4fd384043a1ed2355
|
|
| BLAKE2b-256 |
1258fc8f066c37956d224b68885a41811a674dbf63779d8826453e0810b4b7af
|
Provenance
The following attestation bundles were made for improtoo-0.108-py3-none-any.whl:
Publisher:
python-publish.yml on maahn/IMProToo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
improtoo-0.108-py3-none-any.whl -
Subject digest:
7bb299b963b0c49aee071439d0b5d1ed37bae9ca726eeefc4e79f8d6918b1d8d - Sigstore transparency entry: 2498331587
- Sigstore integration time:
-
Permalink:
maahn/IMProToo@ca3c0d8acc2f398433a9dac60c566b417d91214c -
Branch / Tag:
refs/tags/0.108 - Owner: https://github.com/maahn
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@ca3c0d8acc2f398433a9dac60c566b417d91214c -
Trigger Event:
release
-
Statement type: