UBWPP is a novel Wind Profiler processing methodology developed for Wind Profiler model PCL1300, manufactured by Degreane. UBWPP works with the compresseed spectral power from the wind profiler manufacturer files (.dat files).
UBWPP produces a number of output fields which include equivalent reflectivity (Ze), Vertical Doppler speed and derived parameters such as spectral width, skewness, kurtosis, horizontal wind components (if the device has more than one beam), and a simplified precipitation type classification (rain, mixed, snow and unknown) with 2 approaches (Atlas et al. 1973) and (Ralph et al. 1996).
All output files stored in a netcdf file.
Note1: More information about the processing of UBWPP can be found on the article: Garcia-Benadi A, Bech J, Udina M, Campistron B, Paci A. Multiple Characteristics of Precipitation Inferred from Wind Profiler Radar Doppler Spectra. Remote Sens. 2022, 14, 5023. https://doi.org/10.3390/rs14195023
The main script is called UBWPP.py and it is available in Python 3.8. or later. The following libraries are necessary:
numpy, version 1.19.2 or later
scipy, version 1.5.2. or later
astropy, version 4.3.1. or later
netCDF4, version 1.5.4 or later
Other necessary libraries are cftime, calendar, datetime, math, os, glob, struct and sys (make sure they are installed or install them otherwise).
The libraries can be installed with pip, using these sentences:
pip install numpy
pip install scipy
pip install netCDF4
pip install astropy
pip install cftime
As mentioned above the script works with the windprofiler raw data files (.dat).
If you use this script for your publication, please cite as:
Garcia-Benadi A, Bech J, Udina M, Campistron B, Paci A. Multiple Characteristics of Precipitation Inferred from Wind Profiler Radar Doppler Spectra. Remote Sens. 2022, 14, 5023. https://doi.org/10.3390/rs14195023
The script produces the following outputs from UBWPP netcdf data in High and Low mode (in the next variable names the term 'mode' will be 'high' or 'low' depending on the mode of the raw data processed):
W_mode: Vertical speed (m s-1)
Spectral width_mode: spectral width of the vertical velocity distribution (m s-1)
Skewness_mode: skewness of the vertical velocity distribution
Kurtosis_mode: kurtosis of the vertical velocity distribution
Type_mode: Hydrometeor type (unknown[20], rain [10], mixed [0], snow [-10]) following the Atlas approach.[doi:10.1029/RG011i001p00001]
Type_2_mode: Hydrometeor type (unknown[20], rain [10], mixed [0], snow [-10]) following the Ralph approach.[doi:10.1175/1520-0477(1995)076<1717:USMDFN>2.0.CO;2]
Liquid Water Content_mode: Liquid water content (g m-3)
RR_mode: Rain rate (mm h-1)
Z_mode: Equivalent reflectivity considering only liquid drops (dBZ)
U_mode: Horizontal wind component, zonal velocity (m s-1). Available if the device has more than one beam.
V_mode: Horizontal wind component, meridional velocity (m s-1). Available if the device has more than one beam.
shape parameter_mode: shape parameter from the Drop Size Distribution
slope parameter_mode: slope parameter from the Drop Size Distribution (m-1)
log10(N0)_mode: Drop Size Distribution (log10(m-4-mu)) supposing that all hydrometeors are in liquid phase
SNR_mode: Signal noise relation from signal (dB)
VKEF_mode: Vertical kinetic energy (g s-3)
HKEF_mode: Horizontal kinetic energy (g s-3)
C2n_mode: refractive index (log(s(-2/3))
time_utc: Time vector in UTC format
If the user applies -Pot parameters and additional menu appears:
Signal without processing in three dimensions (Time, Height and bins):
P1_mode: Power returned in whole spectra in beam 1 (W)
P2_mode: Power returned in whole spectra in beam 2 (W), if the beam is avalaible
P3_mode: Power returned in whole spectra in beam 3 (W), if the beam is avalaible
P4_mode: Power returned in whole spectra in beam 4 (W), if the beam is avalaible
P5_mode: Power returned in whole spectra in beam 5 (W), if the beam is avalaible
The script can be executed from a command line at the system prompt (see MS-Windows example):
at the directory where UBWPP.py has been copied:
python UBWPP.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): -Pot -xxx -hxxxx.
-Pot: the script saves the values of the Power for each radar beam, in high and low mode. The netcdf size increases about 4 times.
-NameFile:The script asks the user the name of the netcdf file output, if this option isn't chosen the file name will be the year, month and day in format yyyymmdd.nc
-hxxxx: forces the antenna height is at xxx meters above sea level. (for example -100.3 would mean the antenna is at 100.3 m above sea level). This parameter is important to determine the hydrometeor terminal speed in function of height.
-cHxxxx: Gives the calibration constant in high mode, if it isn't included the value used will be 116.5 dB.
-cLxxxx: Gives the calibration constant in low mode, if it isn't included the value used will be 111.3 dB.
The syntax of these options are:
python UBWPP.py -Pot
python UBWPP.py -NameFile
python UBWPP.py -Pot -NameFile
python UBWPP.py -Pot -NameFile -h100.3
python UBWPP.py -Pot -NameFile -h100.3 -cH120.5 -cL105.8
The script asks the directory where the dat files to be processed are located (it will process all the RWP dat files of the selected directory), for example:
C:\RWP\data\
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 dat files in directory, the UHF location (longitude and latitude), the number of modes, the radar frequency and its wavelenght, and the number of beams. The next line indicates the processing time estimation, and the next line shows the % of file processed.
The result is stored in a netcdf file.
If you have any question, please contact with Albert at [email protected] or [email protected]