Radarx#

[1]:
import radarx as rx
import xradar as xd
import cmweather  # noqa
import cartopy.crs as ccrs
from datetime import datetime
[2]:
def filter_radar(ds):
    ds = ds.where((ds.reflectivity >= 0) & (ds.reflectivity <= 70))
    return ds

Grid Setup#

[3]:
x_lims = (-300e3, 250e3)
y_lims = (-250e3, 300e3)
z_lims = (0, 15e3)
h_res = 2000
v_res = 500

Load data#

[4]:
filename = "KSGF20180612_083109_V06.nc"
[5]:
dtree = xd.io.open_cfradial1_datatree(filename)
[6]:
dtree = rx.utils.combine_nexrad_sweeps(dtree)
[7]:
dtree = dtree.xradar.map_over_sweeps(filter_radar)
[8]:
dtree = dtree.xradar.georeference()
dtree.groups
[8]:
('/',
 '/sweep_0',
 '/sweep_1',
 '/sweep_2',
 '/sweep_3',
 '/sweep_4',
 '/sweep_5',
 '/sweep_6',
 '/sweep_7',
 '/sweep_8',
 '/sweep_9',
 '/sweep_10',
 '/sweep_11',
 '/sweep_12',
 '/sweep_13',
 '/radar_parameters',
 '/georeferencing_correction',
 '/radar_calibration')
[9]:
dtree["sweep_0"]["reflectivity"].plot(
    x="x",
    y="y",
    xlim=(-300e3, 200e3),
    ylim=(-200e3, 300e3),
    cmap="ChaseSpectral",
    levels=range(-10, 70),
)
[9]:
<matplotlib.collections.QuadMesh at 0x7fce06aea600>
../_images/notebooks_gridding_rate_part2_11_1.png

Radarx#

[10]:
tstart = datetime.now()
ds_rx = dtree.radarx.to_grid(
    data_vars=["reflectivity"],
    pseudo_cappi=False,
    x_lim=x_lims,
    y_lim=y_lims,
    z_lim=z_lims,
    x_step=h_res,
    y_step=h_res,
    z_step=v_res,
    x_smth=0.2,
    y_smth=0.2,
    z_smth=0.6,
)
print("Radarx gridding took:", datetime.now() - tstart)
display(ds_rx)
Radarx gridding took: 0:00:11.247278
<xarray.Dataset> Size: 9MB
Dimensions:       (z: 31, y: 276, x: 276)
Coordinates:
  * z             (z) float64 248B 0.0 500.0 1e+03 ... 1.4e+04 1.45e+04 1.5e+04
    lat           (y) float64 2kB 34.94 34.95 34.97 34.99 ... 39.87 39.88 39.9
    lon           (x) float64 2kB -96.68 -96.66 -96.64 ... -90.53 -90.5 -90.48
    latitude      float64 8B 37.24
    longitude     float64 8B -93.4
    altitude      float64 8B 419.0
    crs_wkt       int64 8B 0
  * x             (x) float64 2kB -3e+05 -2.98e+05 ... 2.48e+05 2.5e+05
  * y             (y) float64 2kB -2.5e+05 -2.48e+05 ... 2.98e+05 3e+05
Data variables:
    reflectivity  (z, y, x) float32 9MB nan nan nan nan nan ... nan nan nan nan
    time          datetime64[ns] 8B 2018-06-12T08:33:44.780257189
Attributes:
    Conventions:      CF/Radial instrument_parameters
    version:          1.3
    title:
    institution:
    references:
    source:
    comment:
    instrument_name:  KSGF
    history:
    radar_name:       KSGF

Plot#

[11]:
ds_rx.radarx.plot_max_cappi(
    data_var="reflectivity",
    vmin=-10,
    vmax=70,
    range_rings=True,
    add_map=True,
    projection=ccrs.PlateCarree(),
    title="Radarx",
)
../_images/notebooks_gridding_rate_part2_15_0.png
[11]:
../_images/notebooks_gridding_rate_part2_15_1.png
[ ]: