在grib、netcdf和bufr中绘制气象数据的python接口。

Magics的Python项目详细描述


magics是ecmwf最新一代的气象绘图软件,可以是 直接通过其python或fortran接口或使用metview访问。

Travis BuildAppveyor Build

功能:

  • 支持等高线、风场、观测、卫星图像、符号、文本、轴和图形(包括箱形图)
  • 可以绘制GRIB 1和GRIB 2编码数据、高斯网格、规则间隔网格和拟合数据

限制:

  • 开发阶段:alpha

安装

从pypi安装软件包时使用:

$ pip install Magics

系统依赖性

python模块依赖于ecmwfmagics库 必须安装在系统上并作为共享库访问。 一些linux发行版附带了一个二进制版本,可以与标准包管理器一起安装。 在ubuntu 18.04上使用以下命令:

$ sudo apt-get install libmagplus3v5

作为替代方案,您可以安装正式的源发行版 按照以下说明 https://software.ecmwf.int/magics/Installation+Guide

注意,magics对windows操作系统的支持是实验性的。

您可以运行一个简单的selfcheck命令来确保您的系统设置正确:

$ python -m Magics selfcheck
Found: Magics '4.0.0'.
Your system is ready.

用法

首先,你需要一个格式良好的grib文件,如果你手头没有,你可以下载我们的 2m温度grib文件:

$ wget http://download.ecmwf.int/test-data/magics/2m_temperature.grib

您可以在python解释器中试用高级api:

from Magics import macro as magics

name = 'magics'
#Setting of the output file name
output = magics.output(output_formats = ['png'],
             output_name_first_page_number = "off",
             output_name = "magics")

#Import the  data
data =  magics.mgrib(grib_input_file_name  = "2m_temperature.grib", )

#Apply an automatic styling
contour = magics.mcont( contour_automatic_setting = "ecmwf", )
coast = magics.mcoast()
magics.plot(output, data, contour, coast)

运行测试程序将创建一个名为magics.png的png

您可以找到笔记本示例: https://github.com/ecmwf/notebook-examples/tree/master/visualisation

贡献

主存储库托管在github上, 我们非常欢迎并感谢您的测试、错误报告和贡献:

https://github.com/ecmwf/magics-python

请参阅contribution.rst文档以获得最佳帮助。

主要开发人员:

主要贡献者:

许可证

版权所有2017-2018欧洲中期天气预报中心(ECMWF)。

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在http://www.apache.org/licenses/LICENSE-2.0获得许可证副本。 除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java什么会导致程序在它似乎拥有的监视器上被阻止?   java Android studio设置视图的背景色   java我可以保存一个文本文件而不给用户修改它的能力吗?   pdfbox PDFBOX2。0:java堆堆栈错误   java是维护和操作AllowList的有效方法   JAVAsql。SQLException:找不到适合jdbc的驱动程序:mysql://localhost:3306/asd性爱   如何使用java。lang.NullPointerException:void 安卓。支持v7。应用程序。ActionBar。setElevation(float)“”在空对象引用上'   java调试空指针异常   java正则表达式,以按令牌的特定匹配项拆分,同时忽略其他匹配项   java为JPanel设置边框上的笔划   并发@Schedule方法的java行为   如何在Java中使用泛型与语言运算符和泛型类扩展数   java Rhino Javascript如何为异常堆栈跟踪标记字符串源   运行可执行jar时发生java错误,无法找到或加载主类