爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4026|回复: 0

[经验总结] 使用python进行cinrad标准格式基数据读取并进行反射率拼图

[复制链接]

新浪微博达人勋

发表于 2022-12-10 09:07:55 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
使用程序包pycinrad 1.7.1 arm_pyart 1.14.1 (均为pip install直接下载安装)环境Python3.9.12(py_art文档上虽然写可以在3.6,3.7,3.8上运行,但是亲测3.9也可以)

                               
登录/注册后可看大图


使用的雷达为一部单偏振CD雷达(分辨率0.25KM),一部CC双偏振雷达(分辨率0.15KM)。
具体操作:
使用cinrad 分别读取两者基数据
import cinrad
from cinrad.io import CinradReader,StandardData
file_cinrad = StandardData(file_path)


使用cinrad转pyart函数:
import pyart
from cinrad.io.export import standard_data_to_pyart



使用pyart操作:
art_file = standard_data_to_pyart(file_cinrad)

gatefilter = pyart.filters.GateFilter(art_file)
gatefilter.exclude_transition()
gatefilter.exclude_above('reflectivity', 230)

# 使用pyart.map.grid_from_radars()函数操作
grid = pyart.map.grid_from_radars(
    (art_file1, art_file2), gatefilters=(gatefilter1, gatefilter2),
    grid_shape=(1, 3001, 3001),
    grid_limits=((0,6000),(-350000,350000),(-350000,350000)),#
# Minimum and maximum grid location (inclusive) in meters for the z, y, x coordinates.
# z、y、x坐标的最小和最大网格位置,单位为米。我理解的是基数据插值的范围。
    # grid_origin = (27.7302,109.1763),
    # gridding_algo = 'map_to_grid',#map_gates_to_grid
    copy_field_dtypes = True,
    fields=['reflectivity')

绘图
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(grid.fields['reflectivity']['data'][0],
          origin='lower', extent=(-60, 40, -50, 40), vmin=0, vmax=48)
plt.show()



pyart可以直接转xarray数组
xarray_file = grid.to_xarray()







密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表