爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 164440|回复: 112

[经验总结] Python气象绘图Day-By-Day

  [复制链接]

新浪微博达人勋

发表于 2017-6-9 18:09:52 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 edwardli 于 2017-6-13 10:02 编辑

工作繁事多,先上结果供交流,回头不断细化。


我的提纲:
        气象绘图→科学绘图→Python可视化over(这个过程肯定也会把数据处理搞定)
        python客户端程序→爬虫→深度学习

Python气象绘图研究目录
数据使用上遵循“实况的用MICAPS(高空、地面、探空),其他的都用grib/nc”
站点资料
地面填图MICAPS第1类
高空填图MICAPS第2类
离散点填值MICAPS第3类
格点资料
等值线contourgrib2+nc+MICAPS第4类
填值gridgrib2+nc+MICAPS第4类
栅格grib2+nc+MICAPS第4类
色斑图contourfgrib2+nc+MICAPS第4类
风场barbsgrib2+nc+MICAPS第11类
流场streamplotgrib2+nc+MICAPS第11类
其他资料标称云图HDF
云图-图像产品AWX
雷达基数据level2 
雷达产品level3 
辅助天气图探空图MICAPS第5类
Meteogram时间序列图grib2+nc+MICAPS第4类
时间垂直剖面grib2+nc+MICAPS第4类
空间垂直剖面grib2+nc+MICAPS第4类
时间水平剖面 QQ截图20170610082148.png grib2+nc+MICAPS第4类
三维等值面grib2+nc+MICAPS第4类
集合预报sav+grib
科学绘图折线Lines颜色控制cmap
散点bars多幅叠加subplot
标记markers坐标轴控制
直方图histogram输出控制
箱线图boxplot文本标记text|label|annotatins
errorbar 
饼图pie 
极坐标polar 
三维绘图mplot3d
UVCDAT
 


                               
登录/注册后可看大图

                               
登录/注册后可看大图


DAY 0--6月3日-4日  学习Python语法没错,过了儿童节觉得自己长大了,用了五天时间学了Python可视化
{:lol:}DAY 1--6月5日    安装Python  numpy matplotlib  scipy  basemap  metpy cartopy→Windows7/10

IMG_6100.JPG

6月13号有“WINDOWS下安装Python气象绘图库StepByStep”
pygrib需要ECMWF的GRIB_API,但是是在linux下的,是个小盲区,悄悄绕过去(其实他更好用)
pyAOS也是一个很给力的气象库,隔段时间有时间了再搞
pyNGL和NIO搭配是NCL的Python版(我现在是这么想的)

{:lol:}DAY 2--6月6日    grib2转nc  绘制contour、contourf、barbs
IMG_6080.PNG
2016年7月19日02时500hPa高度场、风场   FNL-grib2
{:lol:}DAY 3--6月7日    用怀俄明大学和MICAPS第5类绘制探空图
IMG_6089.PNG tlnpmetpy.png

2017年6月7日08时北京站探空
上上图:怀俄明大学网络资料绘制   上图:MICAPS第5类数据(/high/tlogp)绘制
tlnpmatplotlib.png
发帖时才发现matplotlib自带一个skewT
{:lol:}DAY 4--6月8日    绘制Meteogram(时间序列图)
IMG_6098.PNG

{:lol:}DAY 5--6月9日    用MICAPS第一类数据绘制站点填图
st.png
北京、保定、邢台地面填图from MICAPS第1类数据(/surface/plot)
{:lol:}DAY 6--6月10日    优质资源:莫烦讲解matplotlib
讲解细致、条理清晰【他还讲了神经网格、机器学习!!!】http://v.youku.com/v_show/id_XMTcxNTk3NTQ2NA==.html?spm=a2hzp.8253876.0.0&f=28097045。另外一个搜库得来,scipy的“年度教程”http://v.youku.com/v_show/id_XNz ... 0.0&from=s1.8-1-1.2

{:lol:}DAY 7--6月11日    喝酒+打牌=high
{:lol:}DAY 8--6月12日    开发环境IDE的选择
        刚开始,直接安装Python3.6,然后用记事本创建.py文件,右键-Edit with IDLE,自带的IDE,就是个脚本编辑器,当然可以run
              优秀的Python版本 ① anaconda,带有很多库、编辑器、conda命令(和pip有的时候不相容)   ②Winpython   ③Python(x,y)
              优秀的IDE:Spyder Pycharm 这两个都和MATLAB很像,一边代码一边结果,可以查变量  Jupyter   Ipython
              个人建议:什么都行,就是个习惯问题。都装了肯定乱,先有一两个趁手的工具用着,回头熟悉了再选择升级


                               
登录/注册后可看大图


在这个节点——
        1、以上学习看似进度很快,是因为我觉得:有数据、能出图、可以微调一些属性就算“学会了”,将来想要仔细研究再下功夫。
        2、以上的学习有很多资源,多数不是中文的,最重要的是某个库的官方tutorial或documentation!!!
             在这些tutorial上有gallary有example,我就是下载某个示例code.py
             然后看懂数据是什么,怎么读的,数据有什么分隔符,几行几列,通过np的哪个函数赋值给对应的数组、集合、元组、字典…
             对于可用的数据比如grib2,那就直接读一下,对于tlnp还有站点这样的,从MICAPS里面先找几个站,把格式规范一下,F5,美美哒~
             地图方面,我既用了mpl_toolkits.basemap,也用了cartopy(最后一个地面站点的)。
        3、这样,你就懂了这个py的基本作用,回头再说整体数据格式转换、单位换算等等问题。
        4、当然,以上这些都是基于我对编程较为熟悉的基础,再看python的官方docs   https://docs.python.org/3/,英语不好的可以看看中文的http://www.pythondoc.com/pythontutorial3/index.html。对syntax进一步熟悉,对“(Python)一行顶过去五行”的yinba优势跪舔!~~~
        5、跟OLDLee一起来Python吧!~

评分

参与人数 8金钱 +71 贡献 +35 体力 +40 收起 理由
李四 + 1 很给力!
ygmandi + 1 很给力!
半_两_蘑_菇 + 4 很给力!
电视机 + 5 很给力!
南宫海语 + 10 + 5 很细致很强大!谢谢楼主!
Swallow + 10 赞一个!
言深深 + 20 + 10 + 40 很给力!
mofangbao + 20 + 20

查看全部评分

本帖被以下淘专辑推荐:

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2024-7-1 09:29:30 | 显示全部楼层
李四 发表于 2024-6-11 15:45
想请教一下,barbs绘制保留风向杆不绘制空心圈

QQ截图20240701092810.png
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-6-9 18:23:43 | 显示全部楼层
python 很强大
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-10 08:17:26 | 显示全部楼层
楼主的python玩得十分的6666, 有个小建议:使用pygrib模块可以直接处理grib2数据
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-10 09:19:57 | 显示全部楼层
先进~~~~

之前正要看Metpy怎么搞地面站填图,发现自动站的还需要地面高度订正,有点儿小烦,就搁置了
给前辈点赞
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-10 09:42:18 | 显示全部楼层
太赞了,给前辈点赞~那个入门指南的链接对我等小白真是有用!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-10 10:26:38 | 显示全部楼层
不错言简意赅
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-6-10 12:12:26 | 显示全部楼层
风之精灵 发表于 2017-6-10 08:17
楼主的python玩得十分的6666, 有个小建议:使用pygrib模块可以直接处理grib2数据

写了的。需要grib_api,对linux或者cygwin不熟(MAC os也行)。。。虽然之前一直用GrADs,也装过NCL。。。不管怎样,能处理数据出图即可~
PS.笔电要罢工,正打算换个MAC。多交流!~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-6-10 12:15:07 | 显示全部楼层
weinihou 发表于 2017-6-10 09:19
先进~~~~

之前正要看Metpy怎么搞地面站填图,发现自动站的还需要地面高度订正,有点儿小烦,就 ...

海平面气压订正就是了,公式也不麻烦。
说实话,我也是看着code示例,然后从MICAPS第一类数据凑得数据,调通了,然后再写的MICAPS第一类转metpy读取的文本格式。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-6-10 12:21:22 | 显示全部楼层
cat1106123 发表于 2017-6-10 09:42
太赞了,给前辈点赞~那个入门指南的链接对我等小白真是有用!

多交流
学习语言就是如此,框架都是一样的(变量、数组、表达式、循环…),只是语法问题。
看一遍官方的docs,基本也就知道大概了,然后在具体的应用中不断熟悉。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-6-10 12:22:44 | 显示全部楼层

主要是工作繁杂,要不也能像funny大神一样写点实际的教程什么的。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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