WindPowerLib是一个提供一组功能和类来计算风力涡轮机功率输出的库。它最初是FeedInlib(风力和光伏)的一部分,但被取出以建立一个专注于风能模型的社区。
对于快速启动,请参见示例和基本用法部分。
可以在ReadThedocs找到完整的文档。
使用ReadThedocs的项目网站选择文档的版本。转到下载页面以下载文档的不同版本和格式(PDF,HTML,EPUB)。
如果您有一个工作的Python 3环境,请使用PYPI安装最新的Windpowerlib版本:
PIP安装Windpowerlib
WindPowerLib是为Python 3设计的,并在Python上进行了测试> = 3.10。我们强烈建议使用虚拟环境。请参阅OEMOF文档的安装页面,以获取有关如何在操作系统上安装Python和虚拟环境的完整说明。
要在示例和基本用法部分中查看Windpoperlib示例的图,请安装Matplotlib软件包。可以使用PIP安装matplotlib:
PIP安装matplotlib
运行示例笔记本的最简单方法而不安装WindPowerLib,请单击此处并使用活页夹打开它们。
Windpowerlib的基本用法显示在模型链示例中,该示例可作为Jupyter Notebook和Python脚本提供:
要运行示例,您需要自动下载的示例天气,也可以在此处下载:
要在当地运行示例,您必须安装WindPowerLib。要运行笔记本,您还需要使用PIP3安装笔记本。要在终端启动jupyter笔记本电脑键入jupyter notebook 。这将打开一个浏览器窗口。导航到包含笔记本以打开的目录。有关如何安装以及如何运行Jupyter笔记本电脑,请参见Jupyter Notebook快速启动指南。为了重现笔记本中的数字,您需要安装matplotlib。
在Turbineclustermodelchain示例中显示了其他功能,例如风电场和风力涡轮机簇的建模。作为模型链示例,它可以作为Jupyter笔记本电脑和Python脚本使用。此示例中使用的天气与模型链示例中使用的天气相同。
您还可以查看示例部分中的示例。
Windpowerlib提供了许多风力涡轮机的数据,但也可以使用自己的涡轮机数据。
WindPowerLib为大型风力涡轮机提供了风力涡轮机数据(功率曲线,集线器高度等)。请参阅示例中的初始化风力涡轮机,介绍如何在模拟中使用此数据。
该数据集托管并维护在Openenergy数据库(OEDB)上。要使用OEDB涡轮库的最新版本更新本地文件,您可以在Python控制台中执行以下内容:
from windpowerlib . data import store_turbine_data_from_oedb
store_turbine_data_from_oedb ()如果您在数据库中找到涡轮机非常容易在Windpowerlib中使用它
from windpowerlib import WindTurbine
enercon_e126 = {
"turbine_type" : "E-126/4200" , # turbine type as in register
"hub_height" : 135 , # in m
}
e126 = WindTurbine ( ** enercon_e126 )我们想鼓励任何人通过在数据中添加涡轮机数据或报告错误来为涡轮机库做出贡献。有关如何贡献的更多信息,请参见OEP。
可以使用自己的功率曲线。但是,最可持续的方法是向我们发送要包含在Windpowerlib中的数据,并适用于所有用户。在所有情况下,这都是不可能的。
假设数据文件看起来像这样:
风,力量 0.0,0.0 3.0,39000.0 5.0,270000.0 10.0,2250000.0 15.0,4500000.0 25.0,4500000.0
您可以使用大熊猫读取文件并将其传递给涡轮词典。我有对大熊猫的基本知识,很容易使用任何类型的数据文件。
import pandas as pd
from windpowerlib import WindTurbine , create_power_curve
my_data = pd . read_csv ( "path/to/my/data/file.csv" )
my_turbine_data = {
"nominal_power" : 6e6 , # in W
"hub_height" : 115 , # in m
"power_curve" : create_power_curve (
wind_speed = my_data [ "wind" ], power = my_data [ "power" ]
),
}
my_turbine = WindTurbine ( ** my_turbine_data )有关更多信息,请参见Modelchain_example。
我们热情欢迎所有想为Windpowerlib做出贡献的人。如果您对风模型感兴趣并希望帮助改进现有模型,请随时通过github或email([email protected])与我们联系。
克隆:https://github.com/wind-python/windpowerlib,并使用PIP安装克隆的存储库:
pip install -e /path/to/the/repository当Windpowerlib从OEMOF开发人员组的贡献者开始时,我们使用了相同的开发人员规则。
如何创建拉动请求:
通常,在更改,添加或删除代码时需要以下步骤:
pytest我们使用Zenodo项目为每个版本获取DOI。搜索Zenodo以获取WindPowerLib版本的正确引用。
版权(C)2019 OEMOF开发人员组
特此免费授予获得此软件副本和相关文档文件副本(“软件”)的任何人,以无限制处理该软件,包括无限制的使用权,复制,复制,修改,合并,合并,发布,分发,分发,分发,订婚,和/或允许软件的副本,并允许对以下条件提供以下条件,以下是以下条件。
上述版权通知和此许可通知应包含在软件的所有副本或大量部分中。
该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人都不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权的诉讼中还是其他责任,是由软件,使用或与软件中的使用或其他交易有关的。