数据读取¶
双偏振雷达普及之前,我国新一代天气雷达数据主要有CINRAD/SA/SB/CB、CINRAD/CC/CCJ、CINRAD/SC/CD等格式, 随着双偏振雷达数据的普及,我国逐渐将数据统一为WSR98D格式。
文档中采用的数据可通过百度网盘下载,链接: https://pan.baidu.com/s/1MhW9jE7r3LYHO7enUOfRsw 提取码: 8ba9
自动读取¶
可以使用read_auto函数实现雷达数据类型的识别,并转化为pycwr内置的雷达数据存储格式PRD(Polarimetry Radar Data)类型:
1from pycwr.io import read_auto
2PRD = read_auto(r"./data/Z_RADR_I_Z9898_20190828181529_O_DOR_SAD_CAP_FMT.bin.bz2")
3print(PRD.scan_info)
4print(PRD.fields)
read_auto函数在 pycwr.io
下,可以传入站点的经纬度高度参数,如不传入该参数,则会根据站号或者站点信息识别站点
的经纬度数据。
read_auto函数 read_auto(filename, station_lon=None, station_lat=None, station_alt=None)
共有四个参数:
filename : 雷达基数据路径,基数据可以是bz2和gz格式的压缩文件(不需要解压)。
station_lon : 雷达站点的经度信息,范围是-180 ~ 180。(units: degree east)
station_lat : 雷达站点的纬度信息,范围是-90 ~ 900。(units: degree north)
station_alt : 雷达站点的高度信息。(units: meters)
指定类型读取¶
如果已经知道雷达数据格式的类型,可以直接指定格式进行读取。
数据类型是WSR98D:
1from pycwr.io import WSR98DFile 2filename = "./data/Z_RADR_I_Z9898_20190828181529_O_DOR_SAD_CAP_FMT.bin.bz2" 3PRD = WSR98DFile.WSR98D2NRadar(WSR98DFile.WSR98DBaseData(filename, station_lon=None,\ 4 station_lat=None, station_alt=None)).ToPRD() 5print(PRD.scan_info) 6print(PRD.fields)
数据类型是SA/SB:
1from pycwr.io import SABFile 2filename = "./data/Z9396_BASE_SB_20180724_055400.bin.bz2" 3PRD = SABFile.SAB2NRadar(SABFile.SABBaseData(filename, station_lon=None,\ 4 station_lat=None, station_alt=None)).ToPRD() 5print(PRD.scan_info) 6print(PRD.fields)
数据类型是CC/CCJ:
1from pycwr.io import CCFile 2filename = "./data/2016070817.48V.gz" 3PRD = CCFile.CC2NRadar(CCFile.CCBaseData(filename, station_lon=None,\ 4 station_lat=None, station_alt=None)).ToPRD() 5print(PRD.scan_info) 6print(PRD.fields)
数据类型是SC/CD:
1from pycwr.io import SCFile 2filename = "./data/Z_RADR_I_Z9240_20190703101340_O_DOR_SC_CAP.bin.bz2" 3PRD = SCFile.SC2NRadar(SCFile.SCBaseData(filename, station_lon=None,\ 4 station_lat=None, station_alt=None)).ToPRD() 5print(PRD.scan_info) 6print(PRD.fields)
数据类型是Phase Array:
1from pycwr.io import read_PA 2filename = "./data/Z_RADR_I_ZGZ01_20200820220246_O_DOR_DXK_CAR.bin.bz2" 3PRD = read_PA(filename) 4print(PRD.scan_info) 5print(PRD.fields)
配合 Py-ART 库对雷达数据进行处理¶
1from pycwr.io import read_auto
2PRD = read_auto(r"./data/Z_RADR_I_Z9898_20190828181529_O_DOR_SAD_CAP_FMT.bin.bz2")
3print(PRD.scan_info)
4print(PRD.fields)
5PyartRadar = PRD.ToPyartRadar()