到eccodes grib和bufr解码器/编码器的python接口
eccodes-python的Python项目详细描述
Python3接口,通过 ECMWF ecCodes library。
功能:
- 读取和写入GRIB 1和2文件,
- 读取和写入bufr 3和4文件,
- 支持所有现代版本的Python3.7、3.6、3.5和PyPy3,
- 在大多数linux发行版和macos上工作,eccodec-library是唯一的系统依赖,
- 不需要编译就可以安装pypi包, 代价是比原来的eccodes模块慢一倍,
- 可选的编译步骤使代码与原始模块一样快 但它需要eccodes>;=2.13.0的最新版本。
限制:
- Microsoft Windows支持未经测试。
安装
从pypi安装软件包时使用:
$ pip install eccodes-python
系统依赖性
python模块依赖于ecmwfeccodes库 必须安装在系统上并作为共享库访问。
在带有自制程序的MacOS上使用:
$ brew install eccodes
或者如果使用conda管理二进制包,请使用:
$ conda install -c conda-forge eccodes
作为替代方案,您可以安装正式的源发行版 按照以下说明 https://software.ecmwf.int/wiki/display/ECC/ecCodes+installation
您可以运行一个简单的selfcheck命令来确保您的系统设置正确:
$ python -m eccodes selfcheck Found: ecCodes v2.13.0. Your system is ready.
使用量
请参阅eccodedocumentation pages 供使用。
实验功能
快速绑定
为了测试更快的cffiapi级别,离线模式需要eccode 头文件。 然后,您需要将repo克隆到与源树eccodes相同的文件夹中, 进行pipdevelopment安装并自定义编译二进制绑定:
$ git clone https://github.com/ecmwf/eccodes-python $ cd eccodes-python $ pip install -e . $ python builder.py
要恢复到ABI级别,请删除编译的绑定:
$ rm gribapi/_bindings.*
项目资源
Development | https://github.com/ecmwf/eccodes-python |
Download | https://pypi.org/project/eccodes-python |
Code quality |
贡献
主存储库托管在github上, 我们非常欢迎并感谢您的测试、错误报告和贡献:
https://github.com/ecmwf/eccodes-python
请参阅contribution.rst文档以获得最佳帮助。
主要开发人员:
另请参见contributors列表 他参加了这个项目。
许可证
版权所有2017-2019欧洲中期天气预报中心(ECMWF)。
根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在http://www.apache.org/licenses/LICENSE-2.0获得许可证副本。 除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。
eccodes python的变更日志
0.9.2(2019-07-09)
- 所有eccode测试现在都通过了
- 简化xx-new-from-u文件调用
- grib_set_string_数组的修复方法
- 使用eccodes_dir定位库
- 删除新样式的高级接口。它仍在 cfgrib。
0.9.1(2019-06-06)
- codes_get_long_array和codes_get_double_array现在返回一个np.ndarray。 见:#3。
0.9.0(2019-05-07)
- 将项目声明为beta。
0.8.0(2019-04-08)
- 首次公开发行。