import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import wradlib as wrl
import os
os.environ["WRADLIB__DATA"] = "."
iris0 = wrl.io.read_iris(filename)
x_size = iris0['product_hdr']["product_configuration"]["x_size"]
y_size = iris0['product_hdr']["product_configuration"]["y_size"]
x_scale = iris0['product_hdr']["product_configuration"]["x_scale"]
/100. #note the units in metadata
y_scale = iris0['product_hdr']["product_configuration"]["y_scale"]
/100.
x_location =
iris0['product_hdr']["product_configuration"]["x_location"]// 1000 #again, for scale reasons
y_location =
iris0['product_hdr']["product_configuration"]["y_location"]// 1000
lat0 = iris0['product_hdr']["product_end"]["latitude_projection"]
lon0 = iris0['product_hdr']["product_end"]["longitude_projection"]
globe = ccrs.Globe(semimajor_axis = 6378137, inverse_flattening
= 298.257224) #I needed a globe since I wasn't exactly in WGS-84. semimajor_axis has been #taken from radius of the Earth and convert it to meters
map_proj = ccrs.AzimuthalEquidistant(central_latitude=lat0,
central_longitude=lon0, globe=globe)
x_dim = (np.arange(x_size) - x_location) * x_scale
y_dim = (np.arange(y_size) - y_location) * y_scale
fig = plt.figure(figsize=(20,16))
ax = fig.add_subplot(111, projection=ccrs.PlateCarree(globe=globe))
ax.set_aspect('equal')
X, Y = np.meshgrid(x_dim, y_dim)
pm = ax.pcolormesh(X, Y, iris0['data'][0][0], transform=map_proj)
ax.coastlines()
ax.gridlines(draw_labels=True)
plt.colorbar(pm)
plt.show()