添加新云天气象主编微信或QQ:130188121,及时获取或发布气象升学、就业、会议、征稿及学术动态等信息!
为了帮助大家从NCL迁移到Python,开发者也是想尽了办法啊,最近有发起了新的项目-GeoCAT Examples[1],提供了很多的与NCL网站示例脚本对应的Python脚本,旨在帮助大家从NCL逐步迁移到Python。
此外,还创建了另一个项目:geocat-viz[2],提供了不少用于画图的工具函数。
在提供了的很多Python绘图示例脚本中,目前尚存在不足的是NCL中curly vector图的绘制。如下图所示:
左为Python绘制,右为NCL绘制. 左图为截图.
可见,matplotlib所绘制的quiver图,矢量箭头没有NCL的流线型,但这个问题后面可能会通过matplotlib上游贡献解决。
其余的图python基本都能够很容易的实现。更多示例,大家去官方网站看吧,这里就不多说了。
或通过如下命令创建示例脚本环境,直接上手:
conda create -c conda-forge -c ncar -n geocat-examples python=3 geocat-comp geocat-datafiles geocat-viz=2020.2.18.1 netcdf4 matplotlib cartopy jupyter
左为Python,右为NCL绘制
附:
官方提供的图片大小不一致,为了将Python和NCL的图片进行拼接,本文处理图片用到了ImageMagic的两个命令:
•identify:获取图片的尺寸信息
•convert:改变图片尺寸,并进行图片拼接
使用如下命令分别获取Python和NCL绘制的图的图片尺寸
identify xy_18_lg.png
xy_18_lg.png PNG 700x472 826x827+66+66 8-bit sRGB 163813B 0.000u 0:00.000
然后将大的图进行缩小,使用如下命令:
convert -resize 826x827+66+66 sphx_glr_NCL_xy_18_001.png pyxy.png
最后,将两个图片进行水平拼接:
convert +append pyxy.png xy_18_lg.png pyncl_xy.png
好了,收工。
参考链接
[1] GeoCAT Examples: https://geocat-examples.readthedocs.io/en/latest/index.html
[2] geocat-viz: https://github.com/NCAR/geocat-viz
往期回顾
背向NCL,面向对象
气象领域最强Python教程
气象人开发的高级科学绘图库Proplot!
往期回顾:
"新云天气象"上《湛江日报》《湛江文明网》啦!
广东省教育厅官网报道“新云天气象”开展网络招聘和考研辅导工作
2020年全国第二场大气类网络招聘会来了!
新云天气象公众号联系人微信/QQ:130188121
2020大气与海洋春季招聘会QQ群:346577427
2021届气象本科考研与就业QQ群:639522239
世界气象日活动&21气象就业QQ群:696948743