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開發人員組
特此免費授予獲得此軟件副本和相關文檔文件副本(“軟件”)的任何人,以無限制處理該軟件,包括無限制的使用權,複製,複製,修改,合併,合併,發布,分發,分發,分發,訂婚,和/或允許軟件的副本,並允許對以下條件提供以下條件,以下是以下條件。
上述版權通知和此許可通知應包含在軟件的所有副本或大量部分中。
該軟件是“原樣”提供的,沒有任何形式的明示或暗示保證,包括但不限於適銷性,特定目的的適用性和非侵權的保證。在任何情況下,作者或版權持有人都不應對任何索賠,損害賠償或其他責任責任,無論是在合同,侵權的訴訟中還是其他責任,是由軟件,使用或與軟件中的使用或其他交易有關的。