Python处理X波段相控阵双偏振雷达基数据
PyCINRAD
PyCINRAD号称国内最强大的雷达数据处理工具,支持多种CINRAD雷达数据格式,兼容性强,横扫CMA雷达基数据和产品,国内首个支持“探测中心拼图3.0”。快速提取、计算雷达衍生产品,如组合反射率CR、回波顶高ET、降水粒子分类HCL等。作为一个开源项目,PyCINRAD对所有用户免费开放,鼓励社区贡献和改进。据悉已遍布CMA的各个系统角落。
PyCINRAD官网 https://pycinrad.cn
本文介绍如何使用PyCINRAD读取X波段相控阵双偏振雷达基数据
import warnings
import cinrad
import cartopy
from cinrad.visualize import PPI
import numpy as np
import matplotlib.pyplot as plt
import datetime
%matplotlib inline
warnings.filterwarnings("ignore")
basePath = "d:/temp/"
print(cinrad.__version__)
print(np.__version__)
print(cartopy.__version__)
1.9.1
2.0.2
0.23.0
打开基数据
nFiles = basePath + "/cinrad/bz2/Z_RADR_I_ZS409_20231220000000_O_DOR_AXPT0364_CRA_.bz2"
f = cinrad.io.read_auto(nFiles)
print(type(f).__name__)
data = f.get_data(0, 230, "RHO") # 这里我们读取双偏振变量 RHO,即CC
data
StandardData
<xarray.Dataset> Size: 88MB
Dimensions: (azimuth: 360, distance: 7666)
Coordinates:
* azimuth (azimuth) float32 1kB 0.0 0.01745 0.03491 ... 6.231 6.248 6.266
* distance (distance) float64 61kB 0.03 0.06 0.09 0.12 ... 229.9 229.9 230.0
Data variables:
RHO (azimuth, distance) float64 22MB nan nan nan nan ... nan nan nan
longitude (azimuth, distance) float64 22MB 112.0 112.0 ... 112.0 112.0
latitude (azimuth, distance) float64 22MB 32.0 32.0 32.0 ... 34.07 34.07
height (azimuth, distance) float64 22MB 1.12e+06 1.12e+06 ... 1.12e+06
Attributes:
elevation: 0.9
range: 230
scan_time: 2023-12-20 00:00:00
site_code: Z9999
site_name: 伊宁
site_longitude: 112.0
site_latitude: 32.0
tangential_reso: 0.03
nyquist_vel: 20.155872
task: VCP21D
画图很难吗? 一句代码的事
fig = cinrad.visualize.PPI(data, style="white") # 画图
# fig("d:/") #把图片保存到d盘
什么都看不到,hhhh,那是因为确实没有回波

支持格式
PyCINRAD还支持老格式的相控阵数据,文件名如下:
Z_RADR_I_ZBJ02_20210815155836_O_DOR_DXK_CAR.bin
丰富的接口,看接口名称应该都能看懂吧
cinrad.io.StandardData
cinrad.io.StandardPUP
cinrad.io.MocMosaic
cinrad.io.SWAN(filename,product="CR")
cinrad.io.CinradReader(filename,radar_type="CC")
cinrad.io.PhasedArrayData
cinrad.io.PUP
cinrad.io.read_auto
#1. 标准格式基数据StandardData
标准格式基数据: 标准格式文件名中有“FMT”、基数据是O_DOR Z_RADR_I_Z9999_20231025220414_O_DOR_SA_CAP_FMT.bin
#2. 标准格式产品StandardPUP
标准格式产品: 标准格式文件名中有“FMT”、产品数据是P_DOR 这里文件名中有HCL,代表是HCL水凝物分类产品 Z_RADR_I_Z9999_20231231160439_P_DOR_SAD_HCL_250_230_5_FMT.bin 下面这种老格式的也是标准格式产品 Z9737_20231126150649Z_CR_00_37
#3. 探测中心天气雷达拼图系统v3产品.MocMosaic
ACHN表示是全网拼图,CREF表示是产品类型是CREF组合反射率 Z_RADA_C_BABJ_20231212010615_P_DOR_ACHN_CREF_20231212_010000
#4. SWAN
以前的老SWAN3产品.MCR表示拼图组合反射率 Z_OTHE_RADAMCR_20220525085400.bin
#5. 老格式的国产基数据.CinradReader
和标准格式的唯一区别是文件名中没有“FMT”(这里指的是大部分新情况) Z_RADR_I_Z9731_20240511070524_O_DOR_SAD_CAP.bin
#6. 相控阵PhasedArrayData
标准格式的相控阵雷达基数据(2023以后). 文件名一般有AXPT,就是纳睿雷达的产品。 Z_RADR_I_ZBJ02_20210815155836_O_DOR_DXK_CARZ_RADR_I_ZA601_20240415183600_O_DOR_AXPT0364_CRA_FMTZ_RADR_I_ZS999_20231220000000_O_DOR_AXPT0364_CRA_.bz2
#7: PUP
NEXRAD Level 3 (NIDS) product files. 已经被淘汰的格式,一言难尽,格式太乱,能用则用吧。
#万能读取read_auto
如果你搞不清楚,那请用cinrad.io.read_auto(your_radar_file)来读取。
作者:pysoer