跳转到主要内容

为Hector简单气候模型提供的Python封装

项目描述

PyPI Version

PyPI Python Versions

Docs

Launch Binder

JOSS

Zenodo

pyhector 是简单全球气候碳循环模型 Hector 的Python接口。

pyhector 使得简单气候模型Hector可以从Python轻松安装和使用,例如,它可以用于缓解情景的分析、综合评估模型、复杂气候模型仿真和不确定性分析。

Hector 使用C++编写,并由 太平洋西北国家实验室 开发。

有关更多信息,请参阅Hector 存储库文档网站

Python接口 pyhectorSven WillnerRobert Gieseke 开发。

Pyhector 使用 pybind11 来封装 Hector 的 API。所使用的 Hector 版本可以通过 Pyhector 的 __hector_version__ 字段读取。

安装

先决条件

Hector 需要 Boost,因此要安装和使用 pyhector,您需要安装 Boost 的文件系统模块和系统模块(也请参阅 Hector 构建说明)。

在 Ubuntu/Debian 上,可以通过调用以下命令安装这些模块:

sudo apt-get install libboost-filesystem-dev libboost-system-dev

在 macOS 上,Boost 通过 Homebrew 软件包管理器提供,建议使用通过 Homebrew 安装的 Python 来安装 pyhector

brew install boost

Windows 在原则上支持(与 Hector 一样),但尚未对 pyhector 进行测试。欢迎提供关于 Windows 的安装说明的拉取请求。

使用 pip 安装

您可以通过调用以下命令从 PyPI 安装 pyhector

pip install pyhector

用法

此存储库还包含一个您可以在 Jupyter Notebook 中运行和实验的 实时版本,由 Binder 项目提供。您可以使用 nbviewer 将笔记本视为 静态版本

基本示例

import pyhector

output = pyhector.run(pyhector.ssp126)

高级示例

import pyhector
import matplotlib.pyplot as plt
from pyhector import ssp119, ssp126, ssp245, ssp370, ssp434, ssp460, ssp534_over, ssp585

for ssp in [ssp119, ssp126, ssp245, ssp370, ssp434, ssp460, ssp534_over, ssp585]:
    output = pyhector.run(ssp, {"core": {"endDate": 2100}})
    temp = output["temperature.global_tas"]
    temp = temp.loc[1850:] - temp.loc[1850:1900].mean()
    temp.plot(label=ssp.name)
plt.title("Global mean temperature")
plt.ylabel("°C over pre-industrial (1850-1900 mean)")
plt.legend(loc="best")
plt.show()
Temperature Plot of RCP scenarios

开发

对于本地开发,您可以克隆存储库,更新依赖关系,并使用 pip 在虚拟环境中安装。

git clone https://github.com/openclimatedata/pyhector.git --recursive
cd pyhector
python3 -m venv venv
./venv/bin/pip install --editable --verbose .

要更新 pyhector 和所有子模块,您可以运行:

git pull --recurse-submodules
git submodule update --init --recursive
./venv/bin/pip install --editable .

可以通过以下方式在本地运行测试:

python setup.py test

项目详情


下载文件

根据您的平台下载文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

pyhector-3.2.0.0.tar.gz (5.6 MB 查看哈希值

源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面