前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >雷达系列:更新!试试cinrad最新更新的read_auto函数

雷达系列:更新!试试cinrad最新更新的read_auto函数

作者头像
用户11172986
发布2024-06-20 19:16:44
630
发布2024-06-20 19:16:44
举报
文章被收录于专栏:气python风雨气python风雨

前言

最近pycinrad更新1.9.0版本,更新内容如下

我们来试试新鲜出炉的read_auto函数吧

温馨提示

本文镜像 :气象分析3.9

由于可视化代码过长隐藏,可点击以下链接运行Fork查看

雷达系列:更新!试试cinrad最新更新的read_auto函数

🔜🔜若没有成功加载可视化图,点击运行可以查看 ps:隐藏代码在【代码已被隐藏】所在行,点击所在行,可以看到该行的最右角,会出现个三角形,点击查看即可

In [3]:

代码语言:javascript
复制
代码语言:javascript
复制
!pip install --upgrade --index-url=https://pypi.mirrors.ustc.edu.cn/simple cinrad --user

型号:CC

In [4]:

代码语言:javascript
复制
代码语言:javascript
复制
import cinrad

ds1 =  cinrad.io.read_auto('/home/mw/input/pycwr5461/2016070817 (1).48V.gz')
ds1.available_product(0)
代码语言:javascript
复制

Out[4]:

代码语言:javascript
复制
['REF', 'VEL', 'SW', 'azimuth']

型号:SC

In [5]:

代码语言:javascript
复制
代码语言:javascript
复制
import cinrad

ds1 =  cinrad.io.read_auto('/home/mw/input/pycwr5461/Z_RADR_I_Z9240_20190703101340_O_DOR_SC_CAP.bin.bz2')
ds1.available_product(0)
代码语言:javascript
复制

Out[5]:

代码语言:javascript
复制
['REF', 'VEL', 'SW', 'azimuth', 'RF']

型号:SAD

In [6]:

代码语言:javascript
复制
代码语言:javascript
复制
import cinrad

ds1 =  cinrad.io.read_auto('/home/mw/input/pycwr5461/Z_RADR_I_Z9898_20190828181529_O_DOR_SAD_CAP_FMT (1).bin.bz2')
ds1.available_product(0)
代码语言:javascript
复制

Out[6]:

代码语言:javascript
复制
['TREF', 'REF', 'SQI', 'ZDR', 'RHO', 'PHI', 'KDP', 'SNRH']

型号:SB

没骂人

In [11]:

代码语言:javascript
复制
代码语言:javascript
复制
import cinrad
ds1 =  cinrad.io.read_auto('/home/mw/input/pycwr5461/Z9396_BASE_SB_20180724_055400 (1).bin.bz2')
ds1.available_product(0)
代码语言:javascript
复制
代码语言:javascript
复制
---------------------------------------------------------------------------
RadarDecodeError                          Traceback (most recent call last)
Input In [11], in <cell line: 3>()
      1 import cinrad
----> 3 ds1 =  cinrad.io.read_auto('/home/mw/input/pycwr5461/Z9396_BASE_SB_20180724_055400 (1).bin.bz2')
      4 ds1.available_product(0)

File ~/.local/lib/python3.9/site-packages/cinrad/io/__init__.py:52, in read_auto(filename)
     50 cc_flag = flag[116:122]
     51 if flag[14:16] == b"\x01\x00" or sc_flag == b"CINRAD" or cc_flag == b"CINRAD":
---> 52     return CinradReader(filename)
     53 raise Exception("Unknown radar type")

File ~/.local/lib/python3.9/site-packages/cinrad/io/level2.py:116, in CinradReader.__init__(self, file, radar_type)
    114 else:
    115     if not t_infer:
--> 116         raise RadarDecodeError(
    117             "Unable to determine the file type. Use `radar_type` keyword"
    118             "to specify the radar type."
    119         )
    120     self.radartype = t_infer
    121 self.site_info = {}

RadarDecodeError: Unable to determine the file type. Use `radar_type` keywordto specify the radar type.

In [9]:

代码语言:javascript
复制
代码语言:javascript
复制
from cinrad.io import CinradReader, StandardData
SB = CinradReader('/home/mw/input/pycwr5461/Z9396_BASE_SB_20180724_055400 (1).bin.bz2',radar_type='SB') 
SB.available_product(0)
代码语言:javascript
复制
代码语言:javascript
复制
/home/mw/.local/lib/python3.9/site-packages/cinrad/io/level2.py:109: UserWarning: Contradictory information from input radar type andradar type detected from input file.
  warnings.warn(

Out[9]:

代码语言:javascript
复制
['REF', 'VEL', 'SW', 'azimuth', 'RF']

read_auto不支持SB

相控阵

In [10]:

代码语言:javascript
复制
代码语言:javascript
复制
import cinrad

ds1 =  cinrad.io.read_auto('/home/mw/input/pycwr5461/Z_RADR_I_ZGZ01_20200820220246_O_DOR_DXK_CAR.bin.bz2')
ds1.available_product(0)
代码语言:javascript
复制
代码语言:javascript
复制
---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
Input In [10], in <cell line: 3>()
      1 import cinrad
----> 3 ds1 =  cinrad.io.read_auto('/home/mw/input/pycwr5461/Z_RADR_I_ZGZ01_20200820220246_O_DOR_DXK_CAR.bin.bz2')
      4 ds1.available_product(0)

File ~/.local/lib/python3.9/site-packages/cinrad/io/__init__.py:53, in read_auto(filename)
     51 if flag[14:16] == b"\x01\x00" or sc_flag == b"CINRAD" or cc_flag == b"CINRAD":
     52     return CinradReader(filename)
---> 53 raise Exception("Unknown radar type")

Exception: Unknown radar type

当然对于多变的相控阵格式是不支持的,应该可以读取最新格式的相控阵雷达数据

小结

谢谢开发者们对于pycinrad的不断维护,read_auto函数应该能满足大多数用户的需求了

pycinrad对于业务人员的使用是越来越友好了

相信随着使用难度的降低,会有越来越多的用户加入

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 温馨提示
  • 型号:CC
  • 型号:SC
  • 型号:SAD
  • 型号:SB
  • 相控阵
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档