数据读取
English version: Read Data
这页解决两个问题:
第一次拿到雷达文件时应该从哪里读
读出来以后你会得到什么对象
PyCWR 当前公开 reader 主要面向:
WSR98D
SAB
CC
SC
PA
所有 reader 最终都返回同一个核心对象:pycwr.core.NRadar.PRD。
自动读取
最推荐的入口是 read_auto:
from pycwr.io import read_auto
radar = read_auto("./data/Z_RADR_I_Z9046_20260317065928_O_DOR_SAD_CAP_FMT.bin.bz2")
print(radar.summary())
print(radar.available_fields())
read_auto 会:
自动识别雷达文件家族
解析成 PRD
保持当前项目兼容的 sweep 结构和几何主链
接口形式:
read_auto(
filename,
station_lon=None,
station_lat=None,
station_alt=None,
effective_earth_radius=None,
)
参数说明:
filename:雷达文件路径,可直接读取 bz2 / gz 压缩文件
station_lon、station_lat、station_alt:站点信息覆盖值
effective_earth_radius:几何计算使用的有效地球半径,单位米
指定格式读取
如果你已经明确知道文件格式,也可以直接调用指定 reader:
from pycwr.io import read_WSR98D, read_SAB, read_CC, read_SC, read_PA
radar = read_WSR98D("./data/file.bin.bz2")
这些函数返回的仍然是同一个 PRD 对象类型。
配合 Py-ART
PRD 现在推荐用对象方法导出到 Py-ART:
from pycwr.io import read_auto
radar = read_auto("./data/file.bin.bz2")
pyart_radar = radar.to_pyart_radar()
如果环境里安装了上游 Py-ART,就会优先导出为上游 Radar 对象。