O Windpowerlib é uma biblioteca que fornece um conjunto de funções e classes para calcular a potência de turbinas eólicas. Originalmente, fazia parte do feedinlib (força eólica e fotovoltaica), mas foi retirada para construir uma comunidade concentrando -se em modelos de energia eólica.
Para começar rápido, consulte os exemplos e a seção de uso básico.
A documentação completa pode ser encontrada no ReadThEdocs.
Use o site do projeto do ReadThedocs para escolher a versão da documentação. Vá para a página de download para baixar versões e formatos diferentes (PDF, HTML, EPUB) da documentação.
Se você possui um ambiente Python 3 em funcionamento, use o Pypi para instalar a versão mais recente do Windpowerlib:
pip install windpowerlib
O Windpowerlib foi projetado para Python 3 e testado no Python> = 3.10. É altamente recomendável usar ambientes virtuais. Consulte a página de instalação da documentação OEMOF para obter instruções completas sobre como instalar o Python e um ambiente virtual no seu sistema operacional.
Para ver os gráficos do exemplo do Windpowerlib na seção Exemplos e Uso Básico, você deve instalar o pacote Matplotlib. Matplotlib pode ser instalado usando PIP:
pip install matplotlib
A maneira mais simples de executar os notebooks de exemplo sem instalar o Windpowerlib é clicar aqui e abri -los com o fichário.
O uso básico do Windpowerlib é mostrado no exemplo do ModelChain que está disponível como notebook Jupyter e Python Script:
Para executar o exemplo, você precisa de um exemplo de clima que seja baixado automaticamente e também pode ser baixado aqui:
Para executar os exemplos localmente, você precisa instalar o Windpowerlib. Para executar o notebook, você também precisa instalar notebook usando o PIP3. Para iniciar o Jupyter Notebook Type jupyter notebook no terminal. Isso abrirá uma janela do navegador. Navegue até o diretório que contém o notebook para abri -lo. Consulte o Jupyter Notebook Guide Quick Start para obter mais informações sobre como instalar e como executar o Jupyter Notebooks. Para reproduzir as figuras em um notebook, você precisa instalar o Matplotlib.
Outras funcionalidades, como a modelagem de parques eólicas e aglomerados de turbinas eólicas, são mostradas no exemplo turbineclustermodelchain. Como exemplo do ModelChain, ele está disponível como notebook Jupyter e como script Python. O clima usado neste exemplo é o mesmo que no exemplo do ModelChain.
Você também pode olhar para os exemplos na seção Exemplos.
O Windpowerlib fornece dados de muitas turbinas eólicas, mas também é possível usar seus próprios dados de turbinas.
O Windpowerlib fornece dados de turbinas eólicas (curvas de energia, alturas do cubo, etc.) para um grande conjunto de turbinas eólicas. Consulte Inicialize a turbina eólica na seção Exemplos sobre como usar esses dados em suas simulações.
O conjunto de dados é hospedado e mantido no banco de dados OpenEnergy (OEDB). Para atualizar seus arquivos locais com a versão mais recente da biblioteca de turbinas OEDB, você pode executar o seguinte no seu console Python:
from windpowerlib . data import store_turbine_data_from_oedb
store_turbine_data_from_oedb ()Se você encontrar sua turbina no banco de dados, é muito fácil usá -lo no 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 )Gostaríamos de incentivar qualquer pessoa a contribuir com a biblioteca da turbina adicionando dados de turbinas ou relatando erros nos dados. Veja o OEP para obter mais informações sobre como contribuir.
É possível usar sua própria curva de poder. No entanto, a maneira mais sustentável é nos enviar os dados a serem incluídos no Windpowerlib e estar disponível para todos os usuários. Isso pode não ser possível em todos os casos.
Supondo que os arquivos de dados se pareçam com o seguinte:
vento, energia 0,0,0.0 3.0.39000.0 5.0.270000.0 10.0.2250000.0 15.0.4500000.0 25.0.4500000.0
Você pode usar os pandas para ler o arquivo e passá -lo para o dicionário de turbinas. Eu tem conhecimento básico dos pandas, é fácil usar qualquer tipo de arquivo de dados.
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 )Consulte o ModelChain_Example para obter mais informações.
Estamos acolhedores a todos que desejam contribuir com o Windpowerlib. Se você estiver interessado em modelos eólicos e deseja ajudar a melhorar o modelo existente, não hesite em entrar em contato conosco via github ou e-mail ([email protected]).
Clone: https://github.com/wind-python/windpowerlib e instale o repositório clonado usando o PIP:
pip install -e /path/to/the/repositoryComo o Windpowerlib começou com os colaboradores do grupo de desenvolvedores OEMOF, usamos as mesmas regras do desenvolvedor.
Como criar uma solicitação de tração:
Geralmente, as seguintes etapas são necessárias ao mudar, adicionando ou removendo código:
pytestUsamos o projeto Zenodo para obter um DOI para cada versão. Pesquise o Zenodo pela citação certa da sua versão do Windpowerlib.
Copyright (c) 2019 OEMOF Grupo de Desenvolvedores
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.