RQL's Blog 菜鸟成长记

python简介

2021-10-06
renql

最近开始转战python。虽然之前做过python课的助教,但真正要用的时候,还是有些不知所措。

作为解释型语言的python,相比于编译型语言Fortran,C+,速度比较慢,运行效率较低,不能脱离解释器独立运行,但可读性高。

相比于matlab,python免费。相比于ncl,同为解释型语言,python的优点在于各种开源库、机器学习框架、方便开发整合。

python的变量不需要提前申明,直接赋值就可以了,且可以随时改变变量的值和类型。在这一方面,python比fortran这些语言要方便些

气象常用python软件包

本人一开始拒绝使用python,也是因为他的包实在太多了,选择一多就容易选择困难,不如ncl来得简单方便,毕竟就那么几个函数。

但真的开始用python后,发现他虽然有很多软件包,但把每个包的主要功能了解清楚后,好像也没有那么难了。加上python的网上教程非常多,遇到什么问题,上网一搜就有答案。这一方面还是很好的

操作系统层面:

  • subprocess:在系统层面执行命令
  • os:改变路径
  • sys: 本人主要用于给python脚本传参
  • multiprocessing:Python中的多进程管理包。https://docs.python.org/zh-cn/3/library/multiprocessing.html

绘图:

数据处理:

  • WRF-python:主要用于wrf数据的读取,https://wrf-python.readthedocs.io/en/latest/basic_usage.html
  • Numpy: 数组与矩阵运算,主要数据结构就是N维同类型数组array,可以用array.shape, array.dtype查看数组结构和类型,https://www.runoob.com/numpy/numpy-tutorial.html
  • Pandas:基于Numpy的结构化数据分析工具,可以从 CSV、JSON、SQL、Microsoft Excel 导入数据,主要数据结构是 Series (一维数据)与 DataFrame(二维数据,是一个表格型的数据结构))
  • Xarray:主要数据结构 Variable, DataArray, Dataset, http://xarray.pydata.org/en/stable/user-guide/indexing.html
  • SciPy是一个依赖于Numpy的高端科学计算工具包,用于数学、科学、工程学等领域,包含的功能:最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等 官网User Guide中文教程源代码
  • functools:python高阶函数包,即参数或(和)返回值为其他函数

另外一些比较小众的气象软件包:

  • Iris:https://scitools-iris.readthedocs.io/en/latest/index.html , https://scitools.org.uk/iris/docs/v2.4.0/userguide/index.html
  • cf-plot:https://ajheaps.github.io/cf-plot/ , https://ncas-cms.github.io/cf-python/tutorial.html

这两个是我英国雷丁大学导师推荐的软件包,可以说是专门为气象领域涉及的。我尝试了一下cf-plot画图,确实很方便,一句代码就可以出图,不需要自己手动添加地形、经纬度坐标等等。他在存图的时候竟然不能有路径,而且在什么路径下运行程序,图就存在什么路径下,且存成pdf时不能多页存储,我也是惊了。而且这个怎么画河流山地等信息呢?
缺点:比较小众,网上关于这方面的教程也比较少
优点:出图方便,代码简洁,适合快速查看气象数据
cfplot:查看文件变量的方法 cfa

网上的学习例子

matplotlib简要介绍: https://blog.mazhangjing.com/2018/02/28/learn_matplotlib/#1-matplotlib%E7%AE%80%E8%A6%81%E4%BB%8B%E7%BB%8D


支持 支付宝鼓励 鸡腿鸡腿

喜欢此文!

Content