Dataset processing (pyrad.proc)

Initiate the dataset processing.

Auxiliary functions

get_process_func(dataset_type, dsname) Maps the dataset type into its processing function and data set format associated.
process_raw(procstatus, dscfg[, radar_list]) Dummy function that returns the initial input data set
process_save_radar(procstatus, dscfg[, …]) Dummy function that allows to save the entire radar object
process_fixed_rng(procstatus, dscfg[, …]) Obtains radar data at a fixed range
process_fixed_rng_span(procstatus, dscfg[, …]) For each azimuth-elevation gets the data within a fixed range span and computes a user-defined statistic: mean, min, max, mode, median
process_roi(procstatus, dscfg[, radar_list]) Obtains the radar data at a region of interest defined by a TRT file or by the user.
process_azimuthal_average(procstatus, dscfg) Averages radar data in azimuth obtaining and RHI as a result
process_radar_resampling(procstatus, dscfg) Resamples the radar data to mimic another radar with different geometry and antenna pattern

Gridded data functions

process_raw_grid(procstatus, dscfg[, radar_list]) Dummy function that returns the initial input data set
process_grid(procstatus, dscfg[, radar_list]) Puts the radar data in a regular grid
process_grid_point(procstatus, dscfg[, …]) Obtains the grid data at a point location.
process_grid_time_stats(procstatus, dscfg[, …]) computes the temporal statistics of a field
process_grid_time_stats2(procstatus, dscfg) computes temporal statistics of a field
process_grid_texture(procstatus, dscfg[, …]) Computes the 2D texture of a gridded field
process_grid_fields_diff(procstatus, dscfg) Computes grid field differences
process_grid_mask(procstatus, dscfg[, …]) Mask data.
process_normalize_luminosity(procstatus, dscfg) Normalize the data by the sinus of the sun elevation.
process_pixel_filter(procstatus, dscfg[, …]) Masks all pixels that are not of the class specified in keyword pixel_type

Spectral data functions

process_raw_spectra(procstatus, dscfg[, …]) Dummy function that returns the initial input data set
process_spectra_point(procstatus, dscfg[, …]) Obtains the spectra or IQ data at a point location.
process_filter_0Doppler(procstatus, dscfg[, …]) Function to filter the 0-Doppler line bin and neighbours of the Doppler spectra
process_filter_spectra_noise(procstatus, dscfg) Filter the noise of the Doppler spectra by clipping any data below the noise level plus a margin
process_filter_srhohv(procstatus, dscfg[, …]) Filter Doppler spectra as a function of spectral RhoHV
process_spectra_ang_avg(procstatus, dscfg[, …]) Function to average the spectra over the rays.
process_spectral_power(procstatus, dscfg[, …]) Computes the spectral power
process_spectral_noise(procstatus, dscfg[, …]) Computes the spectral noise
process_spectral_phase(procstatus, dscfg[, …]) Computes the spectral phase
process_spectral_reflectivity(procstatus, dscfg) Computes spectral reflectivity
process_spectral_differential_reflectivity(…) Computes spectral differential reflectivity
process_spectral_differential_phase(…[, …]) Computes the spectral differential phase
process_spectral_rhohv(procstatus, dscfg[, …]) Computes the spectral RhoHV
process_pol_variables(procstatus, dscfg[, …]) Computes the polarimetric variables from the complex spectra
process_noise_power(procstatus, dscfg[, …]) Computes the noise power from the spectra
process_reflectivity(procstatus, dscfg[, …]) Computes reflectivity from the spectral reflectivity
process_differential_reflectivity(…[, …]) Computes differential reflectivity from the horizontal and vertical spectral reflectivity
process_differential_phase(procstatus, dscfg) Computes the differential phase from the spectral differential phase and the spectral reflectivity
process_rhohv(procstatus, dscfg[, radar_list]) Computes RhoHV from the complex spectras
process_Doppler_velocity(procstatus, dscfg) Compute the Doppler velocity from the spectral reflectivity
process_Doppler_width(procstatus, dscfg[, …]) Compute the Doppler spectrum width from the spectral reflectivity
process_ifft(procstatus, dscfg[, radar_list]) Compute the Doppler spectrum width from the spectral reflectivity

IQ data functions

process_raw_iq(procstatus, dscfg[, radar_list]) Dummy function that returns the initial input data set
process_pol_variables_iq(procstatus, dscfg) Computes the polarimetric variables from the IQ data
process_reflectivity_iq(procstatus, dscfg[, …]) Computes reflectivity from the IQ data
process_st1_iq(procstatus, dscfg[, radar_list]) Computes the statistical test one lag fluctuation from the horizontal or vertical IQ data
process_st2_iq(procstatus, dscfg[, radar_list]) Computes the statistical test two lag fluctuation from the horizontal or vertical IQ data
process_wbn_iq(procstatus, dscfg[, radar_list]) Computes the wide band noise from the horizontal or vertical IQ data
process_differential_reflectivity_iq(…[, …]) Computes differential reflectivity from the horizontal and vertical IQ data
process_mean_phase_iq(procstatus, dscfg[, …]) Computes the mean phase from the horizontal or vertical IQ data
process_differential_phase_iq(procstatus, dscfg) Computes the differential phase from the horizontal and vertical IQ data
process_rhohv_iq(procstatus, dscfg[, radar_list]) Computes RhoHV from the horizontal and vertical IQ data
process_Doppler_velocity_iq(procstatus, dscfg) Compute the Doppler velocity from the spectral reflectivity
process_Doppler_width_iq(procstatus, dscfg) Compute the Doppler spectrum width from the spectral reflectivity
process_fft(procstatus, dscfg[, radar_list]) Compute the Doppler spectra form the IQ data with a Fourier transform

Echo classification and filtering

process_echo_id(procstatus, dscfg[, radar_list]) identifies echoes as 0: No data, 1: Noise, 2: Clutter, 3: Precipitation
process_birds_id(procstatus, dscfg[, radar_list]) identifies echoes as 0: No data, 1: Noise, 2: Clutter, 3: Birds
process_clt_to_echo_id(procstatus, dscfg[, …]) Converts clutter exit code from rad4alp into pyrad echo ID
process_echo_filter(procstatus, dscfg[, …]) Masks all echo types that are not of the class specified in keyword echo_type
process_cdf(procstatus, dscfg[, radar_list]) Collects the fields necessary to compute the Cumulative Distribution Function
process_filter_snr(procstatus, dscfg[, …]) filters out low SNR echoes
process_filter_visibility(procstatus, dscfg) filters out rays gates with low visibility and corrects the reflectivity
process_outlier_filter(procstatus, dscfg[, …]) filters out gates which are outliers respect to the surrounding
process_hydroclass(procstatus, dscfg[, …]) Classifies precipitation echoes
process_melting_layer(procstatus, dscfg[, …]) Detects the melting layer
process_filter_vel_diff(procstatus, dscfg[, …]) filters out range gates that could not be used for Doppler velocity estimation
process_zdr_column(procstatus, dscfg[, …]) Detects ZDR columns

Phase processing and attenuation correction

process_correct_phidp0(procstatus, dscfg[, …]) corrects phidp of the system phase
process_smooth_phidp_single_window(…[, …]) corrects phidp of the system phase and smoothes it using one window
process_smooth_phidp_double_window(…[, …]) corrects phidp of the system phase and smoothes it using one window
process_kdp_leastsquare_single_window(…[, …]) Computes specific differential phase using a piecewise least square method
process_kdp_leastsquare_double_window(…[, …]) Computes specific differential phase using a piecewise least square method
process_phidp_kdp_Vulpiani(procstatus, dscfg) Computes specific differential phase and differential phase using the method developed by Vulpiani et al.
process_phidp_kdp_Kalman(procstatus, dscfg) Computes specific differential phase and differential phase using the Kalman filter as proposed by Schneebeli et al.
process_phidp_kdp_Maesaka(procstatus, dscfg) Estimates PhiDP and KDP using the method by Maesaka.
process_phidp_kdp_lp(procstatus, dscfg[, …]) Estimates PhiDP and KDP using a linear programming algorithm.
process_attenuation(procstatus, dscfg[, …]) Computes specific attenuation and specific differential attenuation using the Z-Phi method and corrects reflectivity and differential reflectivity

Monitoring, calibration and noise correction

process_correct_bias(procstatus, dscfg[, …]) Corrects a bias on the data
process_correct_noise_rhohv(procstatus, dscfg) identifies echoes as 0: No data, 1: Noise, 2: Clutter, 3: Precipitation
process_rhohv_rain(procstatus, dscfg[, …]) Keeps only suitable data to evaluate the 80 percentile of RhoHV in rain
process_zdr_precip(procstatus, dscfg[, …]) Keeps only suitable data to evaluate the differential reflectivity in moderate rain or precipitation (for vertical scans)
process_zdr_snow(procstatus, dscfg[, radar_list]) Keeps only suitable data to evaluate the differential reflectivity in snow
process_estimate_phidp0(procstatus, dscfg[, …]) estimates the system differential phase offset at each ray
process_sun_hits(procstatus, dscfg[, radar_list]) monitoring of the radar using sun hits
process_selfconsistency_kdp_phidp(…[, …]) Computes specific differential phase and differential phase in rain using the selfconsistency between Zdr, Zh and KDP
process_selfconsistency_bias(procstatus, dscfg) Estimates the reflectivity bias by means of the selfconsistency algorithm by Gourley
process_selfconsistency_bias2(procstatus, dscfg) Estimates the reflectivity bias by means of the selfconsistency algorithm by Gourley
process_time_avg_std(procstatus, dscfg[, …]) computes the average and standard deviation of data.
process_occurrence(procstatus, dscfg[, …]) computes the frequency of occurrence of data.
process_occurrence_period(procstatus, dscfg) computes the frequency of occurrence over a long period of time by adding together shorter periods
process_monitoring(procstatus, dscfg[, …]) computes monitoring statistics
process_gc_monitoring(procstatus, dscfg[, …]) computes ground clutter monitoring statistics
process_time_avg(procstatus, dscfg[, radar_list]) computes the temporal mean of a field
process_weighted_time_avg(procstatus, dscfg) computes the temporal mean of a field weighted by the reflectivity
process_time_avg_flag(procstatus, dscfg[, …]) computes a flag field describing the conditions of the data used while averaging
process_time_stats(procstatus, dscfg[, …]) computes the temporal statistics of a field
process_time_stats2(procstatus, dscfg[, …]) computes the temporal mean of a field
process_colocated_gates(procstatus, dscfg[, …]) Find colocated gates within two radars
process_intercomp(procstatus, dscfg[, …]) intercomparison between two radars
process_intercomp_time_avg(procstatus, dscfg) intercomparison between the average reflectivity of two radars
process_fields_diff(procstatus, dscfg[, …]) Computes the field difference between RADAR001 and radar002, i.e.
process_intercomp_fields(procstatus, dscfg) intercomparison between two radars

Retrievals

process_ccor(procstatus, dscfg[, radar_list]) Computes the Clutter Correction Ratio, i.e.
process_signal_power(procstatus, dscfg[, …]) Computes the signal power in dBm
process_rcs(procstatus, dscfg[, radar_list]) Computes the radar cross-section (assuming a point target) from radar reflectivity.
process_rcs_pr(procstatus, dscfg[, radar_list]) Computes the radar cross-section (assuming a point target) from radar reflectivity by first computing the received power and then the RCS from it.
process_radial_noise_hs(procstatus, dscfg[, …]) Computes the radial noise from the signal power using the Hildebrand and Sekhon 1974 method
process_radial_noise_ivic(procstatus, dscfg) Computes the radial noise from the signal power using the Ivic 2013 method
process_snr(procstatus, dscfg[, radar_list]) Computes SNR
process_l(procstatus, dscfg[, radar_list]) Computes L parameter
process_cdr(procstatus, dscfg[, radar_list]) Computes Circular Depolarization Ratio
process_rainrate(procstatus, dscfg[, radar_list]) Estimates rainfall rate from polarimetric moments
process_rainfall_accumulation(procstatus, dscfg) Computes rainfall accumulation fields
process_vol_refl(procstatus, dscfg[, radar_list]) Computes the volumetric reflectivity in 10log10(cm^2 km^-3)
process_bird_density(procstatus, dscfg[, …]) Computes the bird density from the volumetric reflectivity

Doppler processing

process_turbulence(procstatus, dscfg[, …]) Computes turbulence from the Doppler spectrum width and reflectivity using the PyTDA package
process_dealias_fourdd(procstatus, dscfg[, …]) Dealiases the Doppler velocity field using the 4DD technique from Curtis and Houze, 2001
process_dealias_region_based(procstatus, dscfg) Dealiases the Doppler velocity field using a region based algorithm
process_dealias_unwrap_phase(procstatus, dscfg) Dealiases the Doppler velocity field using multi-dimensional phase unwrapping
process_radial_velocity(procstatus, dscfg[, …]) Estimates the radial velocity respect to the radar from the wind velocity
process_wind_vel(procstatus, dscfg[, radar_list]) Estimates the horizontal or vertical component of the wind from the radial velocity
process_windshear(procstatus, dscfg[, …]) Estimates the wind shear from the wind velocity
process_vad(procstatus, dscfg[, radar_list]) Estimates vertical wind profile using the VAD (velocity Azimuth Display) technique

Time series functions

process_point_measurement(procstatus, dscfg) Obtains the radar data at a point location.
process_qvp(procstatus, dscfg[, radar_list]) Computes quasi vertical profiles, by averaging over height levels PPI data.
process_rqvp(procstatus, dscfg[, radar_list]) Computes range defined quasi vertical profiles, by averaging over height levels PPI data.
process_svp(procstatus, dscfg[, radar_list]) Computes slanted vertical profiles, by averaging over height levels PPI data.
process_evp(procstatus, dscfg[, radar_list]) Computes enhanced vertical profiles, by averaging over height levels PPI data.
process_time_height(procstatus, dscfg[, …]) Produces time height radar objects at a point of interest defined by latitude and longitude.
process_ts_along_coord(procstatus, dscfg[, …]) Produces time series along a particular antenna coordinate

Trajectory functions

process_trajectory(procstatus, dscfg[, …]) Return trajectory
process_traj_atplane(procstatus, dscfg[, …]) Return time series according to trajectory
process_traj_antenna_pattern(procstatus, dscfg) Process a new array of data volumes considering a plane trajectory.
process_traj_lightning(procstatus, dscfg[, …]) Return time series according to lightning trajectory
process_traj_trt(procstatus, dscfg[, …]) Processes data according to TRT trajectory
process_traj_trt_contour(procstatus, dscfg) Gets the TRT cell contour corresponding to each radar volume

COSMO data

process_cosmo(procstatus, dscfg[, radar_list]) Gets COSMO data and put it in radar coordinates
process_cosmo_lookup_table(procstatus, dscfg) Gets COSMO data and put it in radar coordinates using look up tables computed or loaded when initializing
process_cosmo_coord(procstatus, dscfg[, …]) Gets the COSMO indices corresponding to each cosmo coordinates
process_hzt(procstatus, dscfg[, radar_list]) Gets iso0 degree data in HZT format and put it in radar coordinates
process_hzt_lookup_table(procstatus, dscfg) Gets HZT data and put it in radar coordinates using look up tables computed or loaded when initializing
process_hzt_coord(procstatus, dscfg[, …]) Gets the HZT indices corresponding to each HZT coordinates
process_cosmo_to_radar(procstatus, dscfg[, …]) Gets COSMO data and put it in radar coordinates using look up tables

DEM data

process_dem(procstatus, dscfg[, radar_list]) Gets DEM data and put it in radar coordinates
process_visibility(procstatus, dscfg[, …]) Gets the visibility in percentage from the minimum visible elevation.
pyrad.proc.get_process_func(dataset_type, dsname)[source]

Maps the dataset type into its processing function and data set format associated.

Parameters:
dataset_type : str

The following is a list of data set types ordered by type of output dataset with the function they call. For details of what they do check the function documentation:

‘VOL’ format output:

‘ATTENUATION’: process_attenuation ‘AZI_AVG’: process_azimuthal_average ‘BIAS_CORRECTION’: process_correct_bias ‘BIRDS_ID’: process_birds_id ‘BIRD_DENSITY’: process_bird_density ‘CCOR’: process_ccor ‘CDF’: process_cdf ‘CDR’: process_cdr ‘CLT_TO_SAN’: process_clt_to_echo_id ‘COSMO’: process_cosmo ‘COSMO_LOOKUP’: process_cosmo_lookup_table ‘DEM’: process_dem ‘DEALIAS_FOURDD’: process_dealias_fourdd ‘DEALIAS_REGION’: process_dealias_region_based ‘DEALIAS_UNWRAP’: process_dealias_unwrap_phase ‘DOPPLER_VELOCITY’: process_Doppler_velocity ‘DOPPLER_VELOCITY_IQ’: process_Doppler_velocity_iq ‘DOPPLER_WIDTH’: process_Doppler_width ‘DOPPLER_WIDTH_IQ’: process_Doppler_width_iq ‘ECHO_FILTER’: process_echo_filter ‘FIELDS_DIFF’: process_fields_diff ‘FIXED_RNG’: process_fixed_rng ‘FIXED_RNG_SPAN’: process_fixed_rng_span ‘HYDROCLASS’: process_hydroclass ‘HZT’: process_hzt ‘HZT_LOOKUP’: process_hzt_lookup_table ‘KDP_LEASTSQUARE_1W’: process_kdp_leastsquare_single_window ‘KDP_LEASTSQUARE_2W’: process_kdp_leastsquare_double_window ‘L’: process_l ‘MEAN_PHASE_IQ’: process_mean_phase_iq ‘NCVOL’: process_save_radar ‘NOISE_POWER’: process_noise_power ‘OUTLIER_FILTER’: process_outlier_filter ‘PhiDP’: process_differential_phase ‘PHIDP0_CORRECTION’: process_correct_phidp0 ‘PHIDP0_ESTIMATE’: process_estimate_phidp0 ‘PhiDP_IQ’: process_differential_phase_iq ‘PHIDP_KDP_KALMAN’: process_phidp_kdp_Kalman ‘PHIDP_KDP_LP’: process_phidp_kdp_lp ‘PHIDP_KDP_VULPIANI’: process_phidp_kdp_Vulpiani ‘PHIDP_SMOOTH_1W’: process_smooth_phidp_single_window ‘PHIDP_SMOOTH_2W’: process_smooth_phidp_double_window ‘POL_VARIABLES’: process_pol_variables ‘POL_VARIABLES_IQ’: process_pol_variables_iq ‘PWR’: process_signal_power ‘RADAR_RESAMPLING’: process_radar_resampling ‘RADIAL_NOISE_HS’: process_radial_noise_hs ‘RADIAL_NOISE_IVIC’: process_radial_noise_ivic ‘RADIAL_VELOCITY’: process_radial_velocity ‘RAINRATE’: process_rainrate ‘RAW’: process_raw ‘REFLECTIVITY’: process_reflectivity ‘REFLECTIVITY_IQ’: process_reflectivity_iq ‘RCS’: process_rcs ‘RCS_PR’: process_rcs_pr ‘RhoHV’: process_rhohv ‘RhoHV_IQ’: process_rhohv_iq ‘RHOHV_CORRECTION’: process_correct_noise_rhohv ‘RHOHV_RAIN’: process_rhohv_rain ‘ROI’: process_roi ‘SAN’: process_echo_id ‘SELFCONSISTENCY_BIAS’: process_selfconsistency_bias ‘SELFCONSISTENCY_BIAS2’: process_selfconsistency_bias2 ‘SELFCONSISTENCY_KDP_PHIDP’: process_selfconsistency_kdp_phidp ‘SNR’: process_snr ‘SNR_FILTER’: process_filter_snr ‘ST1_IQ’: process_st1_iq ‘ST2_IQ’: process_st2_iq ‘TRAJ_TRT’ : process_traj_trt ‘TRAJ_TRT_CONTOUR’ : process_traj_trt_contour ‘TURBULENCE’: process_turbulence ‘VAD’: process_vad ‘VEL_FILTER’: process_filter_vel_diff ‘VIS’: process_visibility ‘VIS_FILTER’: process_filter_visibility ‘VOL_REFL’: process_vol_refl ‘WBN’: process_wbn_iq ‘WIND_VEL’: process_wind_vel ‘WINDSHEAR’: process_windshear ‘ZDR’: process_differential_reflectivity ‘ZDR_IQ’: process_differential_reflectivity_iq ‘ZDR_PREC’: process_zdr_precip ‘ZDR_SNOW’: process_zdr_snow

‘SPECTRA’ format output:

‘FFT’: process_fft ‘FILTER_0DOPPLER’: process_filter_0Doppler ‘FILTER_SPECTRA_NOISE’: process_filter_spectra_noise ‘IFFT’: process_ifft ‘RAW_IQ’: process_raw_iq ‘RAW_SPECTRA’: process_raw_spectra ‘SPECTRA_ANGULAR_AVERAGE’: process_spectra_ang_avg ‘SPECTRA_POINT’: process_spectra_point ‘SPECTRAL_NOISE’: process_spectral_noise ‘SPECTRAL_PHASE’: process_spectral_phase ‘SPECTRAL_POWER’: process_spectral_power ‘SPECTRAL_REFLECTIVITY’: process_spectral_reflectivity ‘sPhiDP’: process_spectral_differential_phase ‘sRhoHV’: process_spectral_RhoHV ‘SRHOHV_FILTER’: process_filter_srhohv ‘sZDR’: process_spectral_differential_reflectivity

‘COLOCATED_GATES’ format output:

‘COLOCATED_GATES’: process_colocated_gates

‘COSMO_COORD’ format output:

‘COSMO_COORD’: process_cosmo_coord ‘HZT_COORD’: process_hzt_coord

‘COSMO2RADAR’ format output:

‘COSMO2RADAR’: process_cosmo_to_radar

‘GRID’ format output:

‘RAW_GRID’: process_raw_grid ‘GRID’: process_grid ‘GRID_FIELDS_DIFF’: process_grid_fields_diff ‘GRID_MASK’: process_grid_mask ‘GRID_TEXTURE’: process_grid_texture ‘NORMALIZE_LUMINOSITY’: process_normalize_luminosity ‘PIXEL_FILTER’: process_pixel_filter

‘GRID_TIMEAVG’ format output:

‘GRID_TIME_STATS’: process_grid_time_stats ‘GRID_TIME_STATS2’: process_grid_time_stats2

‘INTERCOMP’ format output:

‘INTERCOMP’: process_intercomp ‘INTERCOMP_FIELDS’: process_intercomp_fields ‘INTERCOMP_TIME_AVG’: process_intercomp_time_avg

‘ML’ format output:

‘ML_DETECTION’: process_melting_layer

‘MONITORING’ format output:

‘GC_MONITORING’: process_gc_monitoring ‘MONITORING’: process_monitoring

‘OCCURRENCE’ format output:

‘OCCURRENCE’: process_occurrence ‘OCCURRENCE_PERIOD’: process_occurrence_period ‘TIMEAVG_STD’: process_time_avg_std

‘QVP’ format output:

‘EVP’: process_evp ‘QVP’: process_qvp ‘rQVP’: process_rqvp ‘SVP’: process_svp ‘TIME_HEIGHT’: process_time_height ‘TIME_ALONG_COORD’: process_ts_along_coord

‘SPARSE_GRID’ format output:

‘ZDR_COLUMN’: process_zdr_column

‘SUN_HITS’ format output:

‘SUN_HITS’: process_sun_hits

‘TIMEAVG’ format output:

‘FLAG_TIME_AVG’: process_time_avg_flag ‘TIME_AVG’: process_time_avg ‘WEIGHTED_TIME_AVG’: process_weighted_time_avg ‘TIME_STATS’: process_time_stats ‘TIME_STATS2’: process_time_stats2 ‘RAIN_ACCU’: process_rainfall_accumulation

‘TIMESERIES’ format output:

‘GRID_POINT_MEASUREMENT’: process_grid_point ‘POINT_MEASUREMENT’: ‘process_point_measurement’ ‘TRAJ_ANTENNA_PATTERN’: process_traj_antenna_pattern ‘TRAJ_ATPLANE’: process_traj_atplane ‘TRAJ_LIGHTNING’: process_traj_lightning

‘TRAJ_ONLY’ format output:

‘TRAJ’: process_trajectory

dsname : str

Name of dataset

Returns:
func_name : str or processing function

pyrad function used to process the data set type

dsformat : str

data set format, i.e.: ‘VOL’, etc.

pyrad.proc.process_Doppler_velocity(procstatus, dscfg, radar_list=None)[source]

Compute the Doppler velocity from the spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_Doppler_velocity_iq(procstatus, dscfg, radar_list=None)[source]

Compute the Doppler velocity from the spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

direction : str

The convention used in the Doppler mean field. Can be negative_away or negative_towards

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_Doppler_width(procstatus, dscfg, radar_list=None)[source]

Compute the Doppler spectrum width from the spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_Doppler_width_iq(procstatus, dscfg, radar_list=None)[source]

Compute the Doppler spectrum width from the spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signals

lag : int

Time lag used in the denominator of the computation

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_attenuation(procstatus, dscfg, radar_list=None)[source]

Computes specific attenuation and specific differential attenuation using the Z-Phi method and corrects reflectivity and differential reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

ATT_METHOD : float. Dataset keyword

The attenuation estimation method used. One of the following: ZPhi, Philin

fzl : float. Dataset keyword

The default freezing level height. It will be used if no temperature field name is specified or the temperature field is not in the radar object. Default 2000.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_azimuthal_average(procstatus, dscfg, radar_list=None)[source]

Averages radar data in azimuth obtaining and RHI as a result

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

angle : float or None. Dataset keyword

The center angle to average. If not set or set to -1 all available azimuth angles will be used

delta_azi : float. Dataset keyword

The angle span to average. If not set or set to -1 all the available azimuth angles will be used

avg_type : str. Dataset keyword

Average type. Can be mean or median

nvalid_min : int. Dataset keyword

the (minimum) radius of the region of interest in m. Default half the largest resolution

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the gridded data

ind_rad : int

radar index

pyrad.proc.process_bird_density(procstatus, dscfg, radar_list=None)[source]

Computes the bird density from the volumetric reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

sigma_bird : float. Dataset keyword

The bird radar cross section

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_birds_id(procstatus, dscfg, radar_list=None)[source]

identifies echoes as 0: No data, 1: Noise, 2: Clutter, 3: Birds

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_ccor(procstatus, dscfg, radar_list=None)[source]

Computes the Clutter Correction Ratio, i.e. the ratio between the signal without Doppler filtering and the signal with Doppler filtering

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_cdf(procstatus, dscfg, radar_list=None)[source]

Collects the fields necessary to compute the Cumulative Distribution Function

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_cdr(procstatus, dscfg, radar_list=None)[source]

Computes Circular Depolarization Ratio

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_clt_to_echo_id(procstatus, dscfg, radar_list=None)[source]

Converts clutter exit code from rad4alp into pyrad echo ID

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_colocated_gates(procstatus, dscfg, radar_list=None)[source]

Find colocated gates within two radars

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

h_tol : float. Dataset keyword

Tolerance in altitude difference between radar gates [m]. Default 100.

latlon_tol : float. Dataset keyword

Tolerance in latitude and longitude position between radar gates [deg]. Default 0.0005

vol_d_tol : float. Dataset keyword

Tolerance in pulse volume diameter [m]. Default 100.

vismin : float. Dataset keyword

Minimum visibility [percent]. Default None.

hmin : float. Dataset keyword

Minimum altitude [m MSL]. Default None.

hmax : float. Dataset keyword

Maximum altitude [m MSL]. Default None.

rmin : float. Dataset keyword

Minimum range [m]. Default None.

rmax : float. Dataset keyword

Maximum range [m]. Default None.

elmin : float. Dataset keyword

Minimum elevation angle [deg]. Default None.

elmax : float. Dataset keyword

Maximum elevation angle [deg]. Default None.

azrad1min : float. Dataset keyword

Minimum azimuth angle [deg] for radar 1. Default None.

azrad1max : float. Dataset keyword

Maximum azimuth angle [deg] for radar 1. Default None.

azrad2min : float. Dataset keyword

Minimum azimuth angle [deg] for radar 2. Default None.

azrad2max : float. Dataset keyword

Maximum azimuth angle [deg] for radar 2. Default None.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : radar object

radar object containing the flag field

ind_rad : int

radar index

pyrad.proc.process_correct_bias(procstatus, dscfg, radar_list=None)[source]

Corrects a bias on the data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type to correct for bias

bias : float. Dataset keyword

The bias to be corrected [dB]. Default 0

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_correct_noise_rhohv(procstatus, dscfg, radar_list=None)[source]

identifies echoes as 0: No data, 1: Noise, 2: Clutter, 3: Precipitation

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The data types used in the correction

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_correct_phidp0(procstatus, dscfg, radar_list=None)[source]

corrects phidp of the system phase

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rmin : float. Dataset keyword

The minimum range where to look for valid data [m]

rmax : float. Dataset keyword

The maximum range where to look for valid data [m]

rcell : float. Dataset keyword

The length of a continuous cell to consider it valid precip [m]

Zmin : float. Dataset keyword

The minimum reflectivity [dBZ]

Zmax : float. Dataset keyword

The maximum reflectivity [dBZ]

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_cosmo(procstatus, dscfg, radar_list=None)[source]

Gets COSMO data and put it in radar coordinates

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

arbitrary data type

keep_in_memory : int. Dataset keyword

if set keeps the COSMO data dict, the COSMO coordinates dict and the COSMO field in radar coordinates in memory

regular_grid : int. Dataset keyword

if set it is assume that the radar has a grid constant in time and there is no need to compute a new COSMO field if the COSMO data has not changed

cosmo_type : str. Dataset keyword

name of the COSMO field to process. Default TEMP

cosmo_variables : list of strings. Dataset keyword

Py-art name of the COSMO fields. Default temperature

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_cosmo_coord(procstatus, dscfg, radar_list=None)[source]

Gets the COSMO indices corresponding to each cosmo coordinates

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

arbitrary data type

cosmopath : string. General keyword

path where to store the look up table

model : string. Dataset keyword

The COSMO model to use. Can be cosmo-1, cosmo-1e, cosmo-2, cosmo-7

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_cosmo_lookup_table(procstatus, dscfg, radar_list=None)[source]

Gets COSMO data and put it in radar coordinates using look up tables computed or loaded when initializing

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

arbitrary data type

lookup_table : int. Dataset keyword

if set a pre-computed look up table for the COSMO coordinates is loaded. Otherwise the look up table is computed taking the first radar object as reference

regular_grid : int. Dataset keyword

if set it is assume that the radar has a grid constant in time and therefore there is no need to interpolate the COSMO field in memory to the current radar grid

cosmo_type : str. Dataset keyword

name of the COSMO field to process. Default TEMP

cosmo_variables : list of strings. Dataset keyword

Py-art name of the COSMO fields. Default temperature

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_cosmo_to_radar(procstatus, dscfg, radar_list=None)[source]

Gets COSMO data and put it in radar coordinates using look up tables

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

arbitrary data type

cosmo_type : str. Dataset keyword

name of the COSMO field to process. Default TEMP

cosmo_variables : list of strings. Dataset keyword

Py-art name of the COSMO fields. Default temperature

cosmo_time_index_min, cosmo_time_index_max : int

minimum and maximum indices of the COSMO data to retrieve. If a value is provided only data corresponding to the time indices within the interval will be used. If None all data will be used. Default None

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_dealias_fourdd(procstatus, dscfg, radar_list=None)[source]

Dealiases the Doppler velocity field using the 4DD technique from Curtis and Houze, 2001

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

filt : int. Dataset keyword

Flag controlling Bergen and Albers filter, 1 = yes, 0 = no.

sign : int. Dataset keyword

Sign convention which the radial velocities in the volume created from the sounding data will will. This should match the convention used in the radar data. A value of 1 represents when positive values velocities are towards the radar, -1 represents when negative velocities are towards the radar.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_dealias_region_based(procstatus, dscfg, radar_list=None)[source]

Dealiases the Doppler velocity field using a region based algorithm

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

interval_splits : int, optional

Number of segments to split the nyquist interval into when finding regions of similar velocity. More splits creates a larger number of initial regions which takes longer to process but may result in better dealiasing. The default value of 3 seems to be a good compromise between performance and artifact free dealiasing. This value is not used if the interval_limits parameter is not None.

skip_between_rays, skip_along_ray : int, optional

Maximum number of filtered gates to skip over when joining regions, gaps between region larger than this will not be connected. Parameters specify the maximum number of filtered gates between and along a ray. Set these parameters to 0 to disable unfolding across filtered gates.

centered : bool, optional

True to apply centering to each sweep after the dealiasing algorithm so that the average number of unfolding is near 0. False does not apply centering which may results in individual sweeps under or over folded by the nyquist interval.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_dealias_unwrap_phase(procstatus, dscfg, radar_list=None)[source]

Dealiases the Doppler velocity field using multi-dimensional phase unwrapping

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

unwrap_unit : {‘ray’, ‘sweep’, ‘volume’}, optional

Unit to unwrap independently. ‘ray’ will unwrap each ray individually, ‘sweep’ each sweep, and ‘volume’ will unwrap the entire volume in a single pass. ‘sweep’, the default, often gives superior results when the lower sweeps of the radar volume are contaminated by clutter. ‘ray’ does not use the gatefilter parameter and rays where gates ared masked will result in poor dealiasing for that ray.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_dem(procstatus, dscfg, radar_list=None)[source]

Gets DEM data and put it in radar coordinates

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

arbitrary data type

keep_in_memory : int. Dataset keyword

if set keeps the COSMO data dict, the COSMO coordinates dict and the COSMO field in radar coordinates in memory. Default False

regular_grid : int. Dataset keyword

if set it is assume that the radar has a grid constant in time and there is no need to compute a new COSMO field if the COSMO data has not changed. Default False

dem_field : str. Dataset keyword

name of the DEM field to process

demfile : str. Dataset keyword

Name of the file containing the DEM data

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_differential_phase(procstatus, dscfg, radar_list=None)[source]

Computes the differential phase from the spectral differential phase and the spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_differential_phase_iq(procstatus, dscfg, radar_list=None)[source]

Computes the differential phase from the horizontal and vertical IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

phase_offset : float. Dataset keyword

The system differential phase offset to remove

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_differential_reflectivity(procstatus, dscfg, radar_list=None)[source]

Computes differential reflectivity from the horizontal and vertical spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_differential_reflectivity_iq(procstatus, dscfg, radar_list=None)[source]

Computes differential reflectivity from the horizontal and vertical IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal

lag : int

The time lag to use in the estimators

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_echo_filter(procstatus, dscfg, radar_list=None)[source]

Masks all echo types that are not of the class specified in keyword echo_type

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

echo_type : int or list of ints

The type of echoes to keep: 1 noise, 2 clutter, 3 precipitation. Default 3

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_echo_id(procstatus, dscfg, radar_list=None)[source]

identifies echoes as 0: No data, 1: Noise, 2: Clutter, 3: Precipitation

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_estimate_phidp0(procstatus, dscfg, radar_list=None)[source]

estimates the system differential phase offset at each ray

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rmin : float. Dataset keyword

The minimum range where to look for valid data [m]

rmax : float. Dataset keyword

The maximum range where to look for valid data [m]

rcell : float. Dataset keyword

The length of a continuous cell to consider it valid precip [m]

Zmin : float. Dataset keyword

The minimum reflectivity [dBZ]

Zmax : float. Dataset keyword

The maximum reflectivity [dBZ]

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_evp(procstatus, dscfg, radar_list=None)[source]

Computes enhanced vertical profiles, by averaging over height levels PPI data.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

lat, lon : float

latitude and longitude of the point of interest [deg]

latlon_tol : float

tolerance in latitude and longitude in deg. Default 0.0005

delta_rng, delta_azi : float

maximum range distance [m] and azimuth distance [degree] from the central point of the evp containing data to average. Default 5000. and 10.

hmax : float

The maximum height to plot [m]. Default 10000.

hres : float

The height resolution [m]. Default 250.

avg_type : str

The type of averaging to perform. Can be either “mean” or “median” Default “mean”

nvalid_min : int

Minimum number of valid points to consider the data valid when performing the averaging. Default 1

interp_kind : str

type of interpolation when projecting to vertical grid: ‘none’, or ‘nearest’, etc. Default ‘none’. ‘none’ will select from all data points within the regular grid height bin the closest to the center of the bin. ‘nearest’ will select the closest data point to the center of the height bin regardless if it is within the height bin or not. Data points can be masked values If another type of interpolation is selected masked values will be eliminated from the data points before the interpolation

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the EVP and a keyboard stating whether the processing has finished or not.

ind_rad : int

radar index

pyrad.proc.process_fft(procstatus, dscfg, radar_list=None)[source]

Compute the Doppler spectra form the IQ data with a Fourier transform

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

window : list of str

Parameters of the window used to obtain the spectra. The parameters are the ones corresponding to function scipy.signal.windows.get_window. It can also be [‘None’].

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_fields_diff(procstatus, dscfg, radar_list=None)[source]

Computes the field difference between RADAR001 and radar002, i.e. RADAR001-RADAR002. Assumes both radars have the same geometry

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing a radar object containing the field differences

ind_rad : int

radar index

pyrad.proc.process_filter_0Doppler(procstatus, dscfg, radar_list=None)[source]

Function to filter the 0-Doppler line bin and neighbours of the Doppler spectra

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

filter_width : float

The Doppler filter width. Default 0.

filter_units : str

Can be ‘m/s’ or ‘Hz’. Default ‘m/s’

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_filter_snr(procstatus, dscfg, radar_list=None)[source]

filters out low SNR echoes

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

SNRmin : float. Dataset keyword

The minimum SNR to keep the data.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_filter_spectra_noise(procstatus, dscfg, radar_list=None)[source]

Filter the noise of the Doppler spectra by clipping any data below the noise level plus a margin

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

clipping_level : float

The clipping level [dB above noise level]. Default 10.

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_filter_srhohv(procstatus, dscfg, radar_list=None)[source]

Filter Doppler spectra as a function of spectral RhoHV

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

sRhoHV_threshold : float

Data with sRhoHV module above this threshold will be filtered. Default 1.

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_filter_vel_diff(procstatus, dscfg, radar_list=None)[source]

filters out range gates that could not be used for Doppler velocity estimation

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_filter_visibility(procstatus, dscfg, radar_list=None)[source]

filters out rays gates with low visibility and corrects the reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

VISmin : float. Dataset keyword

The minimum visibility to keep the data.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_fixed_rng(procstatus, dscfg, radar_list=None)[source]

Obtains radar data at a fixed range

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of strings. Dataset keyword

The fields we want to extract

rng : float. Dataset keyword

The fixed range [m]

RngTol : float. Dataset keyword

The tolerance between the nominal range and the radar range

ele_min, ele_max, azi_min, azi_max : floats. Dataset keyword

The azimuth and elevation limits of the data [deg]

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the data and metadata at the point of interest

ind_rad : int

radar index

pyrad.proc.process_fixed_rng_span(procstatus, dscfg, radar_list=None)[source]

For each azimuth-elevation gets the data within a fixed range span and computes a user-defined statistic: mean, min, max, mode, median

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of strings. Dataset keyword

The fields we want to extract

rmin, rmax : float. Dataset keyword

The range limits [m]

ele_min, ele_max, azi_min, azi_max : floats. Dataset keyword

The azimuth and elevation limits of the data [deg]

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the data and metadata at the point of interest

ind_rad : int

radar index

pyrad.proc.process_gc_monitoring(procstatus, dscfg, radar_list=None)[source]

computes ground clutter monitoring statistics

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

excessgatespath : str. Config keyword

The path to the gates in excess of quantile location

excessgates_fname : str. Dataset keyword

The name of the gates in excess of quantile file

datatype : list of string. Dataset keyword

The input data types

step : float. Dataset keyword

The width of the histogram bin. Default is None. In that case the default step in function get_histogram_bins is used

regular_grid : Boolean. Dataset keyword

Whether the radar has a Boolean grid or not. Default False

val_min : Float. Dataset keyword

Minimum value to consider that the gate has signal. Default None

filter_prec : str. Dataset keyword

Give which type of volume should be filtered. None, no filtering; keep_wet, keep wet volumes; keep_dry, keep dry volumes.

rmax_prec : float. Dataset keyword

Maximum range to consider when looking for wet gates [m]

percent_prec_max : float. Dataset keyword

Maxim percentage of wet gates to consider the volume dry

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : Radar

radar object containing histogram data

ind_rad : int

radar index

pyrad.proc.process_grid(procstatus, dscfg, radar_list=None)[source]

Puts the radar data in a regular grid

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

gridconfig : dictionary. Dataset keyword

Dictionary containing some or all of this keywords: xmin, xmax, ymin, ymax, zmin, zmax : floats

minimum and maximum horizontal distance from grid origin [km] and minimum and maximum vertical distance from grid origin [m] Defaults -40, 40, -40, 40, 0., 10000.

hres, vres : floats

horizontal and vertical grid resolution [m] Defaults 1000., 500.

latorig, lonorig, altorig : floats

latitude and longitude of grid origin [deg] and altitude of grid origin [m MSL] Defaults the latitude, longitude and altitude of the radar

wfunc : str. Dataset keyword

the weighting function used to combine the radar gates close to a grid point. Possible values BARNES, BARNES2, CRESSMAN, NEAREST Default NEAREST

roif_func : str. Dataset keyword

the function used to compute the region of interest. Possible values: dist_beam, constant

roi : float. Dataset keyword

the (minimum) radius of the region of interest in m. Default half the largest resolution

beamwidth : float. Dataset keyword

the radar antenna beamwidth [deg]. If None that of the key radar_beam_width_h in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present a default 1 deg value will be used

beam_spacing : float. Dataset keyword

the beam spacing, i.e. the ray angle resolution [deg]. If None, that of the attribute ray_angle_res of the radar object will be used. If the attribute is None a default 1 deg value will be used

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the gridded data

ind_rad : int

radar index

pyrad.proc.process_grid_fields_diff(procstatus, dscfg, radar_list=None)[source]

Computes grid field differences

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing a radar object containing the field differences

ind_rad : int

radar index

pyrad.proc.process_grid_mask(procstatus, dscfg, radar_list=None)[source]

Mask data. Puts True if data is above a certain threshold and false otherwise.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration

radar_list : list of Radar objects

Optional. list of radar objects

threshold : float

Threshold used for the mask. Values below threshold are set to False. Above threshold are set to True. Default 0.

x_dir_ext, y_dir_ext : int

Number of pixels by which to extend the mask on each side of the west-east direction and south-north direction

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_grid_point(procstatus, dscfg, radar_list=None)[source]

Obtains the grid data at a point location.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

latlon : boolean. Dataset keyword

if True position is obtained from latitude, longitude information, otherwise position is obtained from grid index (iz, iy, ix).

lon : float. Dataset keyword

the longitude [deg]. Use when latlon is True.

lat : float. Dataset keyword

the latitude [deg]. Use when latlon is True.

alt : float. Dataset keyword

altitude [m MSL]. Use when latlon is True.

iz, iy, ix : int. Dataset keyword

The grid indices. Use when latlon is False

latlonTol : float. Dataset keyword

latitude-longitude tolerance to determine which grid point to use [deg]

altTol : float. Dataset keyword

Altitude tolerance to determine which grid point to use [deg]

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the data and metadata at the point of interest

ind_rad : int

radar index

pyrad.proc.process_grid_texture(procstatus, dscfg, radar_list=None)[source]

Computes the 2D texture of a gridded field

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

xwind, ywind : int

The size of the local window in the x and y axis. Default 7

fill_value : float

The value with which to fill masked data. Default np.NaN

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing a radar object containing the field differences

ind_rad : int

radar index

pyrad.proc.process_grid_time_stats(procstatus, dscfg, radar_list=None)[source]

computes the temporal statistics of a field

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

period : float. Dataset keyword

the period to average [s]. If -1 the statistics are going to be performed over the entire data. Default 3600.

start_average : float. Dataset keyword

when to start the average [s from midnight UTC]. Default 0.

lin_trans: int. Dataset keyword

If 1 apply linear transformation before averaging

use_nan : bool. Dataset keyword

If true non valid data will be used

nan_value : float. Dataset keyword

The value of the non valid data. Default 0

stat: string. Dataset keyword

Statistic to compute: Can be mean, std, cov, min, max. Default mean

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_grid_time_stats2(procstatus, dscfg, radar_list=None)[source]

computes temporal statistics of a field

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

period : float. Dataset keyword

the period to average [s]. If -1 the statistics are going to be performed over the entire data. Default 3600.

start_average : float. Dataset keyword

when to start the average [s from midnight UTC]. Default 0.

stat: string. Dataset keyword

Statistic to compute: Can be median, mode, percentileXX

use_nan : bool. Dataset keyword

If true non valid data will be used

nan_value : float. Dataset keyword

The value of the non valid data. Default 0

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_hydroclass(procstatus, dscfg, radar_list=None)[source]

Classifies precipitation echoes

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

HYDRO_METHOD : string. Dataset keyword

The hydrometeor classification method. One of the following: SEMISUPERVISED

RADARCENTROIDS : string. Dataset keyword

Used with HYDRO_METHOD SEMISUPERVISED. The name of the radar of which the derived centroids will be used. One of the following: A Albis, L Lema, P Plaine Morte, DX50

compute_entropy : bool. Dataset keyword

If true the entropy is computed and the field hydroclass_entropy is output

output_distances : bool. Dataset keyword

If true the de-mixing algorithm based on the distances to the centroids is computed and the field proportions of each hydrometeor in the radar range gate is output

vectorize : bool. Dataset keyword

If true a vectorized version of the algorithm is used

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_hzt(procstatus, dscfg, radar_list=None)[source]

Gets iso0 degree data in HZT format and put it in radar coordinates

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

metranet_read_lib : str. Global keyword

Type of METRANET reader library used to read the data. Can be ‘C’ or ‘python’

datatype : string. Dataset keyword

arbitrary data type

keep_in_memory : int. Dataset keyword

if set keeps the COSMO data dict, the COSMO coordinates dict and the COSMO field in radar coordinates in memory

regular_grid : int. Dataset keyword

if set it is assume that the radar has a grid constant in time and there is no need to compute a new COSMO field if the COSMO data has not changed

cosmo_type : str. Dataset keyword

name of the COSMO field to process. Default TEMP

cosmo_variables : list of strings. Dataset keyword

Py-art name of the COSMO fields. Default temperature

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_hzt_coord(procstatus, dscfg, radar_list=None)[source]

Gets the HZT indices corresponding to each HZT coordinates

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

metranet_read_lib : str. Global keyword

Type of METRANET reader library used to read the data. Can be ‘C’ or ‘python’

datatype : string. Dataset keyword

arbitrary data type

cosmopath : string. General keyword

path where to store the look up table

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_hzt_lookup_table(procstatus, dscfg, radar_list=None)[source]

Gets HZT data and put it in radar coordinates using look up tables computed or loaded when initializing

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

metranet_read_lib : str. Global keyword

Type of METRANET reader library used to read the data. Can be ‘C’ or ‘python’

datatype : string. Dataset keyword

arbitrary data type

lookup_table : int. Dataset keyword

if set a pre-computed look up table for the COSMO coordinates is loaded. Otherwise the look up table is computed taking the first radar object as reference

regular_grid : int. Dataset keyword

if set it is assume that the radar has a grid constant in time and therefore there is no need to interpolate the COSMO field in memory to the current radar grid

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_ifft(procstatus, dscfg, radar_list=None)[source]

Compute the Doppler spectrum width from the spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_intercomp(procstatus, dscfg, radar_list=None)[source]

intercomparison between two radars

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

coloc_data_dir : string. Dataset keyword

name of the directory containing the csv file with colocated data

coloc_radars_name : string. Dataset keyword

string identifying the radar names

azi_tol : float. Dataset keyword

azimuth tolerance between the two radars. Default 0.5 deg

ele_tol : float. Dataset keyword

elevation tolerance between the two radars. Default 0.5 deg

rng_tol : float. Dataset keyword

range tolerance between the two radars. Default 50 m

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing a dictionary with intercomparison data and the key “final” which contains a boolean that is true when all volumes have been processed

ind_rad : int

radar index

pyrad.proc.process_intercomp_fields(procstatus, dscfg, radar_list=None)[source]

intercomparison between two radars

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing a dictionary with intercomparison data

ind_rad : int

radar index

pyrad.proc.process_intercomp_time_avg(procstatus, dscfg, radar_list=None)[source]

intercomparison between the average reflectivity of two radars

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

coloc_data_dir : string. Dataset keyword

name of the directory containing the csv file with colocated data

coloc_radars_name : string. Dataset keyword

string identifying the radar names

azi_tol : float. Dataset keyword

azimuth tolerance between the two radars. Default 0.5 deg

ele_tol : float. Dataset keyword

elevation tolerance between the two radars. Default 0.5 deg

rng_tol : float. Dataset keyword

range tolerance between the two radars. Default 50 m

clt_max : int. Dataset keyword

maximum number of samples that can be clutter contaminated. Default 100 i.e. all

phi_excess_max : int. Dataset keyword

maximum number of samples that can have excess instantaneous PhiDP. Default 100 i.e. all

non_rain_max : int. Dataset keyword

maximum number of samples that can be no rain. Default 100 i.e. all

phi_avg_max : float. Dataset keyword

maximum average PhiDP allowed. Default 600 deg i.e. any

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing a dictionary with intercomparison data and the key “final” which contains a boolean that is true when all volumes have been processed

ind_rad : int

radar index

pyrad.proc.process_kdp_leastsquare_double_window(procstatus, dscfg, radar_list=None)[source]

Computes specific differential phase using a piecewise least square method

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rwinds : float. Dataset keyword

The length of the short segment for the least square method [m]

rwindl : float. Dataset keyword

The length of the long segment for the least square method [m]

Zthr : float. Dataset keyword

The threshold defining which estimated data to use [dBZ]

vectorize : Bool. Dataset keyword

Whether to vectorize the KDP processing. Default false

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_kdp_leastsquare_single_window(procstatus, dscfg, radar_list=None)[source]

Computes specific differential phase using a piecewise least square method

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rwind : float. Dataset keyword

The length of the segment for the least square method [m]

vectorize : bool. Dataset keyword

Whether to vectorize the KDP processing. Default false

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_l(procstatus, dscfg, radar_list=None)[source]

Computes L parameter

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_mean_phase_iq(procstatus, dscfg, radar_list=None)[source]

Computes the mean phase from the horizontal or vertical IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_melting_layer(procstatus, dscfg, radar_list=None)[source]

Detects the melting layer

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_monitoring(procstatus, dscfg, radar_list=None)[source]

computes monitoring statistics

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

step : float. Dataset keyword

The width of the histogram bin. Default is None. In that case the default step in function get_histogram_bins is used

max_rays : int. Dataset keyword

The maximum number of rays per sweep used when computing the histogram. If set above 0 the number of rays per sweep will be checked and if above max_rays the last rays of the sweep will be removed

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : Radar

radar object containing histogram data

ind_rad : int

radar index

pyrad.proc.process_noise_power(procstatus, dscfg, radar_list=None)[source]

Computes the noise power from the spectra

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

units : str

The units of the returned signal. Can be ‘ADU’, ‘dBADU’ or ‘dBm’

navg : int

Number of spectra averaged

rmin : int

Range from which the data is used to estimate the noise

nnoise_min : int

Minimum number of samples to consider the estimated noise power valid

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_normalize_luminosity(procstatus, dscfg, radar_list=None)[source]

Normalize the data by the sinus of the sun elevation. The sun elevation is computed at the central pixel.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_occurrence(procstatus, dscfg, radar_list=None)[source]

computes the frequency of occurrence of data. It looks only for gates where data is present.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

regular_grid : Boolean. Dataset keyword

Whether the radar has a Boolean grid or not. Default False

rmin, rmax : float. Dataset keyword

minimum and maximum ranges where the computation takes place. If -1 the whole range is considered. Default is -1

val_min : Float. Dataset keyword

Minimum value to consider that the gate has signal. Default None

filter_prec : str. Dataset keyword

Give which type of volume should be filtered. None, no filtering; keep_wet, keep wet volumes; keep_dry, keep dry volumes.

rmax_prec : float. Dataset keyword

Maximum range to consider when looking for wet gates [m]

percent_prec_max : float. Dataset keyword

Maxim percentage of wet gates to consider the volume dry

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_occurrence_period(procstatus, dscfg, radar_list=None)[source]

computes the frequency of occurrence over a long period of time by adding together shorter periods

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

regular_grid : Boolean. Dataset keyword

Whether the radar has a Boolean grid or not. Default False

rmin, rmax : float. Dataset keyword

minimum and maximum ranges where the computation takes place. If -1 the whole range is considered. Default is -1

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_outlier_filter(procstatus, dscfg, radar_list=None)[source]

filters out gates which are outliers respect to the surrounding

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

threshold : float. Dataset keyword

The distance between the value of the examined range gate and the median of the surrounding gates to consider the gate an outlier

nb : int. Dataset keyword

The number of neighbours (to one side) to analyse. i.e. 2 would correspond to 24 gates

nb_min : int. Dataset keyword

Minimum number of neighbouring gates to consider the examined gate valid

percentile_min, percentile_max : float. Dataset keyword

gates below (above) these percentiles (computed over the sweep) are considered potential outliers and further examined

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_phidp_kdp_Kalman(procstatus, dscfg, radar_list=None)[source]

Computes specific differential phase and differential phase using the Kalman filter as proposed by Schneebeli et al. The data is assumed to be clutter free and continous

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

parallel : boolean. Dataset keyword

if set use parallel computing

get_phidp : boolean. Datset keyword

if set the PhiDP computed by integrating the resultant KDP is added to the radar field

frequency : float. Dataset keyword

the radar frequency [Hz]. If None that of the key frequency in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present it will be assumed that the radar is C band

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_phidp_kdp_Maesaka(procstatus, dscfg, radar_list=None)[source]

Estimates PhiDP and KDP using the method by Maesaka. This method only retrieves data in rain (i.e. below the melting layer)

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rmin : float. Dataset keyword

The minimum range where to look for valid data [m]

rmax : float. Dataset keyword

The maximum range where to look for valid data [m]

rcell : float. Dataset keyword

The length of a continuous cell to consider it valid precip [m]

Zmin : float. Dataset keyword

The minimum reflectivity [dBZ]

Zmax : float. Dataset keyword

The maximum reflectivity [dBZ]

fzl : float. Dataset keyword

The freezing level height [m]. Default 2000.

ml_thickness : float. Dataset keyword

The melting layer thickness in meters. Default 700.

beamwidth : float. Dataset keyword

the antenna beamwidth [deg]. If None that of the keys radar_beam_width_h or radar_beam_width_v in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the beamwidth will be set to None

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_phidp_kdp_Vulpiani(procstatus, dscfg, radar_list=None)[source]

Computes specific differential phase and differential phase using the method developed by Vulpiani et al. The data is assumed to be clutter free and monotonous

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rwind : float. Dataset keyword

The length of the segment [m]

n_iter : int. Dataset keyword

number of iterations

interp : boolean. Dataset keyword

if set non valid values are interpolated using neighbouring valid values

parallel : boolean. Dataset keyword

if set use parallel computing

get_phidp : boolean. Datset keyword

if set the PhiDP computed by integrating the resultant KDP is added to the radar field

frequency : float. Dataset keyword

the radar frequency [Hz]. If None that of the key frequency in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present it will be assumed that the radar is C band

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_phidp_kdp_lp(procstatus, dscfg, radar_list=None)[source]

Estimates PhiDP and KDP using a linear programming algorithm. This method only retrieves data in rain (i.e. below the melting layer)

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

fzl : float. Dataset keyword

The freezing level height [m]. Default 2000.

ml_thickness : float. Dataset keyword

The melting layer thickness in meters. Default 700.

beamwidth : float. Dataset keyword

the antenna beamwidth [deg]. If None that of the keys radar_beam_width_h or radar_beam_width_v in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the beamwidth will be set to None

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_pixel_filter(procstatus, dscfg, radar_list=None)[source]

Masks all pixels that are not of the class specified in keyword pixel_type

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

pixel_type : int or list of ints

The type of pixels to keep: 0 No data, 1 Below threshold, 2 Above threshold. Default 2

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_point_measurement(procstatus, dscfg, radar_list=None)[source]

Obtains the radar data at a point location.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

single_point : boolean. Dataset keyword

if True only one gate per radar volume is going to be kept. Otherwise all gates within the azimuth and elevation tolerance are going to be kept. This is useful to extract all data from fixed pointing scans. Default True

latlon : boolean. Dataset keyword

if True position is obtained from latitude, longitude information, otherwise position is obtained from antenna coordinates (range, azimuth, elevation).

truealt : boolean. Dataset keyword

if True the user input altitude is used to determine the point of interest. if False use the altitude at a given radar elevation ele over the point of interest.

lon : float. Dataset keyword

the longitude [deg]. Use when latlon is True.

lat : float. Dataset keyword

the latitude [deg]. Use when latlon is True.

alt : float. Dataset keyword

altitude [m MSL]. Use when latlon is True.

ele : float. Dataset keyword

radar elevation [deg]. Use when latlon is False or when latlon is True and truealt is False

azi : float. Dataset keyword

radar azimuth [deg]. Use when latlon is False

rng : float. Dataset keyword

range from radar [m]. Use when latlon is False

AziTol : float. Dataset keyword

azimuthal tolerance to determine which radar azimuth to use [deg]

EleTol : float. Dataset keyword

elevation tolerance to determine which radar elevation to use [deg]

RngTol : float. Dataset keyword

range tolerance to determine which radar bin to use [m]

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the data and metadata at the point of interest

ind_rad : int

radar index

pyrad.proc.process_pol_variables(procstatus, dscfg, radar_list=None)[source]

Computes the polarimetric variables from the complex spectra

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal. Default False

smooth_window : int or None

Size of the moving Gaussian smoothing window. If none no smoothing will be applied. Default None

variables : list of str

list of variables to compute. Default dBZ

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_pol_variables_iq(procstatus, dscfg, radar_list=None)[source]

Computes the polarimetric variables from the IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal

lag : int

The time lag to use in the estimators

direction : str

The convention used in the Doppler mean field. Can be negative_away or negative_towards

variables : list of str

list of variables to compute. Default dBZ

phase_offset : float. Dataset keyword

The system differential phase offset to remove

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_qvp(procstatus, dscfg, radar_list=None)[source]

Computes quasi vertical profiles, by averaging over height levels PPI data.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

angle : int or float

If the radar object contains a PPI volume, the sweep number to use, if it contains an RHI volume the elevation angle. Default 0.

ang_tol : float

If the radar object contains an RHI volume, the tolerance in the elevation angle for the conversion into PPI

hmax : float

The maximum height to plot [m]. Default 10000.

hres : float

The height resolution [m]. Default 50

avg_type : str

The type of averaging to perform. Can be either “mean” or “median” Default “mean”

nvalid_min : int

Minimum number of valid points to accept average. Default 30.

interp_kind : str

type of interpolation when projecting to vertical grid: ‘none’, or ‘nearest’, etc. Default ‘none’ ‘none’ will select from all data points within the regular grid height bin the closest to the center of the bin. ‘nearest’ will select the closest data point to the center of the height bin regardless if it is within the height bin or not. Data points can be masked values If another type of interpolation is selected masked values will be eliminated from the data points before the interpolation

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the QVP and a keyboard stating whether the processing has finished or not.

ind_rad : int

radar index

pyrad.proc.process_radar_resampling(procstatus, dscfg, radar_list=None)[source]

Resamples the radar data to mimic another radar with different geometry and antenna pattern

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries
datatype : list of string. Dataset keyword

The input data types

antennaType : str. Dataset keyword

Type of antenna of the radar we want to get the view from. Can be AZIMUTH, ELEVATION, LOWBEAM, HIGHBEAM

par_azimuth_antenna : dict. Global keyword

Dictionary containing the parameters of the PAR azimuth antenna, i.e. name of the file with the antenna elevation pattern and fixed antenna angle

par_elevation_antenna : dict. Global keyword

Dictionary containing the parameters of the PAR elevation antenna, i.e. name of the file with the antenna azimuth pattern and fixed antenna angle

asr_lowbeam_antenna : dict. Global keyword

Dictionary containing the parameters of the ASR low beam antenna, i.e. name of the file with the antenna elevation pattern and fixed antenna angle

asr_highbeam_antenna : dict. Global keyword

Dictionary containing the parameters of the ASR high beam antenna, i.e. name of the file with the antenna elevation pattern and fixed antenna angle

target_radar_pos : dict. Global keyword

Dictionary containing the latitude, longitude and altitude of the radar we want to get the view from. If not specifying it will assume the radar is collocated

change_antenna_pattern : Bool. Dataset keyword

If true the target radar has a different antenna pattern than the observations radar. Default True

rhi_resolution : Bool. Dataset keyword

Resolution of the synthetic RHI used to compute the data as viewed from the synthetic radar [deg]. Default 0.5

max_altitude : float. Dataset keyword

Max altitude of the data to use when computing the view from the synthetic radar [m MSL]. Default 12000.

latlon_tol : float. Dataset keyword

The tolerance in latitude and longitude to determine which synthetic radar gates are co-located with real radar gates [deg]. Default 0.04

alt_tol : float. Dataset keyword

The tolerance in altitude to determine which synthetic radar gates are co-located with real radar gates [m]. Default 1000.

distance_upper_bound : float. Dataset keyword

The maximum distance where to look for a neighbour when determining which synthetic radar gates are co-located with real radar gates [m]. Default 1000.

use_cKDTree : Bool. Dataset keyword

Which function to use to find co-located real radar gates with the synthetic radar. If True a function using cKDTree from scipy.spatial is used. This function uses parameter distance_upper_bound. If False a native implementation is used that takes as parameters latlon_tol and alt_tol. Default True.

pattern_thres : float. Dataset keyword

The minimum of the sum of the weights given to each value in order to consider the weighted quantile valid. It is related to the number of valid data points

data_is_log : dict. Dataset keyword

Dictionary specifying for each field if it is in log (True) or linear units (False). Default False

use_nans : dict. Dataset keyword

Dictionary specifying whether the nans have to be used in the computation of the statistics for each field. Default False

nan_value : dict. Dataset keyword

Dictionary with the value to use to substitute the NaN values when computing the statistics of each field. Default 0

moving_angle_min, moving_angle_max: float. Dataset keyword

The minimum and maximum azimuth angle (deg) of the target radar. Default 0, 360.

ray_res: float

Ray resolution (deg). Default 1 deg.

rng_min, rng_max:

The minimum and maximum range of the target radar (m). Default 0, 100000

rng_res : float

The target radar range resolution (m). Default 100.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the new radar

ind_rad : int

radar index

pyrad.proc.process_radial_noise_hs(procstatus, dscfg, radar_list=None)[source]

Computes the radial noise from the signal power using the Hildebrand and Sekhon 1974 method

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

rmin : float. Dataset keyword

The minimum range from which to start the computation

nbins_min : int. Dataset keyword

The minimum number of noisy gates to consider the estimation valid

max_std_pwr : float. Dataset keyword

The maximum standard deviation of the noise power to consider the estimation valid

get_noise_pos : bool. Dataset keyword

If True a field flagging the position of the noisy gets will be returned

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_radial_noise_ivic(procstatus, dscfg, radar_list=None)[source]

Computes the radial noise from the signal power using the Ivic 2013 method

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

npulses_ray : int

Default number of pulses used in the computation of the ray. If the number of pulses is not in radar.instrument_parameters this will be used instead. Default 30

ngates_min: int

minimum number of gates with noise to consider the retrieval valid. Default 800

iterations: int

number of iterations in step 7. Default 10.

get_noise_pos : bool

If true an additional field with gates containing noise according to the algorithm is produced

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_radial_velocity(procstatus, dscfg, radar_list=None)[source]

Estimates the radial velocity respect to the radar from the wind velocity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

latitude, longitude : float

arbitrary coordinates [deg] from where to compute the radial velocity. If any of them is None it will be the radar position

altitude : float

arbitrary altitude [m MSL] from where to compute the radial velocity. If None it will be the radar altitude

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_rainfall_accumulation(procstatus, dscfg, radar_list=None)[source]

Computes rainfall accumulation fields

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

period : float. Dataset keyword

the period to average [s]. If -1 the statistics are going to be performed over the entire data. Default 3600.

start_average : float. Dataset keyword

when to start the average [s from midnight UTC]. Default 0.

use_nan : bool. Dataset keyword

If true non valid data will be used

nan_value : float. Dataset keyword

The value of the non valid data. Default 0

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_rainrate(procstatus, dscfg, radar_list=None)[source]

Estimates rainfall rate from polarimetric moments

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

RR_METHOD : string. Dataset keyword

The rainfall rate estimation method. One of the following: Z, ZPoly, KDP, A, ZKDP, ZA, hydro

alpha, beta : float

factor and exponent of the R-Var power law R = alpha*Var^Beta. Default value depending on RR_METHOD. Z (0.0376, 0.6112), KDP (None, None), A (None, None)

alphaz, betaz : float

factor and exponent of the R-Z power law R = alpha*Z^Beta. Default value (0.0376, 0.6112)

alphazr, betazr : float

factor and exponent of the R-Z power law R = alpha*Z^Beta applied to rain in method hydro. Default value (0.0376, 0.6112)

alphazs, betazs : float

factor and exponent of the R-Z power law R = alpha*Z^Beta applied to solid precipitation in method hydro. Default value (0.1, 0.5)

alphakdp, betakdp : float

factor and exponent of the R-KDP power law R = alpha*KDP^Beta. Default value (None, None)

alphaa, betaa : float

factor and exponent of the R-Ah power law R = alpha*Ah^Beta. Default value (None, None)

thresh : float

In hybrid methods, Rainfall rate threshold at which the retrieval method used changes [mm/h]. Default value depending on RR_METHOD. ZKDP 10, ZA 10, hydro 10

mp_factor : float

Factor by which the Z-R relation is multiplied in the melting layer in method hydro. Default 0.6

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_raw(procstatus, dscfg, radar_list=None)[source]

Dummy function that returns the initial input data set

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_raw_grid(procstatus, dscfg, radar_list=None)[source]

Dummy function that returns the initial input data set

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_raw_iq(procstatus, dscfg, radar_list=None)[source]

Dummy function that returns the initial input data set

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_raw_spectra(procstatus, dscfg, radar_list=None)[source]

Dummy function that returns the initial input data set

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_rcs(procstatus, dscfg, radar_list=None)[source]

Computes the radar cross-section (assuming a point target) from radar reflectivity.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

kw2 : float. Dataset keyowrd

The water constant

pulse_width : float. Dataset keyowrd

The pulse width [s]

beamwidthv : float. Global keyword

The vertical polarization antenna beamwidth [deg]. Used if input is vertical reflectivity

beamwidthh : float. Global keyword

The horizontal polarization antenna beamwidth [deg]. Used if input is horizontal reflectivity

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_rcs_pr(procstatus, dscfg, radar_list=None)[source]

Computes the radar cross-section (assuming a point target) from radar reflectivity by first computing the received power and then the RCS from it.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

AntennaGainH, AntennaGainV : float. Dataset keyword

The horizontal (vertical) polarization antenna gain [dB]. If None it will be obtained from the attribute instrument_parameters of the radar object

txpwrh, txpwrv : float. Dataset keyword

The transmitted power of the horizontal (vertical) channel [dBm]. If None it will be obtained from the attribute radar_calibration of the radar object

mflossh, mflossv : float. Dataset keyword

The matching filter losses of the horizontal (vertical) channel [dB]. If None it will be obtained from the attribute radar_calibration of the radar object. Defaults to 0

radconsth, radconstv : float. Dataset keyword

The horizontal (vertical) channel radar constant. If None it will be obtained from the attribute radar_calibration of the radar object

lrxh, lrxv : float. Global keyword

The horizontal (vertical) receiver losses from the antenna feed to the reference point. [dB] positive value. Default 0

ltxh, ltxv : float. Global keyword

The horizontal (vertical) transmitter losses from the output of the high power amplifier to the antenna feed. [dB] positive value. Default 0

lradomeh, lradomev : float. Global keyword

The 1-way dry radome horizontal (vertical) channel losses. [dB] positive value. Default 0.

attg : float. Dataset keyword

The gas attenuation [dB/km]. If none it will be obtained from the attribute radar_calibration of the radar object or assigned according to the radar frequency. Defaults to 0.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_reflectivity(procstatus, dscfg, radar_list=None)[source]

Computes reflectivity from the spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_reflectivity_iq(procstatus, dscfg, radar_list=None)[source]

Computes reflectivity from the IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_rhohv(procstatus, dscfg, radar_list=None)[source]

Computes RhoHV from the complex spectras

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_rhohv_iq(procstatus, dscfg, radar_list=None)[source]

Computes RhoHV from the horizontal and vertical IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal

lag : int

Time lag used in the computation

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_rhohv_rain(procstatus, dscfg, radar_list=None)[source]

Keeps only suitable data to evaluate the 80 percentile of RhoHV in rain

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rmin : float. Dataset keyword

minimum range where to look for rain [m]. Default 1000.

rmax : float. Dataset keyword

maximum range where to look for rain [m]. Default 50000.

Zmin : float. Dataset keyword

minimum reflectivity to consider the bin as precipitation [dBZ]. Default 20.

Zmax : float. Dataset keyword

maximum reflectivity to consider the bin as precipitation [dBZ] Default 40.

ml_thickness : float. Dataset keyword

assumed thickness of the melting layer. Default 700.

fzl : float. Dataset keyword

The default freezing level height. It will be used if no temperature field name is specified or the temperature field is not in the radar object. Default 2000.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_roi(procstatus, dscfg, radar_list=None)[source]

Obtains the radar data at a region of interest defined by a TRT file or by the user.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

trtfile : str. Dataset keyword

TRT file from which to extract the region of interest

lon_roi, lat_roi : float array. Dataset keyword

latitude and longitude positions defining a region of interest

alt_min, alt_max : float. Dataset keyword

Minimum and maximum altitude of the region of interest. Can be None

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the data and metadata at the point of interest

ind_rad : int

radar index

pyrad.proc.process_rqvp(procstatus, dscfg, radar_list=None)[source]

Computes range defined quasi vertical profiles, by averaging over height levels PPI data.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

hmax : float

The maximum height to plot [m]. Default 10000.

hres : float

The height resolution [m]. Default 2.

avg_type : str

The type of averaging to perform. Can be either “mean” or “median” Default “mean”

nvalid_min : int

Minimum number of valid points to accept average. Default 30.

interp_kind : str

type of interpolation when projecting to vertical grid: ‘none’, or ‘nearest’, etc. Default ‘nearest’ ‘none’ will select from all data points within the regular grid height bin the closest to the center of the bin. ‘nearest’ will select the closest data point to the center of the height bin regardless if it is within the height bin or not. Data points can be masked values If another type of interpolation is selected masked values will be eliminated from the data points before the interpolation

rmax : float

ground range up to which the data is intended for use [m]. Default 50000.

weight_power : float

Power p of the weighting function 1/abs(grng-(rmax-1))**p given to the data outside the desired range. -1 will set the weight to 0. Default 2.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the QVP and a keyboard stating whether the processing has finished or not.

ind_rad : int

radar index

pyrad.proc.process_save_radar(procstatus, dscfg, radar_list=None)[source]

Dummy function that allows to save the entire radar object

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_selfconsistency_bias(procstatus, dscfg, radar_list=None)[source]

Estimates the reflectivity bias by means of the selfconsistency algorithm by Gourley

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

parametrization : str

The type of parametrization for the self-consistency curves. Can be ‘None’, ‘Gourley’, ‘Wolfensberger’, ‘Louf’, ‘Gorgucci’ or ‘Vaccarono’ ‘None’ will use tables from config files. Default ‘None’.

fzl : float. Dataset keyword

Default freezing level height. Default 2000.

rsmooth : float. Dataset keyword

length of the smoothing window [m]. Default 2000.

min_rhohv : float. Dataset keyword

minimum valid RhoHV. Default 0.92

filter_rain : Bool. Dataset keyword

If True the hydrometeor classification is used to filter out gates that are not rain. Default True

max_phidp : float. Dataset keyword

maximum valid PhiDP [deg]. Default 20.

ml_thickness : float. Dataset keyword

Melting layer thickness [m]. Default 700.

rcell : float. Dataset keyword

length of continuous precipitation to consider the precipitation cell a valid phidp segment [m]. Default 15000.

dphidp_min : float. Dataset keyword

minimum phase shift [deg]. Default 2.

dphidp_max : float. Dataset keyword

maximum phase shift [deg]. Default 16.

frequency : float. Dataset keyword

the radar frequency [Hz]. If None that of the key frequency in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the selfconsistency will not be computed

check_wet_radome : Bool. Dataset keyword

if True the average reflectivity of the closest gates to the radar is going to be check to find out whether there is rain over the radome. If there is rain no bias will be computed. Default True.

wet_radome_refl : Float. Dataset keyword

Average reflectivity [dBZ] of the gates close to the radar to consider the radome as wet. Default 25.

wet_radome_rng_min, wet_radome_rng_max : Float. Dataset keyword

Min and max range [m] of the disk around the radar used to compute the average reflectivity to determine whether the radome is wet. Default 2000 and 4000.

wet_radome_ngates_min : int

Minimum number of valid gates to consider that the radome is wet. Default 180

valid_gates_only : Bool

If True the reflectivity bias obtained for each valid ray is going to be assigned only to gates of the segment used. That will give more weight to longer segments when computing the total bias. Default False

keep_points : Bool

If True the ZDR, ZH and KDP of the gates used in the self- consistency algorithm are going to be stored for further analysis. Default False

rkdp : float

The length of the window used to compute KDP with the single window least square method [m]. Default 6000.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_selfconsistency_bias2(procstatus, dscfg, radar_list=None)[source]

Estimates the reflectivity bias by means of the selfconsistency algorithm by Gourley

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

parametrization : str

The type of parametrization for the self-consistency curves. Can be ‘None’, ‘Gourley’, ‘Wolfensberger’, ‘Louf’, ‘Gorgucci’ or ‘Vaccarono’ ‘None’ will use tables from config files. Default ‘None’.

fzl : float. Dataset keyword

Default freezing level height. Default 2000.

rsmooth : float. Dataset keyword

length of the smoothing window [m]. Default 2000.

min_rhohv : float. Dataset keyword

minimum valid RhoHV. Default 0.92

filter_rain : Bool. Dataset keyword

If True the hydrometeor classification is used to filter out gates that are not rain. Default True

max_phidp : float. Dataset keyword

maximum valid PhiDP [deg]. Default 20.

ml_thickness : float. Dataset keyword

Melting layer thickness [m]. Default 700.

rcell : float. Dataset keyword

length of continuous precipitation to consider the precipitation cell a valid phidp segment [m]. Default 15000.

frequency : float. Dataset keyword

the radar frequency [Hz]. If None that of the key frequency in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the selfconsistency will not be computed

check_wet_radome : Bool. Dataset keyword

if True the average reflectivity of the closest gates to the radar is going to be check to find out whether there is rain over the radome. If there is rain no bias will be computed. Default True.

wet_radome_refl : Float. Dataset keyword

Average reflectivity [dBZ] of the gates close to the radar to consider the radome as wet. Default 25.

wet_radome_rng_min, wet_radome_rng_max : Float. Dataset keyword

Min and max range [m] of the disk around the radar used to compute the average reflectivity to determine whether the radome is wet. Default 2000 and 4000.

wet_radome_ngates_min : int

Minimum number of valid gates to consider that the radome is wet. Default 180

keep_points : Bool

If True the ZDR, ZH and KDP of the gates used in the self- consistency algorithm are going to be stored for further analysis. Default False

bias_per_gate : Bool

If True the bias per gate will be computed

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_selfconsistency_kdp_phidp(procstatus, dscfg, radar_list=None)[source]

Computes specific differential phase and differential phase in rain using the selfconsistency between Zdr, Zh and KDP

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of strings. Dataset keyword

The input data types

parametrization : str

The type of parametrization for the self-consistency curves. Can be ‘None’, ‘Gourley’, ‘Wolfensberger’, ‘Louf’, ‘Gorgucci’ or ‘Vaccarono’ ‘None’ will use tables from config files. Default ‘None’.

rsmooth : float. Dataset keyword

length of the smoothing window [m]. Default 2000.

min_rhohv : float. Dataset keyword

minimum valid RhoHV. Default 0.92

filter_rain : Bool. Dataset keyword

If True the hydrometeor classification is used to filter out gates that are not rain. Default True

max_phidp : float. Dataset keyword

maximum valid PhiDP [deg]. Default 20.

ml_thickness : float. Dataset keyword

assumed melting layer thickness [m]. Default 700.

fzl : float. Dataset keyword

The default freezing level height. It will be used if no temperature field name is specified or the temperature field is not in the radar object. Default 2000.

frequency : float. Dataset keyword

the radar frequency [Hz]. If None that of the key frequency in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the selfconsistency will not be computed

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_signal_power(procstatus, dscfg, radar_list=None)[source]

Computes the signal power in dBm

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

mflossh, mflossv : float. Dataset keyword

The matching filter losses of the horizontal (vertical) channel [dB]. If None it will be obtained from the attribute radar_calibration of the radar object. Defaults to 0

radconsth, radconstv : float. Dataset keyword

The horizontal (vertical) channel radar constant. If None it will be obtained from the attribute radar_calibration of the radar object

lrxh, lrxv : float. Global keyword

The horizontal (vertical) receiver losses from the antenna feed to the reference point. [dB] positive value. Default 0

lradomeh, lradomev : float. Global keyword

The 1-way dry radome horizontal (vertical) channel losses. [dB] positive value. Default 0.

attg : float. Dataset keyword

The gas attenuation [dB/km]. If none it will be obtained from the attribute radar_calibration of the radar object or assigned according to the radar frequency. Defaults to 0.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_smooth_phidp_double_window(procstatus, dscfg, radar_list=None)[source]

corrects phidp of the system phase and smoothes it using one window

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rmin : float. Dataset keyword

The minimum range where to look for valid data [m]

rmax : float. Dataset keyword

The maximum range where to look for valid data [m]

rcell : float. Dataset keyword

The length of a continuous cell to consider it valid precip [m]

rwinds : float. Dataset keyword

The length of the short smoothing window [m]

rwindl : float. Dataset keyword

The length of the long smoothing window [m]

Zmin : float. Dataset keyword

The minimum reflectivity [dBZ]

Zmax : float. Dataset keyword

The maximum reflectivity [dBZ]

Zthr : float. Dataset keyword

The threshold defining wich smoothed data to used [dBZ]

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_smooth_phidp_single_window(procstatus, dscfg, radar_list=None)[source]

corrects phidp of the system phase and smoothes it using one window

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rmin : float. Dataset keyword

The minimum range where to look for valid data [m]

rmax : float. Dataset keyword

The maximum range where to look for valid data [m]

rcell : float. Dataset keyword

The length of a continuous cell to consider it valid precip [m]

rwind : float. Dataset keyword

The length of the smoothing window [m]

Zmin : float. Dataset keyword

The minimum reflectivity [dBZ]

Zmax : float. Dataset keyword

The maximum reflectivity [dBZ]

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_snr(procstatus, dscfg, radar_list=None)[source]

Computes SNR

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

output_type : string. Dataset keyword

The output data type. Either SNRh or SNRv

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_spectra_ang_avg(procstatus, dscfg, radar_list=None)[source]

Function to average the spectra over the rays. This function is intended mainly for vertically pointing scans. The function assumes the volume is composed of a single sweep, it averages over the number of rays specified by the user and produces a single ray output.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

navg : int

Number of spectra to average. If -1 all spectra will be averaged. Default -1.

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_spectra_point(procstatus, dscfg, radar_list=None)[source]

Obtains the spectra or IQ data at a point location.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

single_point : boolean. Dataset keyword

if True only one gate per radar volume is going to be kept. Otherwise all gates within the azimuth and elevation tolerance are going to be kept. This is useful to extract all data from fixed pointing scans. Default True

latlon : boolean. Dataset keyword

if True position is obtained from latitude, longitude information, otherwise position is obtained from antenna coordinates (range, azimuth, elevation). Default False

truealt : boolean. Dataset keyword

if True the user input altitude is used to determine the point of interest. if False use the altitude at a given radar elevation ele over the point of interest. Default True

lon : float. Dataset keyword

the longitude [deg]. Use when latlon is True.

lat : float. Dataset keyword

the latitude [deg]. Use when latlon is True.

alt : float. Dataset keyword

altitude [m MSL]. Use when latlon is True. Default 0.

ele : float. Dataset keyword

radar elevation [deg]. Use when latlon is False or when latlon is True and truealt is False

azi : float. Dataset keyword

radar azimuth [deg]. Use when latlon is False

rng : float. Dataset keyword

range from radar [m]. Use when latlon is False

AziTol : float. Dataset keyword

azimuthal tolerance to determine which radar azimuth to use [deg]. Default 0.5

EleTol : float. Dataset keyword

elevation tolerance to determine which radar elevation to use [deg]. Default 0.5

RngTol : float. Dataset keyword

range tolerance to determine which radar bin to use [m]. Default 50.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the data and metadata at the point of interest

ind_rad : int

radar index

pyrad.proc.process_spectral_differential_phase(procstatus, dscfg, radar_list=None)[source]

Computes the spectral differential phase

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_spectral_differential_reflectivity(procstatus, dscfg, radar_list=None)[source]

Computes spectral differential reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal

smooth_window : int or None

Size of the moving Gaussian smoothing window. If none no smoothing will be applied

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_spectral_noise(procstatus, dscfg, radar_list=None)[source]

Computes the spectral noise

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

units : str

The units of the returned signal. Can be ‘ADU’, ‘dBADU’ or ‘dBm’

navg : int

Number of spectra averaged

rmin : int

Range from which the data is used to estimate the noise

nnoise_min : int

Minimum number of samples to consider the estimated noise power valid

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_spectral_phase(procstatus, dscfg, radar_list=None)[source]

Computes the spectral phase

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_spectral_power(procstatus, dscfg, radar_list=None)[source]

Computes the spectral power

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

units : str

The units of the returned signal. Can be ‘ADU’, ‘dBADU’ or ‘dBm’

subtract_noise : Bool

If True noise will be subtracted from the signal

smooth_window : int or None

Size of the moving Gaussian smoothing window. If none no smoothing will be applied

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_spectral_reflectivity(procstatus, dscfg, radar_list=None)[source]

Computes spectral reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal

smooth_window : int or None

Size of the moving Gaussian smoothing window. If none no smoothing will be applied

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_spectral_rhohv(procstatus, dscfg, radar_list=None)[source]

Computes the spectral RhoHV

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

subtract_noise : Bool

If True noise will be subtracted from the signal

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_st1_iq(procstatus, dscfg, radar_list=None)[source]

Computes the statistical test one lag fluctuation from the horizontal or vertical IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_st2_iq(procstatus, dscfg, radar_list=None)[source]

Computes the statistical test two lag fluctuation from the horizontal or vertical IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_sun_hits(procstatus, dscfg, radar_list=None)[source]

monitoring of the radar using sun hits

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

delev_max : float. Dataset keyword

maximum elevation distance from nominal radar elevation where to look for a sun hit signal [deg]. Default 1.5

dazim_max : float. Dataset keyword

maximum azimuth distance from nominal radar elevation where to look for a sun hit signal [deg]. Default 1.5

elmin : float. Dataset keyword

minimum radar elevation where to look for sun hits [deg]. Default 1.

attg : float. Dataset keyword

gaseous attenuation. Default None

sun_position : string. Datset keyword

The function to compute the sun position to use. Can be ‘MF’ or ‘pysolar’

sun_hit_method : str. Dataset keyword

Method used to estimate the power of the sun hit. Can be HS (Hildebrand and Sekhon 1974) or Ivic (Ivic 2013)

rmin : float. Dataset keyword

minimum range where to look for a sun hit signal [m]. Used in HS method. Default 50000.

hmin : float. Dataset keyword

minimum altitude where to look for a sun hit signal [m MSL]. Default 10000. The actual range from which a sun hit signal will be search will be the minimum between rmin and the range from which the altitude is higher than hmin. Used in HS method. Default 10000.

nbins_min : int. Dataset keyword.

minimum number of range bins that have to contain signal to consider the ray a potential sun hit. Default 20 for HS and 8000 for Ivic.

npulses_ray : int

Default number of pulses used in the computation of the ray. If the number of pulses is not in radar.instrument_parameters this will be used instead. Used in Ivic method. Default 30

iterations: int

number of iterations in step 7 of Ivic method. Default 10.

max_std_pwr : float. Dataset keyword

maximum standard deviation of the signal power to consider the data a sun hit [dB]. Default 2. Used in HS method

max_std_zdr : float. Dataset keyword

maximum standard deviation of the ZDR to consider the data a sun hit [dB]. Default 2.

az_width_co : float. Dataset keyword

co-polar antenna azimuth width (convoluted with sun width) [deg]. Default None

el_width_co : float. Dataset keyword

co-polar antenna elevation width (convoluted with sun width) [deg]. Default None

az_width_cross : float. Dataset keyword

cross-polar antenna azimuth width (convoluted with sun width) [deg]. Default None

el_width_cross : float. Dataset keyword

cross-polar antenna elevation width (convoluted with sun width) [deg]. Default None

ndays : int. Dataset keyword

number of days used in sun retrieval. Default 1

coeff_band : float. Dataset keyword

multiplicate coefficient to transform pulse width into receiver bandwidth

frequency : float. Dataset keyword

the radar frequency [Hz]. If None that of the key frequency in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present frequency dependent parameters will not be computed

beamwidth : float. Dataset keyword

the antenna beamwidth [deg]. If None that of the keys radar_beam_width_h or radar_beam_width_v in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the beamwidth dependent parameters will not be computed

pulse_width : float. Dataset keyword

the pulse width [s]. If None that of the key pulse_width in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the pulse width dependent parameters will not be computed

ray_angle_res : float. Dataset keyword

the ray angle resolution [deg]. If None that of the key ray_angle_res in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the ray angle resolution parameters will not be computed

AntennaGainH, AntennaGainV : float. Dataset keyword

the horizontal (vertical) polarization antenna gain [dB]. If None that of the attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the ray angle resolution parameters will not be computed

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
sun_hits_dict : dict

dictionary containing a radar object, a sun_hits dict and a sun_retrieval dictionary

ind_rad : int

radar index

pyrad.proc.process_svp(procstatus, dscfg, radar_list=None)[source]

Computes slanted vertical profiles, by averaging over height levels PPI data.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

angle : int or float

If the radar object contains a PPI volume, the sweep number to use, if it contains an RHI volume the elevation angle. Default 0.

ang_tol : float

If the radar object contains an RHI volume, the tolerance in the elevation angle for the conversion into PPI. Default 1.

lat, lon : float

latitude and longitude of the point of interest [deg]

latlon_tol : float

tolerance in latitude and longitude in deg. Default 0.0005

delta_rng, delta_azi : float

maximum range distance [m] and azimuth distance [degree] from the central point of the svp containing data to average. Default 5000. and 10.

hmax : float

The maximum height to plot [m]. Default 10000.

hres : float

The height resolution [m]. Default 250.

avg_type : str

The type of averaging to perform. Can be either “mean” or “median” Default “mean”

nvalid_min : int

Minimum number of valid points to consider the data valid when performing the averaging. Default 1

interp_kind : str

type of interpolation when projecting to vertical grid: ‘none’, or ‘nearest’, etc. Default ‘none’ ‘none’ will select from all data points within the regular grid height bin the closest to the center of the bin. ‘nearest’ will select the closest data point to the center of the height bin regardless if it is within the height bin or not. Data points can be masked values If another type of interpolation is selected masked values will be eliminated from the data points before the interpolation

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the svp and a keyboard stating whether the processing has finished or not.

ind_rad : int

radar index

pyrad.proc.process_time_avg(procstatus, dscfg, radar_list=None)[source]

computes the temporal mean of a field

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

period : float. Dataset keyword

the period to average [s]. Default 3600.

start_average : float. Dataset keyword

when to start the average [s from midnight UTC]. Default 0.

lin_trans: int. Dataset keyword

If 1 apply linear transformation before averaging

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_time_avg_flag(procstatus, dscfg, radar_list=None)[source]

computes a flag field describing the conditions of the data used while averaging

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

period : float. Dataset keyword

the period to average [s]. Default 3600.

start_average : float. Dataset keyword

when to start the average [s from midnight UTC]. Default 0.

phidpmax: float. Dataset keyword

maximum PhiDP

beamwidth : float. Dataset keyword

the antenna beamwidth [deg]. If None that of the keys radar_beam_width_h or radar_beam_width_v in attribute instrument_parameters of the radar object will be used. If the key or the attribute are not present the beamwidth will be set to None

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : Radar

radar object

ind_rad : int

radar index

pyrad.proc.process_time_avg_std(procstatus, dscfg, radar_list=None)[source]

computes the average and standard deviation of data. It looks only for gates where data is present.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

regular_grid : Boolean. Dataset keyword

Whether the radar has a Boolean grid or not. Default False

rmin, rmax : float. Dataset keyword

minimum and maximum ranges where the computation takes place. If -1 the whole range is considered. Default is -1

val_min : Float. Dataset keyword

Minimum reflectivity value to consider that the gate has signal. Default None

filter_prec : str. Dataset keyword

Give which type of volume should be filtered. None, no filtering; keep_wet, keep wet volumes; keep_dry, keep dry volumes.

rmax_prec : float. Dataset keyword

Maximum range to consider when looking for wet gates [m]

percent_prec_max : float. Dataset keyword

Maxim percentage of wet gates to consider the volume dry

lin_trans : Boolean. Dataset keyword

If True the data will be transformed into linear units. Default False

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_time_height(procstatus, dscfg, radar_list=None)[source]

Produces time height radar objects at a point of interest defined by latitude and longitude. A time-height contains the evolution of the vertical structure of radar measurements above the location of interest.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the point measurement

lat, lon : float

latitude and longitude of the point of interest [deg]

latlon_tol : float

tolerance in latitude and longitude in deg. Default 0.0005

hmax : float

The maximum height to plot [m]. Default 10000.

hres : float

The height resolution [m]. Default 50

interp_kind : str

type of interpolation when projecting to vertical grid: ‘none’, or ‘nearest’, etc. Default ‘none’ ‘none’ will select from all data points within the regular grid height bin the closest to the center of the bin. ‘nearest’ will select the closest data point to the center of the height bin regardless if it is within the height bin or not. Data points can be masked values If another type of interpolation is selected masked values will be eliminated from the data points before the interpolation

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the QVP and a keyboard stating whether the processing has finished or not.

ind_rad : int

radar index

pyrad.proc.process_time_stats(procstatus, dscfg, radar_list=None)[source]

computes the temporal statistics of a field

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

period : float. Dataset keyword

the period to average [s]. If -1 the statistics are going to be performed over the entire data. Default 3600.

start_average : float. Dataset keyword

when to start the average [s from midnight UTC]. Default 0.

lin_trans: int. Dataset keyword

If 1 apply linear transformation before averaging

use_nan : bool. Dataset keyword

If true non valid data will be used

nan_value : float. Dataset keyword

The value of the non valid data. Default 0

stat: string. Dataset keyword

Statistic to compute: Can be mean, std, cov, min, max. Default mean

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_time_stats2(procstatus, dscfg, radar_list=None)[source]

computes the temporal mean of a field

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

period : float. Dataset keyword

the period to average [s]. If -1 the statistics are going to be performed over the entire data. Default 3600.

start_average : float. Dataset keyword

when to start the average [s from midnight UTC]. Default 0.

stat: string. Dataset keyword

Statistic to compute: Can be median, mode, percentileXX

use_nan : bool. Dataset keyword

If true non valid data will be used

nan_value : float. Dataset keyword

The value of the non valid data. Default 0

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_traj_antenna_pattern(procstatus, dscfg, radar_list=None, trajectory=None)[source]

Process a new array of data volumes considering a plane trajectory. As result a timeseries with the values transposed for a given antenna pattern is created. The result is created when the LAST flag is set.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries
datatype : list of string. Dataset keyword

The input data types

antennaType : str. Dataset keyword

Type of antenna of the radar we want to get the view from. Can be AZIMUTH, ELEVATION, LOWBEAM, HIGHBEAM

par_azimuth_antenna : dict. Global ekyword

Dictionary containing the parameters of the PAR azimuth antenna, i.e. name of the file with the antenna elevation pattern and fixed antenna angle

par_elevation_antenna : dict. Global keyword

Dictionary containing the parameters of the PAR elevation antenna, i.e. name of the file with the antenna azimuth pattern and fixed antenna angle

asr_lowbeam_antenna : dict. Global keyword

Dictionary containing the parameters of the ASR low beam antenna, i.e. name of the file with the antenna elevation pattern and fixed antenna angle

asr_highbeam_antenna : dict. Global keyword

Dictionary containing the parameters of the ASR high beam antenna, i.e. name of the file with the antenna elevation pattern and fixed antenna angle

target_radar_pos : dict. Global keyword

Dictionary containing the latitude, longitude and altitude of the radar we want to get the view from. If not specifying it will assume the radar is collocated

range_all : Bool. Dataset keyword

If the real radar and the synthetic radar are co-located and this parameter is true the statistics are going to be computed using all the data from range 0 to the position of the plane. Default False

rhi_resolution : Bool. Dataset keyword

Resolution of the synthetic RHI used to compute the data as viewed from the synthetic radar [deg]. Default 0.5

max_altitude : float. Dataset keyword

Max altitude of the data to use when computing the view from the synthetic radar [m MSL]. Default 12000.

latlon_tol : float. Dataset keyword

The tolerance in latitude and longitude to determine which synthetic radar gates are co-located with real radar gates [deg]. Default 0.04

alt_tol : float. Datset keyword

The tolerance in altitude to determine which synthetic radar gates are co-located with real radar gates [m]. Default 1000.

distance_upper_bound : float. Dataset keyword

The maximum distance where to look for a neighbour when determining which synthetic radar gates are co-located with real radar gates [m]. Default 1000.

use_cKDTree : Bool. Dataset keyword

Which function to use to find co-located real radar gates with the synthetic radar. If True a function using cKDTree from scipy.spatial is used. This function uses parameter distance_upper_bound. If False a native implementation is used that takes as parameters latlon_tol and alt_tol. Default True.

pattern_thres : float. Dataset keyword

The minimum of the sum of the weights given to each value in order to consider the weighted quantile valid. It is related to the number of valid data points

data_is_log : dict. Dataset keyword

Dictionary specifying for each field if it is in log (True) or linear units (False). Default False

use_nans : dict. Dataset keyword

Dictionary specyfing whether the nans have to be used in the computation of the statistics for each field. Default False

nan_value : dict. Dataset keyword

Dictionary with the value to use to substitute the NaN values when computing the statistics of each field. Default 0

radar_list : list of Radar objects

Optional. list of radar objects

trajectory : Trajectory object

containing trajectory samples

Returns:
trajectory : Trajectory object

Object holding time series

ind_rad : int

radar index

pyrad.proc.process_traj_atplane(procstatus, dscfg, radar_list=None, trajectory=None)[source]

Return time series according to trajectory

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

data_is_log : dict. Dataset keyword

Dictionary specifying for each field if it is in log (True) or linear units (False). Default False

ang_tol : float. Dataset keyword

Factor that multiplies the angle resolution. Used when determining the neighbouring rays. Default 1.2

radar_list : list of Radar objects

Optional. list of radar objects

trajectory : Trajectory object

containing trajectory samples

Returns:
trajectory : Trajectory object

Object holding time series

ind_rad : int

radar index

pyrad.proc.process_traj_lightning(procstatus, dscfg, radar_list=None, trajectory=None)[source]

Return time series according to lightning trajectory

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

data_is_log : dict. Dataset keyword

Dictionary specifying for each field if it is in log (True) or linear units (False). Default False

ang_tol : float. Dataset keyword

Factor that multiplies the angle resolution. Used when determining the neighbouring rays. Default 1.2

radar_list : list of Radar objects

Optional. list of radar objects

trajectory : Trajectory object

containing trajectory samples

Returns:
trajectory : Trajectory object

Object holding time series

ind_rad : int

radar index

pyrad.proc.process_traj_trt(procstatus, dscfg, radar_list=None, trajectory=None)[source]

Processes data according to TRT trajectory

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

time_tol : float. Dataset keyword

tolerance between reference time of the radar volume and that of the TRT cell [s]. Default 100.

alt_min, alt_max : float. Dataset keyword

Minimum and maximum altitude of the data inside the TRT cell to retrieve [m MSL]. Default None

cell_center : Bool. Dataset keyword

If True only the range gate closest to the center of the cell is extracted. Default False

latlon_tol : Float. Dataset keyword

Tolerance in lat/lon when extracting data only from the center of the TRT cell. Default 0.01

radar_list : list of Radar objects

Optional. list of radar objects

trajectory : Trajectory object

containing trajectory samples

Returns:
new_dataset : dictionary

Dictionary containing radar_out, a radar object containing only data from inside the TRT cell

ind_rad : int

radar index

pyrad.proc.process_traj_trt_contour(procstatus, dscfg, radar_list=None, trajectory=None)[source]

Gets the TRT cell contour corresponding to each radar volume

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

time_tol : float. Dataset keyword

tolerance between reference time of the radar volume and that of the TRT cell [s]. Default 100.

radar_list : list of Radar objects

Optional. list of radar objects

trajectory : Trajectory object

containing trajectory samples

Returns:
new_dataset : dict

Dictionary containing radar_out and roi_dict. Radar out is the current radar object. roi_dict contains the positions defining the TRT cell contour

ind_rad : int

radar index

pyrad.proc.process_trajectory(procstatus, dscfg, radar_list=None, trajectory=None)[source]

Return trajectory

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

trajectory : Trajectory object

containing trajectory samples

Returns:
new_dataset : Trajectory object

radar object

ind_rad : int

None

pyrad.proc.process_ts_along_coord(procstatus, dscfg, radar_list=None)[source]

Produces time series along a particular antenna coordinate

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The data type where we want to extract the time series

mode : str

coordinate to extract data along. Can be ALONG_AZI, ALONG_ELE or ALONG_RNG

fixed_range, fixed_azimuth, fixed_elevation : float

The fixed range [m], azimuth [deg] or elevation [deg] to extract. In each mode two of these parameters have to be defined. If they are not defined they default to 0.

ang_tol, rng_tol : float

The angle tolerance [deg] and range tolerance [m] around the fixed range or azimuth/elevation

value_start, value_stop : float

The minimum and maximum value at which the data along a coordinate start and stop

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the data and a keyboard stating whether the processing has finished or not.

ind_rad : int

radar index

pyrad.proc.process_turbulence(procstatus, dscfg, radar_list=None)[source]

Computes turbulence from the Doppler spectrum width and reflectivity using the PyTDA package

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

radius : float. Dataset keyword

Search radius for calculating Eddy Dissipation Rate (EDR). Default 2

split_cut : Bool. Dataset keyword

Set to True for split-cut volumes. Default False

max_split_cut : Int. Dataset keyword

Total number of tilts that are affected by split cuts. Only relevant if split_cut=True. Default 2

xran, yran : float array. Dataset keyword

Spatial range in X,Y to consider. Default [-100, 100] for both X and Y

beamwidth : Float. Dataset keyword

Radar beamwidth. Default None. If None it will be obtained from the radar object metadata. If cannot be obtained defaults to 1 deg.

compute_gate_pos : Bool. Dataset keyword

If True the gate position is going to be computed in PyTDA. Otherwise the position from the radar object is used. Default False

verbose : Bool. Dataset keyword

True for verbose output. Default False

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_vad(procstatus, dscfg, radar_list=None)[source]

Estimates vertical wind profile using the VAD (velocity Azimuth Display) technique

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_visibility(procstatus, dscfg, radar_list=None)[source]

Gets the visibility in percentage from the minimum visible elevation. Anything with elevation lower than the minimum visible elevation plus and offset is set to 0 while above is set to 100.

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

arbitrary data type

offset : float. Dataset keyword

The offset above the minimum visibility that must be filtered

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_vol_refl(procstatus, dscfg, radar_list=None)[source]

Computes the volumetric reflectivity in 10log10(cm^2 km^-3)

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

freq : float. Dataset keyword

The radar frequency

kw : float. Dataset keyword

The water constant

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_wbn_iq(procstatus, dscfg, radar_list=None)[source]

Computes the wide band noise from the horizontal or vertical IQ data

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted configuration keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of spectra objects

Optional. list of spectra objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_weighted_time_avg(procstatus, dscfg, radar_list=None)[source]

computes the temporal mean of a field weighted by the reflectivity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

period : float. Dataset keyword

the period to average [s]. Default 3600.

start_average : float. Dataset keyword

when to start the average [s from midnight UTC]. Default 0.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : Radar

radar object

ind_rad : int

radar index

pyrad.proc.process_wind_vel(procstatus, dscfg, radar_list=None)[source]

Estimates the horizontal or vertical component of the wind from the radial velocity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

vert_proj : Boolean

If true the vertical projection is computed. Otherwise the horizontal projection is computed

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_windshear(procstatus, dscfg, radar_list=None)[source]

Estimates the wind shear from the wind velocity

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : string. Dataset keyword

The input data type

az_tol : float

The tolerance in azimuth when looking for gates on top of the gate when computation is performed

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_zdr_column(procstatus, dscfg, radar_list=None)[source]

Detects ZDR columns

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_zdr_precip(procstatus, dscfg, radar_list=None)[source]

Keeps only suitable data to evaluate the differential reflectivity in moderate rain or precipitation (for vertical scans)

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

ml_filter : boolean. Dataset keyword

indicates if a filter on data in and above the melting layer is applied. Default True.

rmin : float. Dataset keyword

minimum range where to look for rain [m]. Default 1000.

rmax : float. Dataset keyword

maximum range where to look for rain [m]. Default 50000.

Zmin : float. Dataset keyword

minimum reflectivity to consider the bin as precipitation [dBZ]. Default 20.

Zmax : float. Dataset keyword

maximum reflectivity to consider the bin as precipitation [dBZ] Default 22.

RhoHVmin : float. Dataset keyword

minimum RhoHV to consider the bin as precipitation Default 0.97

PhiDPmax : float. Dataset keyword

maximum PhiDP to consider the bin as precipitation [deg] Default 10.

elmax : float. Dataset keyword

maximum elevation angle where to look for precipitation [deg] Default None.

ml_thickness : float. Dataset keyword

assumed thickness of the melting layer. Default 700.

fzl : float. Dataset keyword

The default freezing level height. It will be used if no temperature field name is specified or the temperature field is not in the radar object. Default 2000.

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index

pyrad.proc.process_zdr_snow(procstatus, dscfg, radar_list=None)[source]

Keeps only suitable data to evaluate the differential reflectivity in snow

Parameters:
procstatus : int

Processing status: 0 initializing, 1 processing volume, 2 post-processing

dscfg : dictionary of dictionaries

data set configuration. Accepted Configuration Keywords:

datatype : list of string. Dataset keyword

The input data types

rmin : float. Dataset keyword

minimum range where to look for rain [m]. Default 1000.

rmax : float. Dataset keyword

maximum range where to look for rain [m]. Default 50000.

Zmin : float. Dataset keyword

minimum reflectivity to consider the bin as snow [dBZ]. Default 0.

Zmax : float. Dataset keyword

maximum reflectivity to consider the bin as snow [dBZ] Default 30.

SNRmin : float. Dataset keyword

minimum SNR to consider the bin as snow [dB]. Default 10.

SNRmax : float. Dataset keyword

maximum SNR to consider the bin as snow [dB] Default 50.

RhoHVmin : float. Dataset keyword

minimum RhoHV to consider the bin as snow Default 0.97

PhiDPmax : float. Dataset keyword

maximum PhiDP to consider the bin as snow [deg] Default 10.

elmax : float. Dataset keyword

maximum elevation angle where to look for snow [deg] Default None.

KDPmax : float. Dataset keyword

maximum KDP to consider the bin as snow [deg] Default None

TEMPmin : float. Dataset keyword

minimum temperature to consider the bin as snow [deg C]. Default None

TEMPmax : float. Dataset keyword

maximum temperature to consider the bin as snow [deg C] Default None

hydroclass : list of ints. Dataset keyword

list of hydrometeor classes to keep for the analysis Default [2] (dry snow)

radar_list : list of Radar objects

Optional. list of radar objects

Returns:
new_dataset : dict

dictionary containing the output

ind_rad : int

radar index