Plotting (pyrad.graph)

Functions to plot graphics.

Plots

plot_ray(radar, field_name, ind_ray, prdcfg, …) plots a ray
plot_surface(grid, field_name, level, …[, …]) plots a surface from gridded data
plot_latitude_slice(grid, field_name, lon, …) plots a latitude slice from gridded data
plot_longitude_slice(grid, field_name, lon, …) plots a longitude slice from gridded data
plot_latlon_slice(grid, field_name, coord1, …) plots a croos section crossing two points in the grid
plot_ppi(radar, field_name, ind_el, prdcfg, …) plots a PPI
plot_ppi_contour(radar, field_name, ind_el, …) plots contour data on a PPI
plot_ppi_map(radar, field_name, ind_el, …) plots a PPI on a geographic map
plot_rhi(radar, field_name, ind_az, prdcfg, …) plots an RHI
plot_rhi_contour(radar, field_name, ind_az, …) plots contour data on an RHI
plot_bscope(radar, field_name, ind_sweep, …) plots a B-Scope (angle-range representation)
plot_fixed_rng(radar, field_name, prdcfg, …) plots a fixed range plot
plot_fixed_rng_span(radar, field_name, …) plots a fixed range plot
plot_time_range(radar, field_name, …[, …]) plots a time-range plot
plot_rhi_profile(data_list, hvec, fname_list) plots an RHI profile
plot_along_coord(xval_list, yval_list, …) plots data along a certain radar coordinate
plot_field_coverage(xval_list, yval_list, …) plots a time series
plot_density(hist_obj, hist_type, …[, …]) density plot (angle-values representation)
plot_cappi(radar, field_name, altitude, …) plots a Constant Altitude Plan Position Indicator CAPPI
plot_traj(rng_traj, azi_traj, ele_traj, …) plots a trajectory on a Cartesian surface
plot_pos(lat, lon, alt, fname_list[, ax, …]) plots a trajectory on a Cartesian surface
plot_pos_map(lat, lon, alt, fname_list[, …]) plots a trajectory on a map
plot_quantiles(quant, value, fname_list[, …]) plots quantiles
plot_histogram(bin_edges, values, fname_list) computes and plots histogram
plot_histogram2(bin_centers, hist, fname_list) plots histogram
plot_antenna_pattern(antpattern, fname_list) plots an antenna pattern
plot_selfconsistency(zdrkdp_table, fname_list) plots a ZDR-KDP/ZH selfconsistency in rain relation
plot_selfconsistency_instrument(zdr, kdp, …) plots the ZDR-KDP/ZH relationship obtained by an instrument.
plot_timeseries(tvec, data_list, fname_list) plots a time series
plot_timeseries_comp(date1, value1, date2, …) plots 2 time series in the same graph
plot_monitoring_ts(date, np_t, cquant, …) plots a time series of monitoring data
plot_scatter_comp(value1, value2, fname_list) plots the scatter between two time series
plot_intercomp_scores_ts(date_vec, np_vec, …) plots a time series of radar intercomparison scores
plot_ml_ts(dt_ml_arr, ml_top_avg_arr, …[, …]) plots a time series of melting layer data
plot_sun_hits(field, field_name, fname_list, …) plots the sun hits
plot_sun_retrieval_ts(sun_retrieval, …[, …]) plots sun retrieval time series series
plot_Doppler(spectra, field_name, ray, rng, …) Makes a Doppler plot
plot_complex_Doppler(spectra, field_name, …) Makes a complex Doppler plot plotting separately the real and the imaginary parts
plot_amp_phase_Doppler(spectra, field_name, …) Makes a complex Doppler plot plotting separately the module and the phase of the signal
plot_range_Doppler(spectra, field_name, ray, …) Makes a range-Doppler plot
plot_complex_range_Doppler(spectra, …[, …]) Makes a complex range-Doppler plot.
plot_amp_phase_range_Doppler(spectra, …[, …]) Makes a complex range-Doppler plot plotting separately the module and the phase of the signal
plot_angle_Doppler(spectra, field_name, ang, …) Makes an angle-Doppler plot
plot_complex_angle_Doppler(spectra, …[, …]) Makes an angle-Doppler plot of complex spectra
plot_amp_phase_angle_Doppler(spectra, …[, …]) Makes an angle-Doppler plot of complex spectra
plot_time_Doppler(spectra, field_name, …) Makes a time-Doppler plot
plot_complex_time_Doppler(spectra, …[, …]) Makes a complex time-Doppler plot.
plot_amp_phase_time_Doppler(spectra, …[, …]) Makes a complex time-Doppler plot plotting separately the module and the phase of the signal
plot_roi_contour(roi_dict, prdcfg, fname_list) plots the contour of a region of interest on a map
get_colobar_label(field_dict, field_name) creates the colorbar label using field metadata
get_field_name(field_dict, field) Return a nice field name for a particular field
_plot_time_range(rad_time, rad_range, …[, …]) plots a time-range plot
pyrad.graph.get_colobar_label(field_dict, field_name)[source]

creates the colorbar label using field metadata

Parameters:
field_dict : dict

dictionary containing field metadata

field_name : str

name of the field

Returns:
label : str

colorbar label

pyrad.graph.get_field_name(field_dict, field)[source]

Return a nice field name for a particular field

Parameters:
field_dict : dict

dictionary containing field metadata

field : str

name of the field

Returns:
field_name : str

the field name

pyrad.graph.plot_Doppler(spectra, field_name, ray, rng, prdcfg, fname_list, xaxis_info='Doppler_velocity', ylabel=None, titl=None, vmin=None, vmax=None)[source]

Makes a Doppler plot

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ray, rng : int

ray and rng index

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

ylabel : str or None

The label of the y-axis

titl : str or None

The plot title

vmin, vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_along_coord(xval_list, yval_list, fname_list, labelx='coord', labely='Value', labels=None, title='Plot along coordinate', colors=None, linestyles=None, ymin=None, ymax=None, dpi=72)[source]

plots data along a certain radar coordinate

Parameters:
xval_list : list of float arrays

the x values, range, azimuth or elevation

yval_list : list of float arrays

the y values. Parameter to plot

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

labely : str

The label of the Y axis

labels : array of str

The label of the legend

title : str

The figure title

colors : array of str

Specifies the colors of each line

linestyles : array of str

Specifies the line style of each line

ymin, ymax: float

Lower/Upper limit of y axis

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_amp_phase_Doppler(spectra, field_name, ray, rng, prdcfg, fname_list, xaxis_info='Doppler_velocity', titl=None, ampli_vmin=None, ampli_vmax=None, phase_vmin=None, phase_vmax=None)[source]

Makes a complex Doppler plot plotting separately the module and the phase of the signal

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ray, rng : int

ray and range index

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

titl : str or None

The plot title

ampli_vmin, ampli_vmax, phase_vmin, phase_vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_amp_phase_angle_Doppler(spectra, field_name, ang, ind_rays, ind_rng, prdcfg, fname_list, xaxis_info='Doppler_velocity', yaxis_pos='centre', along_azi=True, titl=None, ampli_vmin=None, ampli_vmax=None, phase_vmin=None, phase_vmax=None)[source]

Makes an angle-Doppler plot of complex spectra

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ang : float

The fixed angle

ind_rays : 1D int array

The indices of the rays to plot

ind_rng : int

The index of the range to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

yaxis_pos : str

the position that the y point represents in the y-axis bin. Can be ‘start’, end’ or ‘centre’

along_azi : bool

If true the plot is performed along azimuth. If false it is performed along elevation

titl : str or None

The plot title

ampli_vmin, ampli_vmax, phase_vmin, phase_vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_amp_phase_range_Doppler(spectra, field_name, ray, prdcfg, fname_list, xaxis_info='Doppler_velocity', titl=None, ampli_vmin=None, ampli_vmax=None, phase_vmin=None, phase_vmax=None)[source]

Makes a complex range-Doppler plot plotting separately the module and the phase of the signal

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ray : int

ray index

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

titl : str or None

The plot title

ampli_vmin, ampli_vmax, phase_vmin, phase_vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_amp_phase_time_Doppler(spectra, field_name, prdcfg, fname_list, xaxis_info='Doppler_velocity', yaxis_pos='start', titl=None, ampli_vmin=None, ampli_vmax=None, phase_vmin=None, phase_vmax=None)[source]

Makes a complex time-Doppler plot plotting separately the module and the phase of the signal

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

yaxis_pos : str

the position that the y point represents in the y-axis bin. Can be ‘start’, end’ or ‘centre’

titl : str or None

The plot title

ampli_vmin, ampli_vmax, phase_vmin, phase_vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_angle_Doppler(spectra, field_name, ang, ind_rays, ind_rng, prdcfg, fname_list, xaxis_info='Doppler_velocity', yaxis_pos='centre', along_azi=True, titl=None, clabel=None, vmin=None, vmax=None)[source]

Makes an angle-Doppler plot

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ang : float

The fixed angle

ind_rays : 1D int array

The indices of the rays to plot

ind_rng : int

The index of the range to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

yaxis_pos : str

the position that the y point represents in the y-axis bin. Can be ‘start’, end’ or ‘centre’

along_azi : bool

If true the plot is performed along azimuth. If false it is performed along elevation

titl : str or None

The plot title

clabel : str or None

The color bar label

vmin, vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_antenna_pattern(antpattern, fname_list, labelx='Angle [Deg]', linear=False, twoway=False, title='Antenna Pattern', ymin=None, ymax=None, dpi=72)[source]

plots an antenna pattern

Parameters:
antpattern : dict

dictionary with the angle and the attenuation

value : float array

values of the time series

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

linear : boolean

if true data is in linear units

linear : boolean

if true data represents the two way attenuation

titl : str

The figure title

ymin, ymax: float

Lower/Upper limit of y axis

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_bscope(radar, field_name, ind_sweep, prdcfg, fname_list, vmin=None, vmax=None, ray_dim='ang', xaxis_rng=True)[source]

plots a B-Scope (angle-range representation)

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

ind_sweep : int

sweep index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

vmin, vmax : float

Min and max values of the colorbar

ray_dim : str

the ray dimension. Can be ‘ang’ or ‘time’

xaxis : bool

if true the range will be in the x-axis. Otherwise it will be in the y-axis.

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_cappi(radar, field_name, altitude, prdcfg, fname_list, beamwidth=1.0, beam_spacing=1.0, save_fig=True)[source]

plots a Constant Altitude Plan Position Indicator CAPPI

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

altitude : float

the altitude [m MSL] to be plotted

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

beamwidth : float

The radar beamwidth

beam_spacing : float

the ray angle resolution

save_fig : bool

if true save the figure. If false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_complex_Doppler(spectra, field_name, ray, rng, prdcfg, fname_list, xaxis_info='Doppler_velocity', ylabel=None, titl=None, vmin=None, vmax=None)[source]

Makes a complex Doppler plot plotting separately the real and the imaginary parts

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ray, rng : int

ray and range index

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

ylabel : str or None

The label of the y-axis

titl : str or None

The plot title

vmin, vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_complex_angle_Doppler(spectra, field_name, ang, ind_rays, ind_rng, prdcfg, fname_list, xaxis_info='Doppler_velocity', yaxis_pos='centre', along_azi=True, titl=None, clabel=None, vmin=None, vmax=None)[source]

Makes an angle-Doppler plot of complex spectra

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ang : float

The fixed angle

ind_rays : 1D int array

The indices of the rays to plot

ind_rng : int

The index of the range to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

yaxis_pos : str

the position that the y point represents in the y-axis bin. Can be ‘start’, end’ or ‘centre’

along_azi : bool

If true the plot is performed along azimuth. If false it is performed along elevation

titl : str or None

The plot title

clabel : str or None

The color bar label

vmin, vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_complex_range_Doppler(spectra, field_name, ray, prdcfg, fname_list, xaxis_info='Doppler_velocity', titl=None, clabel=None, vmin=None, vmax=None)[source]

Makes a complex range-Doppler plot. Plotting separately the real and the imaginary part

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ray : int

ray index

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

titl : str or None

The plot title

clabel : str or None

The label of color bar

vmin, vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_complex_time_Doppler(spectra, field_name, prdcfg, fname_list, xaxis_info='Doppler_velocity', yaxis_pos='start', titl=None, clabel=None, vmin=None, vmax=None)[source]

Makes a complex time-Doppler plot. Plotting separately the real and the imaginary part

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

yaxis_pos : str

the position that the y point represents in the y-axis bin. Can be ‘start’, end’ or ‘centre’

titl : str or None

The plot title

clabel : str or None

The label of color bar

vmin, vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_density(hist_obj, hist_type, field_name, ind_sweep, prdcfg, fname_list, quantiles=[25.0, 50.0, 75.0], ref_value=0.0, vmin=None, vmax=None)[source]

density plot (angle-values representation)

Parameters:
hist_obj : histogram object

object containing the histogram data to plot

hist_type : str

type of histogram (instantaneous data or cumulative)

field_name : str

name of the radar field to plot

ind_sweep : int

sweep index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

quantiles : array

the quantile lines to plot

ref_value : float

the reference value

vmin, vmax : float

Minim and maximum extend of the vertical axis

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_field_coverage(xval_list, yval_list, fname_list, labelx='Azimuth (deg)', labely='Range extension [m]', labels=None, title='Field coverage', ymin=None, ymax=None, xmeanval=None, ymeanval=None, labelmeanval=None, dpi=72)[source]

plots a time series

Parameters:
xval_list : list of float arrays

the x values, azimuth

yval_list : list of float arrays

the y values. Range extension

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

labely : str

The label of the Y axis

labels : array of str

The label of the legend

title : str

The figure title

ymin, ymax : float

Lower/Upper limit of y axis

xmeanval, ymeanval : float array

the x and y values of a mean along elevation

labelmeanval : str

the label of the mean

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_fixed_rng(radar, field_name, prdcfg, fname_list, azi_res=None, ele_res=None, ang_tol=1.0, vmin=None, vmax=None)[source]

plots a fixed range plot

Parameters:
radar : radar object

The radar object containing the fixed range data

field_name : str

The name of the field to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

azi_res, ele_res : float

The nominal azimuth and elevation angle resolution [deg]

ang_tol : float

The tolerance between the nominal and the actual radar angle

vmin, vmax : float

Min and Max values of the color scale. If None it is going to be taken from the Py-ART config files

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_fixed_rng_span(radar, field_name, prdcfg, fname_list, azi_res=None, ele_res=None, ang_tol=1.0, stat='max')[source]

plots a fixed range plot

Parameters:
radar : radar object

The radar object containing the fixed range data

field_name : str

The name of the field to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

azi_res, ele_res : float

The nominal azimuth and elevation angle resolution [deg]

ang_tol : float

The tolerance between the nominal and the actual radar angle

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_histogram(bin_edges, values, fname_list, labelx='bins', labely='Number of Samples', titl='histogram', dpi=72)[source]

computes and plots histogram

Parameters:
bin_edges : array

histogram bin edges

values : array

data values

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

labely : str

The label of the Y axis

titl : str

The figure title

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_histogram2(bin_centers, hist, fname_list, width=None, labelx='bins', labely='Number of Samples', titl='histogram', dpi=72, ax=None, fig=None, save_fig=True, color=None, alpha=None, invert_xaxis=False)[source]

plots histogram

Parameters:
bin_centers : array

histogram bin centers

hist : array

values for each bin

fname_list : list of str

list of names of the files where to store the plot

width : scalar or array-like

the width(s) of the bars. If None it is going to be estimated from the distances between centers

labelx : str

The label of the X axis

labely : str

The label of the Y axis

titl : str

The figure title

dpi : int

dots per inch

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

ax : Axis

Axis to plot on. if fig is None a new axis will be created

save_fig : bool

if true save the figure. If false it does not close the plot and returns the handle to the figure

color : str

color of the bars

alpha : float

parameter controling the transparency

invert_xaxis : bool

If true inverts the x axis

Returns:
fname_list or fig, ax: list of str

list of names of the created plots

pyrad.graph.plot_intercomp_scores_ts(date_vec, np_vec, meanbias_vec, medianbias_vec, quant25bias_vec, quant75bias_vec, modebias_vec, corr_vec, slope_vec, intercep_vec, intercep_slope1_vec, fname_list, ref_value=0.0, np_min=0, corr_min=0.0, labelx='Time UTC', titl='RADAR001-RADAR002 intercomparison', dpi=72)[source]

plots a time series of radar intercomparison scores

Parameters:
date_vec : datetime object

time of the time series

np_vec : int array

number of points

meanbias_vec, medianbias_vec, modebias_vec : float array

mean, median and mode bias

quant25bias_vec, quant75bias_vec: 25th and 75th percentile of the bias
corr_vec : float array

correlation

slope_vec, intercep_vec : float array

slope and intercep of a linear regression

intercep_slope1_vec : float

the intercep point of a inear regression of slope 1

ref_value : float

the reference value

np_min : int

The minimum number of points to consider the result valid

corr_min : float

The minimum correlation to consider the results valid

labelx : str

The label of the X axis

titl : str

The figure title

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_latitude_slice(grid, field_name, lon, lat, prdcfg, fname_list)[source]

plots a latitude slice from gridded data

Parameters:
grid : Grid object

object containing the gridded data to plot

field_name : str

name of the radar field to plot

lon, lat : float

coordinates of the slice to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_latlon_slice(grid, field_name, coord1, coord2, prdcfg, fname_list)[source]

plots a croos section crossing two points in the grid

Parameters:
grid : Grid object

object containing the gridded data to plot

field_name : str

name of the radar field to plot

coord1 : tupple of floats

lat, lon of the first point

coord2 : tupple of floats

lat, lon of the second point

fname_list : list of str

list of names of the files where to store the plot

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_longitude_slice(grid, field_name, lon, lat, prdcfg, fname_list)[source]

plots a longitude slice from gridded data

Parameters:
grid : Grid object

object containing the gridded data to plot

field_name : str

name of the radar field to plot

lon, lat : float

coordinates of the slice to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_ml_ts(dt_ml_arr, ml_top_avg_arr, ml_top_std_arr, thick_avg_arr, thick_std_arr, nrays_valid_arr, nrays_total_arr, fname_list, labelx='Time UTC', titl='Melting layer time series', dpi=72)[source]

plots a time series of melting layer data

Parameters:
dt_ml_arr : datetime object

time of the time series

np_vec : int array

number of points

meanbias_vec, medianbias_vec, modebias_vec : float array

mean, median and mode bias

quant25bias_vec, quant75bias_vec: 25th and 75th percentile of the bias
corr_vec : float array

correlation

slope_vec, intercep_vec : float array

slope and intercep of a linear regression

intercep_slope1_vec : float

the intercep point of a inear regression of slope 1

ref_value : float

the reference value

np_min : int

The minimum number of points to consider the result valid

corr_min : float

The minimum correlation to consider the results valid

labelx : str

The label of the X axis

titl : str

The figure title

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_monitoring_ts(date, np_t, cquant, lquant, hquant, field_name, fname_list, ref_value=None, vmin=None, vmax=None, np_min=0, labelx='Time [UTC]', labely='Value', titl='Time Series', dpi=72)[source]

plots a time series of monitoring data

Parameters:
date : datetime object

time of the time series

np_t : int array

number of points

cquant, lquant, hquant : float array

values of the central, low and high quantiles

field_name : str

name of the field

fname_list : list of str

list of names of the files where to store the plot

ref_value : float

the reference value

vmin, vmax : float

The limits of the y axis

np_min : int

minimum number of points to consider the sample plotable

labelx : str

The label of the X axis

labely : str

The label of the Y axis

titl : str

The figure title

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_pos(lat, lon, alt, fname_list, ax=None, fig=None, save_fig=True, sort_altitude='No', dpi=72, alpha=1.0, cb_label='height [m MSL]', titl='Position', xlabel='Lon [Deg]', ylabel='Lat [Deg]', limits=None, vmin=None, vmax=None)[source]

plots a trajectory on a Cartesian surface

Parameters:
lat, lon, alt : float array

Points coordinates

fname_list : list of str

list of names of the files where to store the plot

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

ax : Axis

Axis to plot on. if fig is None a new axis will be created

save_fig : bool

if true save the figure if false it does not close the plot and returns the handle to the figure

sort_altitude : str

String indicating whether to sort the altitude data. Can be ‘No’, ‘Lowest_on_top’ or ‘Highest_on_top’

dpi : int

Pixel density

alpha : float

Transparency

cb_label : str

Color bar label

titl : str

Plot title

xlabel, ylabel : str

The labels of the X and Y axis

limits : tupple or None

The limits of the field to plot

vmin, vmax : float

The limits of the color scale

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_pos_map(lat, lon, alt, fname_list, ax=None, fig=None, save_fig=True, sort_altitude='No', dpi=72, alpha=1.0, cb_label='height [m MSL]', titl='Position', xlabel='Lon [Deg]', ylabel='Lat [Deg]', limits=None, vmin=None, vmax=None, lon_step=0.3, lat_step=0.1, background_zoom=8)[source]

plots a trajectory on a map

Parameters:
lat, lon, alt : float array

Points coordinates

fname_list : list of str

list of names of the files where to store the plot

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

ax : Axis

Axis to plot on. if fig is None a new axis will be created

save_fig : bool

if true save the figure if false it does not close the plot and returns the handle to the figure

sort_altitude : str

String indicating whether to sort the altitude data. Can be ‘No’, ‘Lowest_on_top’ or ‘Highest_on_top’

dpi : int

Pixel density

alpha : float

Transparency

cb_label : str

Color bar label

titl : str

Plot title

xlabel, ylabel : str

The labels of the X and Y axis

limits : tupple or None

The limits of the field to plot

vmin, vmax : float

The limits of the color scale

lon_step, lat_step : float

The step interval of the latitude, longitude lines to plot

background_zoom : int

The zoom of the background image. A higher number will give more level of detail at the expense of speed.

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_ppi(radar, field_name, ind_el, prdcfg, fname_list, plot_type='PPI', titl=None, vmin=None, vmax=None, step=None, quantiles=None, save_fig=True)[source]

plots a PPI

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

ind_el : int

sweep index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

plot_type : str

type of plot (PPI, QUANTILES or HISTOGRAM)

titl : str

Plot title

vmin, vmax : float

The minimum and maximum value. If None the scale is going to be obtained from the Py-ART config file.

step : float

step for histogram plotting

quantiles : float array

quantiles to plot

save_fig : bool

if true save the figure. If false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_ppi_contour(radar, field_name, ind_el, prdcfg, fname_list, contour_values=None, linewidths=1.5, ax=None, fig=None, save_fig=True)[source]

plots contour data on a PPI

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

ind_el : int

sweep index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

contour_values : float array

list of contours to plot

linewidths : float

width of the contour lines

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

ax : Axis

Axis to plot on. if fig is None a new axis will be created

save_fig : bool

if true save the figure if false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_ppi_map(radar, field_name, ind_el, prdcfg, fname_list, save_fig=True)[source]

plots a PPI on a geographic map

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

ind_el : int

sweep index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

save_fig : bool

if true save the figure. If false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax, display : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_quantiles(quant, value, fname_list, labelx='quantile', labely='value', titl='quantile', vmin=None, vmax=None, dpi=72)[source]

plots quantiles

Parameters:
quant : array

quantiles to be plotted

value : array

values of each quantile

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

labely : str

The label of the Y axis

titl : str

The figure title

vmin, vmax: float

Lower/Upper limit of data values

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_range_Doppler(spectra, field_name, ray, prdcfg, fname_list, xaxis_info='Doppler_velocity', titl=None, clabel=None, vmin=None, vmax=None)[source]

Makes a range-Doppler plot

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

ray : int

ray index

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

titl : str or None

The plot title

clabel : str or None

The color bar label

vmin, vmax : float or None

The value limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_ray(radar, field_name, ind_ray, prdcfg, fname_list, titl=None, vmin=None, vmax=None, save_fig=True)[source]

plots a ray

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

ind_ray : int

ray index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

plot_type : str

type of plot (PPI, QUANTILES or HISTOGRAM)

titl : str

Plot title

vmin, vmax : float

min and max values of the y axis

save_fig : bool

if true save the figure. If false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_rhi(radar, field_name, ind_az, prdcfg, fname_list, plot_type='RHI', titl=None, vmin=None, vmax=None, step=None, quantiles=None, save_fig=True)[source]

plots an RHI

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

ind_az : int

sweep index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

plot_type : str

type of plot (PPI, QUANTILES or HISTOGRAM)

titl : str

Plot title

vmin, vmax : float

The minimum and maximum value. If None the scale is going to be obtained from the Py-ART config file.

step : float

step for histogram plotting

quantiles : float array

quantiles to plot

save_fig : bool

if true save the figure. If false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_rhi_contour(radar, field_name, ind_az, prdcfg, fname_list, contour_values=None, linewidths=1.5, ax=None, fig=None, save_fig=True)[source]

plots contour data on an RHI

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

ind_az : int

sweep index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

contour_values : float array

list of contours to plot

linewidths : float

width of the contour lines

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

ax : Axis

Axis to plot on. if fig is None a new axis will be created

save_fig : bool

if true save the figure if false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_rhi_profile(data_list, hvec, fname_list, labelx='Value', labely='Height (m MSL)', labels=['Mean'], title='RHI profile', colors=None, linestyles=None, vmin=None, vmax=None, hmin=None, hmax=None, dpi=72)[source]

plots an RHI profile

Parameters:
data_list : list of float array

values of the profile

hvec : float array

height points of the profile

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

labely : str

The label of the Y axis

labels : array of str

The label of the legend

title : str

The figure title

colors : array of str

Specifies the colors of each line

linestyles : array of str

Specifies the line style of each line

vmin, vmax: float

Lower/Upper limit of data values

hmin, hmax: float

Lower/Upper limit of altitude

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_roi_contour(roi_dict, prdcfg, fname_list, plot_center=True, xlabel='Lon [Deg]', ylabel='Lat [Deg]', titl='TRT cell position', ax=None, fig=None, save_fig=True)[source]

plots the contour of a region of interest on a map

Parameters:
roi_dict : dict

dictionary containing lon_roi, lat_roi, the points defining the contour

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

plot_center : bool

If True a marked with the center of the roi is plotted

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

ax : Axis

Axis to plot on. if fig is None a new axis will be created

save_fig : bool

if true save the figure if false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_scatter(bin_edges1, bin_edges2, hist_2d, field_name1, field_name2, fname_list, prdcfg, metadata=None, lin_regr=None, lin_regr_slope1=None, rad1_name='RADAR001', rad2_name='RADAR002')[source]

2D histogram

Parameters:
bin_edges1, bin_edges2 : float array2

the bins of each field

hist_2d : ndarray 2D

the 2D histogram

field_name1, field_name2 : str

the names of each field

fname_list : list of str

list of names of the files where to store the plot

prdcfg : dict

product configuration dictionary

metadata : str

a string with metadata to write in the plot

lin_regr : tupple with 2 values

the coefficients for a linear regression

lin_regr_slope1 : float

the intercep point of a linear regression of slope 1

rad1_name, rad2_name : str

name of the radars which data is used

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_scatter_comp(value1, value2, fname_list, labelx='Sensor 1', labely='Sensor 2', titl='Scatter', axis=None, metadata=None, dpi=72, ax=None, fig=None, save_fig=True, point_format='bx')[source]

plots the scatter between two time series

Parameters:
value1 : float array

values of the first time series

value2 : float array

values of the second time series

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

labely : str

The label of the Y axis

titl : str

The figure title

axis : str

type of axis

metadata : string

a string containing metadata

dpi : int

dots per inch

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

ax : Axis

Axis to plot on. if fig is None a new axis will be created

save_fig : bool

if true save the figure if false it does not close the plot and returns the handle to the figure

point_format : str

format of the scatter point

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_selfconsistency(zdrkdp_table, fname_list, labelx='ZDR [dB]', labely='KDP/Zh [(deg*m3)/(km*mm6)]', title='Selfconsistency in rain', ymin=None, ymax=None, dpi=72, save_fig=True, ax=None, fig=None)[source]

plots a ZDR-KDP/ZH selfconsistency in rain relation

Parameters:
antpattern : dict

dictionary with the angle and the attenuation

value : float array

values of the time series

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

linear : boolean

if true data is in linear units

linear : boolean

if true data represents the two way attenuation

titl : str

The figure title

ymin, ymax: float

Lower/Upper limit of y axis

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_selfconsistency_instrument(zdr, kdp, zh, fname_list, bins_zdr_step=0.05, bins_zdr_min=0.0, bins_zdr_max=6.0, bins_kdpzh_step=0.1, bins_kdpzh_min=-2.0, bins_kdpzh_max=20.0, normalize=True, vmin=0.0, vmax=0.01, parametrization='None', zdr_kdpzh_dict=None, retrieve_relation=True, plot_theoretical=True, dpi=72)[source]

plots the ZDR-KDP/ZH relationship obtained by an instrument. The theoretical curve and the retrieved curve

Parameters:
zdr, kdp, zh : 1D ndarray

The valid values of ZDR [dB], KDP [deg/km] and Zh [mm6/m3] collected by the instrument

fname_list : list of str

list of names of the files where to store the plot

bins_zdr_step : float

The step of the ZDR axis of the histogram [dB]

bins_zdr_min, bins_zdr_max : float

The limits of the ZDR axis of the histogram (bins center) [dB]

bins_kdpzh_step : float

The step of the 1e5*KDP^a/ZH^b axis of the histogram [(deg*m3)/(km*mm6)]

bins_kdpzh_min, bins_kdpzh_max : float

The limits of the 1e5*KDP^a/ZH^b axis of the histogram (bins center) [(deg*m3)/(km*mm6)]

normalize : Bool

If True the occurrence density of ZH/KDP for each ZDR bin is going to be represented. Otherwise it will show the number of gates at each bin

vmin, vmax : float

min and max values of the colorbar

parametrization : str

The type of parametrization for the self-consistency curves. Can be ‘None’, ‘Gourley’, ‘Wolfensberger’, ‘Louf’, ‘Gorgucci’ or ‘Vaccarono’. ‘None’ will use tables contained in zdr_kdpzh_dict. The parametrized curves are obtained from literature except for Wolfensberger that was derived from disdrometer data obtained by MeteoSwiss and EPFL. All parametrizations are valid for C-band only except that of Gourley.

zdr_kdpzh_dict : dict

dictionary containing a look up table relating ZDR with KDP/Zh for different elevations and the frequency band of the radar

retrieve_relation : boolean

if true a zdr-kdp/zh relationship is retrieved from the data

plot_theoretical : bool

if true the theoretical relationship is retrieved

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_sun_hits(field, field_name, fname_list, prdcfg)[source]

plots the sun hits

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

altitude : float

the altitude [m MSL] to be plotted

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_sun_retrieval_ts(sun_retrieval, data_type, fname_list, labelx='Date', titl='Sun retrieval Time Series', dpi=72)[source]

plots sun retrieval time series series

Parameters:
sun_retrieval : tuple

tuple containing the retrieved parameters

data_type : str

parameter to be plotted

fname_list : list of str

list of names of the files where to store the plot

labelx : str

the x label

titl : str

the title of the plot

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_surface(grid, field_name, level, prdcfg, fname_list, titl=None, alpha=None, ax=None, fig=None, display=None, save_fig=True, use_basemap=False)[source]

plots a surface from gridded data

Parameters:
grid : Grid object

object containing the gridded data to plot

field_name : str

name of the radar field to plot

level : int

level index

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

titl : str

Plot title

alpha : float or None

Set the alpha transparency of the grid plot. Useful for overplotting radar over other datasets.

ax : Axis

Axis to plot on. if fig is None a new axis will be created

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

display : GridMapDisplay object

The display used

save_fig : bool

if true save the figure. If false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax, display : tupple

list of names of the saved plots or handle of the figure an axes

pyrad.graph.plot_time_Doppler(spectra, field_name, prdcfg, fname_list, xaxis_info='Doppler_velocity', yaxis_pos='start', titl=None, clabel=None, vmin=None, vmax=None, xmin=None, xmax=None, ymin=None, ymax=None)[source]

Makes a time-Doppler plot

Parameters:
spectra : radar spectra object

object containing the spectra or the IQ data to plot

field_name : str

name of the field to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

xaxis_info : str

Type of x-axis. Can be ‘Doppler_velocity’, ‘Doppler_frequency’ or ‘pulse_number’

yaxis_pos : str

the position that the y point represents in the y-axis bin. Can be ‘start’, end’ or ‘centre’

titl : str or None

The plot title

clabel : str or None

The color bar label

vmin, vmax : float or None

The value limits

xmin, xmax, ymin, ymax : float or None

The axis limits

Returns:
fname_list : list of str

list of names of the saved plots

pyrad.graph.plot_time_range(radar, field_name, ind_sweep, prdcfg, fname_list, vmin=None, vmax=None, ylabel='range (Km)')[source]

plots a time-range plot

Parameters:
radar : Radar object

object containing the radar data to plot

field_name : str

name of the radar field to plot

ind_sweep : int

sweep index to plot

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

vmin, vmax : float

Min and max values of the colorbar

ylabel : str

The y-axis label

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_timeseries(tvec, data_list, fname_list, labelx='Time [UTC]', labely='Value', labels=['Sensor'], title='Time Series', period=0, timeformat=None, colors=None, linestyles=None, markers=None, ymin=None, ymax=None, dpi=72)[source]

plots a time series

Parameters:
tvec : datetime object

time of the time series

data_list : list of float array

values of the time series

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

labely : str

The label of the Y axis

labels : array of str

The label of the legend

title : str

The figure title

period : float

measurement period in seconds used to compute accumulation. If 0 no accumulation is computed

timeformat : str

Specifies the tvec and time format on the x axis

colors : array of str

Specifies the colors of each line

linestyles : array of str

Specifies the line style of each line

markers: array of str

Specify the markers to be used for each line

ymin, ymax: float

Lower/Upper limit of y axis

dpi : int

dots per inch

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_timeseries_comp(date1, value1, date2, value2, fname_list, labelx='Time [UTC]', labely='Value', label1='Sensor 1', label2='Sensor 2', titl='Time Series Comparison', period1=0, period2=0, ymin=None, ymax=None, dpi=72)[source]

plots 2 time series in the same graph

Parameters:
date1 : datetime object

time of the first time series

value1 : float array

values of the first time series

date2 : datetime object

time of the second time series

value2 : float array

values of the second time series

fname_list : list of str

list of names of the files where to store the plot

labelx : str

The label of the X axis

labely : str

The label of the Y axis

label1, label2 : str

legend label for each time series

titl : str

The figure title

period1, period2 : float

measurement period in seconds used to compute accumulation. If 0 no accumulation is computed

dpi : int

dots per inch

ymin, ymax : float

The limits of the Y-axis. None will keep the default limit.

Returns:
fname_list : list of str

list of names of the created plots

pyrad.graph.plot_traj(rng_traj, azi_traj, ele_traj, time_traj, prdcfg, fname_list, rad_alt=None, rad_tstart=None, ax=None, fig=None, save_fig=True)[source]

plots a trajectory on a Cartesian surface

Parameters:
rng_traj, azi_traj, ele_traj : float array

antenna coordinates of the trajectory [m and deg]

time_traj : datetime array

trajectory time

prdcfg : dict

dictionary containing the product configuration

fname_list : list of str

list of names of the files where to store the plot

rad_alt : float or None

radar altitude [m MSL]

rad_tstart : datetime object or None

start time of the radar scan

surface_alt : float

surface altitude [m MSL]

color_ref : str

What the color code represents. Can be ‘None’, ‘rel_altitude’, ‘altitude’ or ‘time’

fig : Figure

Figure to add the colorbar to. If none a new figure will be created

ax : Axis

Axis to plot on. if fig is None a new axis will be created

save_fig : bool

if true save the figure if false it does not close the plot and returns the handle to the figure

Returns:
fname_list : list of str or
fig, ax : tupple

list of names of the saved plots or handle of the figure an axes