Giter VIP home page Giter VIP logo

raprom-pro's Introduction

Alternative raw processing for MRR-Pro - RaProM-Pro.py

RaProM-Pro is a novel MRR processing methodology developed for MRR-Pro (Micro Rain Radar Doppler profiler manufactured by Metek GmbH) with enhanced spectra processing and Doppler dealiasing. RaProM-Pro can work with the spectrum_raw or with spectrum_reflectivity from the Manufacturer's netcdf. RaProM-Pro produces a number of output fields which include equivalent reflectivity (Ze), Doppler fall speed and derived parameters such as spectral width, skewness, kurtosis, a simplified precipitation type classification (drizzle, rain, mixed, snow, graupel and hail) and additional variables depending on the precipitation type.

Note1: More information about the processing of RaProM-Pro, with several examples and results of the bright band features can be found on the article: Garcia-Benadí 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 Sens. 2021, 13, 4323. https://doi.org/10.3390/rs13214323

Note2: The scripts works for MRR-Pro data. There is another version of this program for MRR-2 data called RaProM.py (https://github.com/AlbertGBena/RaProM). More information available at: Garcia-Benadi A, Bech J, Gonzalez S, Udina M, Codina B, Georgis JF (2020). Precipitation Type Classification of Micro Rain Radar Data Using an Improved Doppler Spectral Processing Methodology. Remote Sensing, 12(24), 4113 https://doi.org/10.3390/rs12244113

More information at: Garcia-Benadí 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 Sens. 2021, 13, 4323. https://doi.org/10.3390/rs13214323

Versions and dependences

The main script is called RaProM-Pro.py and it is available in Python 3.8. The following libraries are necessary::

numpy , version 1.14.5 or later
miepython, version 1.3.0 or later (matplotlib is necessary for this library works)
netCDF4, version 1.2.7 or later (cftime is necessary for this library works)

Other necessary libaries are datetime, math, os, glob and sys

The libraries can be installed with pip, using these sentences:

pip install numpy
pip install miepython
pip install netCDF4
pip install matplotlib
pip install cftime

The script works with the MRR-Pro files.

How to cite

If you use this script for your publication, please cite as:
Garcia-Benadí 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 Sens. 2021, 13, 4323. https://doi.org/10.3390/rs13214323

Outputs

The script produces the following outputs from MRR-Pro netcdf data:
W: fall speed with aliasing correction (m s-1)
spectral width: spectral width of the dealiased velocity distribution (m s-1)
skewness: skewness of the dealiased velocity distribution
kurtosis: kurtosis of the dealiased velocity distribution
DBPIA: Path Integrated Attenuation without the hydrometeor type consideration
Type: Hydrometeor type (unknown[20], rain [10], drizzle [5], mixed [0], snow [-10], graupel [-15] and hail [-20])
LWC: Liquid water content (g m-3)
RR: Rain rate (mm h-1)
LWC_all: Liquid water content (g m-3) supposing that all hydrometeors are in liquid phase
RR_all: Rain rate (mm h-1) supposing that all hydrometeors are in liquid phase
SR: Snow rate (mm h-1)
Z: Reflectivity considering only liquid drops (dBZ)
Z_all: Reflectivity (dBZ) supposing that all hydrometeors are in liquid phase
Za: Attenuated Reflectivity considering only liquid drops (dBZ)
Ze: Equivalent Reflectivity (dBZ)
Zea: Attenuated Equivalent Reflectivity (dBZ)
N(D): Drop Size Distribution (log10(m-3 mm-1)) only for liquid type
N(D)_all: Drop Size Distribution (log10(m-3 mm-1)) supposing that all hydrometeors are in liquid phase
SNR: Signal noise relation from signal without dealiasing (dB)
Noise: Noise from spectra reflectivity (m-1)
Nw: Intercept of the gamma distribution normalized to the liquid water content (log10(m-3 mm-1))
Dm: Mean mass-weighted raindrop diameter (mm)
Nw_all: Intercept of the gamma distribution normalized (log10(m-3 mm-1)) supposing that all hydrometeors are in liquid phase
Dm_all: Mean mass-weighted raindrop diameter (mm) supposing that all hydrometeors are in liquid phase
BBbottom: Bright Band bottom height (m) (above sea level)
BBtop: Bright Band top height (m) (above sea level)
BBpeak: Bright Band peak height (m) (above sea level)
TyPrecipi: Rainfall type where the value 5 is convective, 0 is transition and -5 is stratiform
TyPrecipi_all: Rainfall type supposing that all hydrometeors are in liquid phase where the value 5 is convective, 0 is transition and -5 is stratiform

How to execute the script

The script can be executed from a command line at the system prompt (see MS-Windows example):

commandWindow
at the directory where RaProM-Pro.py has been copied:

python RaProM-Pro.py

The script has some additional command line execution options. Please note that their use implies a substantial increase of the netcdf output file (see below).
The possible command line arguments available are (more than one is possible, in any order): -spe3D -dsd3D -hxxxx.
-spe3D: the script saves the values of the spectral reflectivity after noise and dealiasing process in a spe3D parameter. This parameter is the spectral reflectivity in function of time, height and speed dealiased. The netcdf size increases about 8 times.
-dsd3D: the script saves the values of Drop Size Distribution in a dsd3D parameter. This parameter is the Drop Size Distribution in function of time, height and the drop diameters. The netcdf size increases about 4 times.
-hxxxx: forces the antenna height is at xxx meters above sea level.

With the -spe3D and -dsd3D options activated the netcdf file increases about 11 times.
The syntax of these options are:

python RaProM-Pro.py -spe3D

python RaProM-Pro.py -dsd3D

python RaProM-Pro.py -spe3D -dsd3D

python RaProM-Pro.py -spe3D -dsd3D -h100.3

The script asks the directory where the netcdf files to be processed are located (it will process all the MRR-Pro netcdf files of the selected folder), for example:

C:\mrrPro\test\

NOTE 1: The path must end with \ in Windows or a / in Linux
NOTE 2: Please avoid blank spaces and special characters in your file path
NOTE 3: In macOS, depending on your path environment configuration, it may not be necessary to indicate the complete path so "./" may be enough

The script indicates the number of netcdf files in the folder and starts the process.

The result is stored in a netcdf file with the same name but finished "-processed"

Contact

If you have any question, please contact with Albert at [email protected] or [email protected]

raprom-pro's People

Contributors

albertgbena avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

raprom-pro's Issues

Additional Libraries

Hello,

There are additional libraries that are required to run this script. You need matplotlib and numba.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.