x波段雷达基数据绘制成雷达图
1.雷达基数据格式Z_RADR_I_ZR001_20240521020002_O_DOR_YLD2-D_CAP_FMT.bin.bz2
2.基数据读取
```python
f = StandardData(i) # 新版本标准数据
radarTime = f.scantime # 获取雷达时次
date_str = radarTime.strftime('%Y-%m-%d %H:%M:%S')
date_str = date_str.replace(' ', '_').replace(':', '')
stationCode = f.code
f.available_product(0)
3.基本反射率dbz读取,其他要素类似
r = f.get_data(0, 400, "REF")
dbz_path = pngPath + '/' + stationCode + '/' + 'dbz' + '/'
if not os.path.exists(dbz_path): # 如果路径不存在
os.makedirs(dbz_path) # 则创建该目录
else:
print("dbz路径已经存在")
dbz_name = stationCode + '_' + 'dbz' + '_' + date_str + '.png'
dbz_pro = os.path.join(dbz_path, dbz_name)
draw_dbz(r, dbz_pro)
rpath_dbz = os.path.relpath(dbz_pro, pngPath).replace('\\', '/')
add_record(stationCode, radarTime, 'dbz', rpath_dbz)
4.绘制dbz雷达图,其余要素类似
def draw_dbz(r, dbz_pro):
ref = r.REF
proj = ccrs.PlateCarree() # 创建投影,选择cartopy的platecarree投影
fig = plt.figure(figsize=(6, 6)) # 创建页面,可以自己选择大小
# ax = fig.subplots(subplot_kw={'projection': proj}) #子图
ax = fig.add_subplot(1, 1, 1, projection=proj)
for spine in ax.spines.values():
spine.set_visible(False)
color_max = int(ref.max()) + 1
color_min = int(ref.min())
n_gap = (color_max - color_min) / 20
# levels = np.arange(color_min,color_max+n_gap,n_gap)
levs = [0, 10.0, 15.0, 20.0, 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0]
cols = [(0, 0, 0, 0), (0, 161 / 255, 247 / 255), (1 / 255, 236 / 255, 237 / 255), (0, 216 / 255, 0),
(1 / 255, 144 / 255, 0), (255 / 255, 255 / 255, 0), (231 / 255, 192 / 255, 0),
(255 / 255, 144 / 255, 0), (255 / 255, 0, 0), (214 / 255, 0, 0), (192 / 255, 0, 0),
(255 / 255, 0, 240 / 255),
(150 / 255, 0, 180 / 255), (173 / 255, 144 / 255, 240 / 255)]
# 创建自定义颜色映射
custom_cmap = ListedColormap(cols)
norm = BoundaryNorm(levs, custom_cmap.N, clip=False)
# 绘制等高线填充图
plt.contourf(r.longitude, r.latitude, ref, cmap=custom_cmap, norm=norm, levels=levs)
# 设置透明背景并保存图片
plt.savefig(dbz_pro, transparent=True, dpi=600, bbox_inches='tight', pad_inches=0)
plt.close(fig)
5.绘制结果展示
6.雷达小常识
1.在国内,我们最常见到和使用的气象雷达,是新一代多普勒天气雷达(CINRAD)。我们在气象局之类建筑楼顶上见到的那些球形建筑,大都属于这一种雷达。这种雷达可以探测反射率因子、多普勒径向速度、谱宽等基本气象要素,从而为短临尺度上的天气预报和预警提供数据支撑。特别是雷达反射率数据,因为其与强对流天气系统直接相关,最常被大家使用。
达数据在日常业务科研中的应用非常多,比如雷达数据可以用于数值模式同化中,为数值模式提供一个更加准确的初始场;基于雷达反射率数据的雷达短临预报系统可以预报未来2小时内,雷达探测范围内的强对流天气。例如,眼控科技自主研发的基于深度学习的AI对流临近预报系统就是利用雷达反射率数据,对未来两小时之内强对流天气,进行准确的预报。看了一下,下面的这个预报效果确实很好