WindPowerLib es una biblioteca que proporciona un conjunto de funciones y clases para calcular la potencia de salida de las turbinas eólicas. Originalmente era parte del FeedInlib (fuerza de viento y fotovoltaica), pero fue sacado para construir una comunidad que se concentra en los modelos de energía eólica.
Para un comienzo rápido, consulte los ejemplos y la sección de uso básico.
La documentación completa se puede encontrar en Readthedocs.
Use el sitio del proyecto de ReadThedocs para elegir la versión de la documentación. Vaya a la página de descarga para descargar diferentes versiones y formatos (PDF, HTML, EPUB) de la documentación.
Si tiene un entorno Python 3 en funcionamiento, use PYPI para instalar la última versión de WindPowerLib:
PIP Instale WindPowerLib
El WindPowerLib está diseñado para Python 3 y se prueba en Python> = 3.10. Recomendamos encarecidamente usar entornos virtuales. Consulte la página de instalación de la documentación OEMOF para obtener instrucciones completas sobre cómo instalar Python y un entorno virtual en su sistema operativo.
Para ver los gráficos del ejemplo de WindPowerLib en los ejemplos y la sección de uso básico, debe instalar el paquete matplotlib. Matplotlib se puede instalar utilizando PIP:
PIP Instalar matplotlib
La forma más sencilla de ejecutar los cuadernos de ejemplo sin instalar WindPowerLib es hacer clic aquí y abrirlos con Binder.
El uso básico del WindPowerLib se muestra en el ejemplo de ModelChain que está disponible como Notebook Jupyter y Script Python:
Para ejecutar el ejemplo, necesita un clima de ejemplo que se descargue automáticamente y también se puede descargar aquí:
Para ejecutar los ejemplos localmente, debe instalar WindPowerLib. Para ejecutar el cuaderno, también debe instalar el cuaderno con PIP3. Para iniciar el cuaderno Jupyter, escriba jupyter notebook en la terminal. Esto abrirá una ventana del navegador. Navegue al directorio que contiene el cuaderno para abrirlo. Consulte la Guía de inicio rápido de Jupyter Notebook para obtener más información sobre cómo instalar y cómo ejecutar los cuadernos Jupyter. Para reproducir las figuras en un cuaderno, debe instalar matplotlib.
En el ejemplo de la turbineclustermodelchain se muestran en el modelado de parques eólicos y grupos de turbinas eólicas. Como ejemplo de ModelChain, está disponible como Notebook Jupyter y como script de Python. El clima utilizado en este ejemplo es el mismo que en el ejemplo de ModelChain.
También puede mirar los ejemplos en la sección Ejemplos.
WindPowerLib proporciona datos de muchas turbinas eólicas, pero también es posible usar sus propios datos de turbina.
El WindPowerlib proporciona datos de turbina eólica (curvas de potencia, alturas de cubo, etc.) para un gran conjunto de turbinas eólicas. Consulte Inicializar la turbina eólica en la sección Ejemplos sobre cómo usar estos datos en sus simulaciones.
El conjunto de datos se aloja y se mantiene en la base de datos de OpenEnergy (OEDB). Para actualizar sus archivos locales con la última versión de la Biblioteca OEDB Turbine, puede ejecutar lo siguiente en su consola Python:
from windpowerlib . data import store_turbine_data_from_oedb
store_turbine_data_from_oedb ()Si encuentra su turbina en la base de datos, es muy fácil usarla en 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 )Nos gustaría alentar a cualquiera a contribuir a la biblioteca de turbinas agregando datos de turbina o errores de informes en los datos. Consulte el OEP para obtener más información sobre cómo contribuir.
Es posible usar su propia curva de potencia. Sin embargo, la forma más sostenible es enviarnos los datos que se incluirán en WindPowerLib y estarán disponibles para todos los usuarios. Esto puede no ser posible en todos los casos.
Suponiendo que los archivos de datos se ve así:
Viento, potencia 0.0,0.0 3.0,39000.0 5.0,270000.0 10.0,2250000.0 15.0,4500000.0 25.0,4500000.0
Puede usar pandas para leer el archivo y pasarlo al diccionario de turbina. Tengo conocimiento básico de Pandas, es fácil usar cualquier tipo de archivo de datos.
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 ModelChain_Example para obtener más información.
Estamos bien dando la bienvenida a todos los que quieran contribuir a WindPowerlib. Si está interesado en los modelos de viento y desea ayudar a mejorar el modelo existente, no dude en contactarnos a través de GitHub o correo electrónico ([email protected]).
Clon: https://github.com/wind-python/windpowerlib e instale el repositorio clonado usando PIP:
pip install -e /path/to/the/repositoryA medida que el WindPowerLib comenzó con los contribuyentes del Grupo OeMof Developer, utilizamos las mismas reglas de desarrollador.
Cómo crear una solicitud de extracción:
En general, se requieren los siguientes pasos al cambiar, agregar o eliminar el código:
pytestUtilizamos el proyecto Zenodo para obtener un DOI para cada versión. Busque en Zenodo la cita correcta de su versión WindPowerLib.
Copyright (c) 2019 OEMOF Developer Group
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "software"), para tratar en el software sin restricción, incluidos los derechos de los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicense y/o vender copias del software, y para permitir que las personas a quienes se les proporciona el software para hacer, sujeto a las siguientes condiciones: las siguientes condiciones: las siguientes condiciones: las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o porciones sustanciales del software.
El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluidas, entre otros, las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables de cualquier reclamo, daños u otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surge, de o en relación con el software o el uso u otros tratos en el software.