爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 214791|回复: 178

[源代码] 重磅更新!读取CINRAD雷达基数据的Python模块

  [复制链接]

新浪微博达人勋

发表于 2018-7-9 20:54:39 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 高空急流 于 2018-9-21 09:41 编辑

重磅更新!经过不断的开发和完善,此项目的脚本已经变成模块。衍生产品的计算函数可以支持自己构建的numpy.ndarray,而不必须是程序读取出来的CINRAD雷达数据。该模块支持SA/SB/CB三种雷达数据格式,具体安装及函数用法如下。

安装及初始化设置说明:该脚本目前仅能在Python3环境下运行
  1. python setup.py install
复制代码
设置图片保存路径
程序默认将图片保存在D:\目录下,如要设置到其他路径,请使用cinrad.set_savepath函数。例子:
  1. import cinrad
  2. cinrad.set_savepath('D:\\1\\')
复制代码
模块介绍
cinrad.datastruct
构建本模块所使用的数据类型
基本类型: cinrad.datastruct.Raw
反射率数据类型: cinrad.datastruct.R (base: cinrad.datastruct.Raw)
速度数据类型: cinrad.datastruct.V (base: cinrad.datastruct.Raw)
剖面数据类型: cinrad.datastruct.Section
该基本类型包含该要素数据,经纬度数据和雷达其他信息(雷达站名,扫描时间等)
cinrad.io
读取CINRAD雷达数据。例子:
  1. from cinrad.io import CinradReader
  2. f = CinradReader(your_radar_file)
  3. f.reflectivity(elevation_angle_level, data_range) #获取反射率数据(为cinrad.datastruct.R类型)
  4. f.velocity(elevation_angle_level, data_range) #获取速度数据(为cinrad.datastruct.V类型)
  5. f.rhi(azimuth, drange) #获取RHI数据(为cinrad.datastruct.Section类型)
复制代码
cinrad.utils
提供雷达衍生产品的计算(接受numpy.ndarray)。将这些功能独立出来的目的是使得计算程序更加通用, 而不仅仅是能计算此程序读取出来的CINRAD雷达数据。
函数名: composite_reflectivity, echo_tops, vert_integrated_liquid
cinrad.easycalc
提供雷达衍生产品的计算(接受list(cinrad.datastruct.Raw)) 使用cinrad.io读取的数据可直接带入该模块下的函数来计算。
函数名: quick_cr, quick_et, quick_vil
传入一个包含每个仰角数据的list即可计算。
列表生成示例:
  1. r_list = [f.reflectivity(i, drange) for i in f.angleindex_r] #SA/SB/CA/CB雷达
  2. r_list = [f.reflectivity(i, drange) for i in range(len(f.elevdeg))] #SC/CC雷达
复制代码
cinrad.visualize
雷达数据可视化,包括ppi和rhi,仅接受cinrad.datastruct.Raw类型。
在ppi下的函数:base_reflectivity, base_velocity, echo_tops, vert_integrated_liquid, composite_reflectivity
在rhi下的函数:rhi
例子:
  1. from cinrad.visualize.ppi import base_reflectivity
  2. base_reflectivity(R) #绘制基本反射率图片
  3. from cinrad.visualize.rhi import rhi
  4. rhi(Section) #绘制RHI
复制代码
最新的模块下载: PyCINRAD-master.zip (9.36 MB, 下载次数: 931)

PyCINRAD-master.zip

22.76 MB, 下载次数: 794, 下载积分: 金钱 -5

售价: 1 贡献  [记录]

PyCINRAD模块

评分

参与人数 8金钱 +82 贡献 +14 收起 理由
yubaobao + 2
tczx + 1 很给力!
梦のしずく + 2 神马都是浮云
kumaei + 2 很给力!
尽头的尽头 + 20 + 5 赞一个!
mofangbao + 15 + 5
Lighting + 20 + 2 赞一个!
非对称 + 20 + 2 很给力!

查看全部评分

本帖被以下淘专辑推荐:

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-9-23 16:00:08 | 显示全部楼层
更新地区高亮功能
在ppi里面的所有函数里加入了highlight参数。
例子:cinrad.visualize.ppi.base_reflectivity(R, highlight=‘成都市’)
效果图
Z9280_20180923020125_0.5_150_R.png

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-8-29 20:15:50 | 显示全部楼层
本帖最后由 eeeee 于 2018-9-2 19:56 编辑

更新一下程序。
新增功能:
1.CC1.0雷达的多普勒速度和基本反射率绘制
2.CA雷达多普勒速度和基本反射率绘制
3.双偏振雷达的基本反射率,差分反射率,协相关系数,差分传播相移率的绘制
4.优化雷达类型的识别
5.一些其他Bug的修复
6.组合反射率绘制


PyCINRAD.zip (9.44 MB, 下载次数: 460)
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

发表于 2018-7-10 09:55:34 | 显示全部楼层
@高空急流  老师,请问运行出现下列错误,请问是怎么回事?

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\PyCINRAD-master\PyCINRAD-master\CINRAD_radar.py", line 26, in <module>
    radarinfo = np.load('RadarStation.npy')
  File "C:\Python27\lib\site-packages\numpy\lib\npyio.py", line 394, in load
    return format.read_array(fid)
  File "C:\Python27\lib\site-packages\numpy\lib\format.py", line 446, in read_array
    array = pickle.load(fp)
TypeError: must be char, not unicode
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2018-7-9 22:18:01 | 显示全部楼层
佩服楼主的开源精神
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-7-10 09:02:07 | 显示全部楼层
谢谢楼主分享,
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-7-10 09:32:23 | 显示全部楼层
@非对称 老师,上次看了你们江西的GIS系统,好久没见老师发言了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-7-10 10:09:54 | 显示全部楼层
kmdqlb 发表于 2018-7-10 09:32
@非对称 老师,上次看了你们江西的GIS系统,好久没见老师发言了

我不做预报员好多年了,哈哈
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-7-10 10:23:19 | 显示全部楼层
非对称 发表于 2018-7-10 10:09
我不做预报员好多年了,哈哈

根据你的指导,我结合wcoutour应用在silverlight上生成了一个WebGIS的系统,现已应用于业务中
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-7-10 10:23:24 | 显示全部楼层
非对称 发表于 2018-7-10 10:09
我不做预报员好多年了,哈哈

根据你的指导,我结合wcoutour应用在silverlight上生成了一个WebGIS的系统,现已应用于业务中
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-7-10 10:23:30 | 显示全部楼层
非对称 发表于 2018-7-10 10:09
我不做预报员好多年了,哈哈

根据你的指导,我结合wcoutour应用在silverlight上生成了一个WebGIS的系统,现已应用于业务中
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-7-10 10:23:37 | 显示全部楼层
非对称 发表于 2018-7-10 10:09
我不做预报员好多年了,哈哈

根据你的指导,我结合wcoutour应用在silverlight上生成了一个WebGIS的系统,现已应用于业务中
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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