简单气候模型magicc的python包装器
pymagicc的Python项目详细描述
PyMagicc
PyMaGICC是一个围绕复杂气候模型的Python包装器 MAGICC6。它包装了CC-BY-NC-SA许可证 MAGICC6 binary。pymagicc本身就是agpl许可的。
温室气体引起的气候变化评估模型 广泛应用于气候政策分析中未来排放途径的评估, 例如,在 政府间气候变化专门委员会或在综合评估模型中模拟气候变化的物理方面。
pymagicc使magicc模型易于从python安装和使用,并允许直接从python轻松修改所有magicc模型参数和排放场景。 例如,在气候研究中,它可用于缓解情景分析、综合评估模型、复杂气候模型仿真、不确定性分析以及气候科学教育和传播。
有关详细信息,请参见www.magicc.org和Meinshausen et al. 2011。
基本用法
importpymagiccfrompymagiccimportscenariosimportmatplotlib.pyplotaspltforname,sceninscenarios.items():results,params=pymagicc.run(scen,return_config=True)temp=(results["SURFACE_TEMP"].GLOBAL.loc[1850:]-results["SURFACE_TEMP"].GLOBAL.loc[1850:1900].mean())temp.plot(label=name)plt.legend()plt.title("Global Mean Temperature Projection")plt.ylabel(u"°C over pre-industrial (1850-1900 mean)")# Run `plt.show()` to display the plot when running this example# interactively or add `%matplotlib inline` on top when in a Jupyter Notebook.
有关更多示例用法,请参见Jupyter Notebook。 由于有了Binder project,Notebook可以运行和修改,而无需在本地安装任何东西。使用jupyter笔记本的小型交互式demo app 也可以使用。
安装
pip install pymagicc
在Linux和OS X上,可在 http://www.magicc.org/并包含在pymagicc中 可以使用Wine运行。
在现代64位系统中,需要使用32位版本的Wine
sudo dpkg --add-architecture i386
sudo apt-get install wine32
在32位系统上,基于debian/ubuntu的系统wine
可以用
sudo apt-get install wine
在OS X上,wine
可在自制包管理器中找到:
brew install wine
它也应该可以在其他包管理器中使用,也可以直接从Wine project获得。
注意,在第一次安装之后,pymagicc的第一次运行可能会很慢,因为
设置wine
配置并伴随弹出窗口或
调试输出。
要使用jupyter notebook和python 3运行示例会话,可以运行 以下命令创建虚拟环境并安装 本地开发的可编辑版本:
git clone https://github.com/openclimatedata/pymagicc.git
cd pymagicc
make venv
./venv/bin/pip install --editable .
./venv/bin/jupyter-notebook notebooks/Example.ipynb
开发
对于本地开发,请从pymagicc存储库的克隆或下载中安装依赖项和pymagicc的可编辑版本,方法是
make venv
./venv/bin/pip install --editable .
要运行测试,请运行
./venv/bin/pytest tests --verbose
要跳过运行magicc并花费更长时间的测试,请使用
./venv/bin/pytest tests --skip-slow
要获取测试覆盖率报告,请运行
./venv/bin/pytest --cov
为了统一编码风格,使用了black。
要格式化pymagicc
和tests
以及setup.py
中的文件,请运行
make black
更多用法示例
使用包含的场景
frompymagiccimportrcp26rcp26["WORLD"].head()
阅读magicc场景文件
frompymagiccimportread_scen_filescenario=read_scen_file("PATHWAY.SCEN")
创建新方案
pymagicc使用pandas数据帧来表示场景。字典是 用于具有多个区域的方案。
importpandasaspdscenario=pd.DataFrame({"FossilCO2":[8,10,9],"OtherCO2":[1.2,1.1,1.2],"CH4":[300,250,200]},index=[2010,2020,2030])
为场景运行magicc
output=pymagicc.run(scenario)# Projected temperature adjusted to pre-industrial meantemp=(output["SURFACE_TEMP"].GLOBAL-output["SURFACE_TEMP"].loc[1850:2100].GLOBAL.mean())
使用不同的magicc版本
magicc的自定义版本可以与使用
MAGICC_EXECUTABLE_6
和MAGICC_EXECUTABLE_7
magicc6的环境变量
和magicc7。这些环境变量应设置为
magicc可执行文件的位置(对于linux/mac,可以是magicc
),或者
magicc.exe
对于windows)。
例如,位于/tmp/magicc
的自定义magicc7文件夹可以用于
在Linux下,通过将MAGICC_EXECUTABLE_7
设置为/tmp/magicc/run/magicc
。
bash中的示例用法:
MAGICC_EXECUTABLE_7=/tmp/magicc/run/magicc.exe python run_tests.py
或者在脚本中:
#!/bin/bashexportMAGICC_EXECUTABLE_7=tmp/magicc/run/magicc.exe python run_tests.py python generate_plots.py
贡献
请报告问题或讨论PyMagicc的功能请求 issue tracker。
您也可以通过电子邮件联系pymagicc
作者
robert.gieseke@pik-potsdam.de。
许可证
汤姆·维格利的compiled MAGICC binary, Sarah Raper和Malte Meinshausen包含在这个包中,是根据Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License授权的。
包装器是GNU Affero General Public下的免费软件 许可证v3,请参见LICENSE。
如果你做的话使用magicc,请引用:
M. Meinshausen, S. C. B. Raper and T. M. L. Wigley (2011). "Emulating coupled atmosphere-ocean and carbon cycle models with a simpler model, MAGICC6: Part I "Model Description and Calibration." Atmospheric Chemistry and Physics 11: 1417-1456. doi:10.5194/acp-11-1417-2011
另请参见MAGICC website和 Wiki 了解更多信息。