背景:
作为一个气象er,在本科时期一直使用Fortran处理数据配合GrADs绘制图像,研究生期间改为MATLAB处理数据配合NCL绘制空间场+Origin绘制时间场。由于NCL在去年已经停止了更新,Python在机器学习和AI的背景下特别火,其能调用MATLAB、CDO、NCO等软件进行混合编程的能力打动了我。于是,我觉得背向NCL、面向Python。
环境配置
这里我参考并且向@摸鱼黑 大佬请教了很多知识,这里再次感谢一下大佬对于萌新的耐心指点。我在大佬的文章中第一次接触了jupyter notebook,由于刚开始安装设计到conda环境的理解,第一天我便在安装conda的路上一直折腾着,后来通过修改环境源解决了无法连接的问题,顺利安装好了Python3.7 环境和jupyter notebook。这里大佬也给了我很多指点,并且让我理清了思路,再次感谢。
Python的使用感受
初极狭、才通人
刚开始使用Python的时候还是有点吃力,首先在数据计算上不如MATLAB一样可以直接使用函数,Python通过Import的方式导入各种各样的包和库来统一配置,这一点有点像MATLAB的包一样。但不同的是Python的包使用Conda来安装特别方便,直接解决了各种包通过Pip安装时会互相打架或者版本高低的问题,这一点十分方便。
Python的语法其实有点像C++,但因为很多年不用C++,刚开始从MATLAB转过来处理数据还是有点懵逼,幸亏直接接触过NCL,不然每次数据从0还是1开始索引都要想半天。
复行数十步,豁然开朗
一开始接触Python还是通过学习@摸鱼黑 大佬写的教程,这让我进步很快,在国外的stack论坛上也是高手如云,讨论激烈。Python让NCL连尾气都吃不到的高明之处就在于Python打通了多学科的融合,通过谷歌可以轻松搜索到你想要的东西和你遇到的问题如何解决。这里不得不提一下百度了,搜索下来都是各种广告…………
Python的开源的优点太过于明显,现在NCL也有了适配Python的包(PyNGL),以后基本一个Python也就够了。
最后说一下遗憾
之前用MATLAB处理大型数据时因为可以打开并行运算,总体运算速度虽然不如Fortran那么快,但是考虑到编程时总体时间也还能接受。
Python的话有一个奇怪的地方就是CPU占用一直很低,只25%上下,导致速度拉夸,并且我也没找到如何在Linux中开启并行计算的方法,所以计算速度慢也算美中不足的一个地方吧。
总结
Python真香
网友评论