轻松下载和绘制Nexrad天气雷达反射率数据

NEXRAD-quickplot的Python项目详细描述


Travis-CICoveralls.ioAppVeyor Build StationimageimageMaintainabilityPyPi Download stats

Nexrad快速绘图

简单的python下载和绘图nexrad n0q综合反射率。 使用北美的rgb高分辨率png图像。

使用pytestflake8mypy类型检查进行测试。

安装

python -m pip install -e .

用法

rgb数据缩放:nexrad n0q基本反射率贴图。

  • 黑色:无数据
  • -32 dBz..90 dBz
  • 0.5 dBz增量

NEXRAD N0Q RGB scaling

这些数据是降低保真度的rgb图像。 我们用xarray.DataArray逐幅绘制。 对于高保真的科学数据,需要较低级别的数据——如果有兴趣,请与我们联系。

importnexrad_quickplotasnqdat=nq.load('~/data/2015-01-19/nexrad/nexrad2015-01-19T01:15:00.png')>>>dat<xarray.DataArray(lat:540,lon:1220,color:3)>array([[[255,255,255],[255,255,255],...,[255,255,255],[255,255,255]]],dtype=uint8)Coordinates:*lat(lat)float6423.023.0523.123.1523.223.2523.323.3523.4...*lon(lon)float64-126.0-125.9-125.9-125.8-125.8-125.7-125.7...*color(color)'R''G''B'Attributes:filename:~/data/nexrad2015-01-19T01:15:00.pngwldfn:Nonetime:2015-01-1901:15:00

.lat.lon分别是大地纬度和经度的矢量,根据图像对应的.wld文件计算。

下载nexrad数据

得到 NEXRAD reflectivity data 并行下载:

download-nexrad start stop outdir

示例: 从2018-01-01到2018-01-02下载到~/data/nexrad

download-nexrad 2018-01-01T00 2018-01-03T00 ~/data/nexrad

绘制nexrad反射率数据

Nexrad QuickPlot绘图通过 Cartopy, 它是 deprecated Basemap

  • 打印目录中的所有数据:
    plot-nexrad ~/data/nexrad/
    
  • 打印特定文件(如果指定了多个文件,则显示子批):
    plot-nexrad ~/data/nexrad/2018-01-01T12:35:00.png
    
  • 通过文件全局匹配打印:
    plot-nexrad ~/data/nexrad/ -pat 2018-01-01T12*.png
    
  • Keogram(指定纬度或经度和值):
    plot-nexrad ~/data/2018-01-01/nexrad/ -keo lat 40

注释

坐标

epsg:4326坐标(wgs84)在.wld文件中,通常是 对于数据的宽时间跨度也是如此。这个 .wld format 就像:

0.005 (size of pixel in x direction)
0.0 (rotation of row) (Typically zero)
0.0 (rotation of column) (Typically zero)
-0.005 (size of pixel in y direction)
-126.0 (x coordinate of centre of upper left pixel in map units--here it's WGS84 longitude)
50.0 (y coordinate of centre of upper left pixel in map units--here it's WGS84 latitude)

质量图像缩小

对于初始分析,原始nexrad图像大小12200x 5400像素可能太高,无法在合理的时间内完成。 我选择缩小10倍,这需要很长时间,但这是一个一次性的过程。

mkdir orig
cp *.png orig

nice mogrify -scale 10% "*.png"

如果您觉得速度太慢有问题,请尝试:

MAGICK_TEMPORARY_PATH=/run/shm nice mogrify -scale 10% "*.png"

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在没有注释/类的情况下将测试用例的实例添加到junit4测试套件中   借助Spring的AbstractBeanDefinition的反射实现java序列化   java哈希如何推送新建和更新当前   需要java中数组的帮助吗   java Spring MVC:在tomcat中的@ResponseBody异常处理程序上使用@ResponseStatus(reason='')   java洗牌图像视图位置   java发送邮件日期正则表达式   java使用Play框架在数据库中查找单个对象   java在jsp中显示查询结果:表字段问题   java显示xml以获得正确的视图   基于MVC的GUI中模型间的java通信   java中的多线程简单线程问题   java我需要从另一个方法调用一个数组,然后使用它   java平滑径向梯度   java如何检查在另一个数组中找到的特定字符串的数组中的值?   我在EclipseJavaAndroid中没有看到命令窗口