爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 14657|回复: 5

[求助] 关于Cinrad绘制HCL剖面的问题

[复制链接]

新浪微博达人勋

发表于 2020-12-9 09:08:59 | 显示全部楼层 |阅读模式

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

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

x
想用Cinrad绘制HCL剖面的时候,发现报错图1,显示KeyError,打开源程序发现没有HCL的剖面colormap(图2)。我自作聪明把cmap_plot的HCL的cmap添加到sec_plot中(图3),程序不报错了,但绘制出来的图是有问题的(图4),想必还是cmap的问题。不知道各位有没有什么好的解决办法,或者有幸作者大大能看到的话,能不能更新一下HCL剖面绘制的cmap。代码如下
import cinrad
from cinrad.io import CinradReader, StandardData
from cinrad.visualize import PPI
import matplotlib.ticker as mticker
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER


ele = 0 #1个仰角
radius = 230 #绘制图像的范围大小

if  __name__ == '__main__':
   
    #f = CinradReader('D:/Z_RADR_I_Z9311_20201121031200_O_DOR_SAD_CAP.bin.bz2') #老版本数据
    f = StandardData('D:/radardata/Z_RADR_I_Z9000_20201116073600_O_DOR_SA_CAP.bin.bz2') #老版本数据

    #[f.get_data(i, 230, 'REF') for i in f.angleindex_r]
    ref = list(f.iter_tilt(230, 'REF'))
    zdr = list(f.iter_tilt(230, 'ZDR'))
    rho = list(f.iter_tilt(230, 'RHO'))
    kdp = list(f.iter_tilt(230, 'KDP'))

    hylist = []
    for i in range(8):
        hy = cinrad.calc.hydro_class(ref, zdr, rho, kdp)
        hylist.append(hy)
    #rl = list(f.iter_tilt(230, 'RHO'))
    vcs = cinrad.calc.VCS(hylist)
    sec = vcs.get_section(start_cart=(114, 41.3), end_cart=(115, 41.3)) # 传入经纬度坐标
    #fig = cinrad.visualize.PPI(rl[ele])  #0代表第1个仰角
    #cr = cinrad.calc.quick_cr(rl)
    fig = cinrad.visualize.PPI(hylist[0])

    fig.plot_range_rings(radius, color='white', linewidth=1.0) #绘制圆圈
    for i in range(0,radius-30,50):
        fig.plot_range_rings(i, color='white', linewidth=1.0) #绘制圆圈
        
    fig.plot_cross_section(sec)  #绘制垂直剖面
   
    """
    设置经纬度
    """   
    liner = fig.geoax.gridlines(draw_labels=True,linewidth=2, color='gray', alpha=0.5, linestyle='--')
    liner.xlabels_top = False
    liner.ylabels_right = False
    liner.xformatter = LONGITUDE_FORMATTER
    liner.yformatter = LATITUDE_FORMATTER
    liner.xlabel_style = {'size': 10, 'color': 'white'}
    #liner.xlabel_style = {'color': 'red', 'weight': 'bold'}
    liner.ylabel_style = {'size': 10, 'color': 'white'}
   
    #保存图像
    fig('D:\\')
1.png
2.png
3.png
Z9000_20201116073600_0.5_230_HCL_41.30_114.00_41.30_115.00.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2020-12-9 10:21:43 | 显示全部楼层
最新进展,最终的图是因为没有数据才没有剖面,换了一个时次有了数据,但是不知道自己添加的cmap对不对远处的看起来有些奇怪



                               
登录/注册后可看大图



密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-12-9 14:21:38 | 显示全部楼层
我没做过HCL的剖面,不过你这个看起来好像是有一点点不太对
可以发一个数据给我吗,我等下调试一下,邮箱274555447@qq.com
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-9 14:32:37 | 显示全部楼层
eeeee 发表于 2020-12-9 14:21
我没做过HCL的剖面,不过你这个看起来好像是有一点点不太对
可以发一个数据给我吗,我等下调试一下,邮箱

已经发送给您了,感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-12-9 17:50:46 | 显示全部楼层
看了一下你那样加没有问题,在画剖面的时候加一个参数interpolate=False,这样就不会插值了,毕竟回波分类的值是离散的
1.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-12-10 08:49:13 | 显示全部楼层
eeeee 发表于 2020-12-9 17:50
看了一下你那样加没有问题,在画剖面的时候加一个参数interpolate=False,这样就不会插值了,毕竟回波分类 ...

收到,十分感谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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