社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

气象编程 | Python绘制雷达PPI和RHI

气象学家 • 1 年前 • 566 次点击  

  第一时间获取气象科研资讯

气象学家公众号交流群

加入

Python & Radar

雷达PPI

(1) code

#雷达图 2019090205-2019090210 点的雷达基本反射率 PPI
# %%
import cinrad
from cinrad.io import CinradReader, StandardData
from cinrad.io import PhasedArrayData
from cinrad.visualize import Section
import matplotlib.pyplot as plt
%matplotlib inline
from cinrad.visualize import PPI
import matplotlib.ticker as mticker
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import os
from cinrad.io import PUP
# %%
path="D:\\biancheng_data\\tian-Z9200-20190902\\Z9200.20190902.080000.AR2\\Z9200.20190902.080000.AR2"#新版本数据
f = StandardData(path)  #新版本标准数据
#path="F:\\radar\\Z_RADR_I_Z9552_20190605000500_O_DOR_SA_CAP.bin\\Z_RADR_I_Z9552_20190605000500_O_DOR_SA_CAP.bin"3旧版本数据
#f=cinrad.io.CinradReader(path)#旧版本数据

# %%
f.available_product(0)
# %%
tilt_number = 2
radius = 150
data_dtype = 'REF' 
r = f.get_data(tilt_number, radius, data_dtype) #获取反射率数据
print(r)
rl = list(f.iter_tilt(radius, 'REF'))
# %%
fig = cinrad.visualize.PPI(r, dpi=75,add_city_names=bool) 

fig.plot_range_rings(radius, color='pink', linewidth=1.0)# 在PPI图上绘制圆圈
for i in range(0,radius,50):
        fig.plot_range_rings(i, color='pink', linewidth=1.0) 

ax1 = fig.geoax.gridlines(draw_labels=True,linewidth=2, color='k', alpha=0.5, linestyle='--')
ax1.top_labels = False       
ax1.right_labels = False    
ax1.xformatter = LONGITUDE_FORMATTER
ax1.yformatter = LATITUDE_FORMATTER
ax1.xlabel_style = {'size': 18, 'color''white'}
ax1.ylabel_style = {'size': 18, 'color''white'}

(2)result

雷达RHI

(1)code

#雷达剖面图
import cinrad
from cinrad.io import CinradReader, StandardData
from cinrad.io import PhasedArrayData
from cinrad.visualize import Section
import matplotlib.pyplot as plt
%matplotlib inline
from cinrad.visualize import PPI
import matplotlib.ticker as mticker
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import os
from cinrad.io import PUP
# %%
path="D:\\biancheng_data\\tian-Z9200-20190902\\Z9200.20190902.090000.AR2\\Z9200.20190902.090000.AR2"
f = StandardData(path)  #新版本标准数据
# %%
f.available_product(0) #查看包含的产品类型
# %%
tilt_number = 2 #代表第3个仰角
radius = 150 #绘制图像的范围大小,150km
data_dtype = 'REF' 
print(r)
#rl = list(f.iter_tilt(radius, 'REF'))
rl = [f.get_data(i, 150, 'REF'for i in f.angleindex_r]
vcs = cinrad.calc.VCS(rl)
sec = vcs.get_section(start_cart=(112.5, 22.5), end_cart=(113.5, 23.5)) #传入经纬度坐标
fig=Section(sec)

(2)result







声明:欢迎转载、转发本号原创内容,可留言区留言或者后台联系小编(微信:gavin7675)进行授权。气象学家公众号转载信息旨在传播交流,其内容由作者负责,不代表本号观点。文中部分图片来源于网络,如涉及作品内容、版权和其他问题,请后台联系小编处理。


往期推荐

 获取ERA5-Land陆面高分辨率再分析数据(32TB)

  1942-2022年中国地面气象站观测数据免费分享

 获取全球GPM降水数据,半小时/逐日(4TB)

 获取1998-2019 TRMM 3B42逐日降水数据

★ 获取最新版本CMIP6降尺度数据集30TB

★ 获取ERA5常用变量再分析数据26TB

 EC数据商店推出Python在线处理工具箱

★ EC打造实用气象Python工具Metview

★ 机器学习简介及在短临天气预警中的应用

★ Nature-地球系统科学领域的深度学习及理解

★ 采用神经网络与深度学习来预报降水、温度

★  灵魂拷问:ChatGPT对气象人的饭碗是福是祸?

★ 气象局是做啥的?气象局的薪水多少?

★ 一位气象学家尝试ChatGPT复现Nature子刊的研究,他真的会面临失业吗?!


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/159173
 
566 次点击