爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 21018|回复: 17

[经验总结] 为何气象人要学学Python

[复制链接]

新浪微博达人勋

发表于 2020-8-5 15:05:20 | 显示全部楼层 |阅读模式

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

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

x
      从Fortran和Grades配合处理数据及可视化转向python已经半年时间。对于气象专业的同学,Python最大的好处就是它可以处理数据和可视化在同一脚本里面完成(虽然matlab也可以做到),但matlab毕竟咱们大多用的都是破解版的软件,发文章时候如果被追究起来搞不好还可能惹上官司。有同学还可能会说我用NCL也很快乐。是的,我不反对!可是,现在NCL已经决定不更新了,不更新意味着它迟早会落后,很多新的东西,新的分析方法将不会再出现在NCL里,而且python只需通过PYNIO以及PYNGL的库就可以实现把NCL 的大部分功能移植过来,往后还会有专门的团队继续完善这两个库。 python属于开源的软件,换句话说它就是一个可以白嫖的软件,不用担心会存在版权的问题。       但是,任何一种程序语言都会有自身的优缺点,python也不例外。Python属于一门高级语言,与底层语言Fortran,C+这些不同,python很多功能都是通过调用某个库或者函数实现,且对于需要循环迭代较多的代码,python就会略显劣势(底层语言最不怕循环)。另外,python处理气象海洋方面的数据也是不太够成熟,部分效果还无法实现(但是这种情况遇到的概率就像你手里揣着50块钱去到超市还买不起一款好看的冰淇凌一样)。
       补充:以上纯为个人观点,如果你的导师指定让你学习非python外的某一门语言,还是听导师的。毕竟老师那里可能已经有许多现成的可以直接使用的脚本。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-8-6 04:09:31 | 显示全部楼层
不敢苟同,Python处理站点和格点数据还是很方便的
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

发表于 2020-8-6 11:03:26 | 显示全部楼层
技多不压身,任何语言都存在各种各样的缺点,不需要捧一个踩一个,Fortran很快,但Fortran的变量声明和代码的可读性(够吐 999、够吐 10,呵呵)我觉得已经够我喝一壶了。python因为自身特征,在计算、特别是循环速度存在一定短板这个是从Python2一直以来都有的问题,SciPy全家桶的出现以及Python迭代进入版本3之后,科学计算的问题已经大有改善,最重要我不用重复做轮子,之前我在fortran上要花一周才能弄好的工作,比如整理站点资料,Pandas+numpy一套组合拳一天就搞定了,因为很多功能我可以直接调库。
计算机语言是为了解决工作问题的,哪个方便用哪个就好。
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 2020-8-7 21:35:47 | 显示全部楼层
赞一个
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2020-8-8 09:23:58 | 显示全部楼层
本帖最后由 zane 于 2020-8-8 09:31 编辑

咸鱼青菜,各有所爱吧NCL是针对大气科学的软件,处理数据方便(比如这个函数 poisson_grid_fill)和画图有美感。尽管停更了,但是目前的功能也足够一直使用下去了。如果我一开始学的是NCL,我估计也不会后来学python。
之前一直用matlab软件,没什么感觉,只是觉得它保存图慢,图不能裁剪多余空白的(安装的export_fig不好用)。
但是后来转用python,发现它尽管要加载很多库,但是那些库真的好用。满足了我对保存图片的要求。还有特别是xarray对nc数据的读取。


所以已经用matlab了还是用matlab吧,毕竟受众多,同学老师给的现成代码多。而转python的学习成本真的不可忽略,除非你有像疫情期间那样相对闲的时间。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-8 10:16:23 | 显示全部楼层
python和matlab都用,优点不少,说些python的缺点吧:
1. python计算速度不及matlab,多层循环慢得要命(matlab稍微好点);
2. matlab帮助文档和图形交互完爆python;
3. python安装有些库太麻烦,会出现库互相冲突、安装不上、操作系统不兼容等现象
4. 实现同样一个功能有时可以使用好几种库,在抉择心仪库的时候经常花费不少时间精力。

密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-8 10:27:41 | 显示全部楼层
tanyueye 发表于 2020-8-8 10:16
python和matlab都用,优点不少,说些python的缺点吧:
1. python计算速度不及matlab,多层循环慢得要命(m ...

确实,python的库管理起来确实很烦,尽管anaconda提供了较好的解决方案,但是由于墙的原因,都要用国内镜像源才好下载库,但是非常容易导致库的版本不兼容,很难解决。。。。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-8 10:30:47 | 显示全部楼层
tanyueye 发表于 2020-8-8 10:16
python和matlab都用,优点不少,说些python的缺点吧:
1. python计算速度不及matlab,多层循环慢得要命(m ...

3和4深有体会,有时候还需要把目标库所依赖的依赖库的版本降低,才可以安装成功,但往往又不知道是众多依赖库的哪一个需要更换版本,大量的精力用在这里,毫无意义。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-8 10:44:36 | 显示全部楼层
好久不见 发表于 2020-8-8 10:27
确实,python的库管理起来确实很烦,尽管anaconda提供了较好的解决方案,但是由于墙的原因,都要用国内镜 ...

是的,用好python还需要科学上网
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-8-8 10:49:35 | 显示全部楼层
气象科研专精某个领域,不管grads、NCL还是matlab这种的必须要精通一种,其他情况最好学下python
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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