WindpowerLib هي مكتبة توفر مجموعة من الوظائف والفئات لحساب إخراج الطاقة لتوربينات الرياح. كان في الأصل جزءًا من Feedinlib (قوة الرياح والخلط الكهروضوئي) ولكن تم نقله لبناء مجتمع يركز على نماذج طاقة الرياح.
لبدء سريع ، انظر إلى الأمثلة وقسم الاستخدام الأساسي.
يمكن العثور على الوثائق الكاملة في ReadTheDocs.
استخدم موقع مشروع ReadTheDocs لاختيار إصدار الوثائق. انتقل إلى صفحة التنزيل لتنزيل الإصدارات والتنسيقات المختلفة (PDF ، HTML ، EPUB) من الوثائق.
إذا كان لديك بيئة بيثون 3 عاملة ، فاستخدم PYPI لتثبيت أحدث إصدار من WindpowerLib:
PIP تثبيت windpowerlib
تم تصميم WindpowerLib لـ Python 3 واختبارها على Python> = 3.10. نوصي بشدة باستخدام البيئات الافتراضية. يرجى الاطلاع على صفحة تثبيت وثائق OEMOF للحصول على إرشادات كاملة حول كيفية تثبيت Python وبيئة افتراضية على نظام التشغيل الخاص بك.
للاطلاع على مؤامرات مثال WindpowerLib في قسم الأمثلة وقسم الاستخدام الأساسي ، يجب عليك تثبيت حزمة Matplotlib. يمكن تثبيت matplotlib باستخدام PIP:
PIP تثبيت matplotlib
إن أبسط طريقة لتشغيل مثال دفاتر الملاحظات دون تثبيت WindpowerLib هي النقر هنا وفتحها باستخدام Binder.
يظهر الاستخدام الأساسي لـ WindpowerLib في مثال ModelChain المتاح ككمبيوتر محمول Jupyter و Python Script:
لتشغيل المثال ، تحتاج إلى مثال على الطقس الذي يتم تنزيله تلقائيًا ويمكن أيضًا تنزيله هنا:
لتشغيل الأمثلة محليًا ، يجب عليك تثبيت windpowerlib. لتشغيل دفتر الملاحظات ، تحتاج أيضًا إلى تثبيت دفتر الملاحظات باستخدام PIP3. لإطلاق دفتر Jupyter Type jupyter notebook في المحطة. هذا سوف يفتح نافذة المتصفح. انتقل إلى الدليل الذي يحتوي على دفتر ملاحظات لفتحه. راجع دليل Jupyter Notebook Quick Start لمزيد من المعلومات حول كيفية التثبيت وكيفية تشغيل دفاتر Jupyter. من أجل إعادة إنتاج الأشكال في دفتر ملاحظات ، تحتاج إلى تثبيت Matplotlib.
يتم عرض وظائف أخرى ، مثل نمذجة مزارع الرياح ومجموعات توربينات الرياح ، في مثال TurbineclusterModelchain. كمثال ModelChain ، فإنه متاح ككمبيوتر محمول Jupyter و Python Script. الطقس المستخدم في هذا المثال هو نفسه كما في مثال ModelChain.
يمكنك أيضًا إلقاء نظرة على الأمثلة في قسم الأمثلة.
يوفر WindpowerLib بيانات للعديد من توربينات الرياح ، لكن من الممكن أيضًا استخدام بيانات التوربينات الخاصة بك.
يوفر WindpowerLib بيانات توربينات الرياح (منحنيات الطاقة ، ارتفاعات المحور ، إلخ) لمجموعة كبيرة من توربينات الرياح. راجع تهيئة توربينات الرياح في قسم الأمثلة حول كيفية استخدام هذه البيانات في عمليات المحاكاة الخاصة بك.
يتم استضافة مجموعة البيانات وصيانتها على قاعدة بيانات OpenEnergy (OEDB). لتحديث ملفاتك المحلية بأحدث إصدار من مكتبة OEDB Turbine ، يمكنك تنفيذ ما يلي في وحدة التحكم 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.039000.0 5.0،270000.0 10.0،2250000.0 15.0،4500000.0 25.0،4500000.0
يمكنك استخدام Pandas لقراءة الملف ونقله إلى قاموس التوربينات. لدي معرفة أساسية بالباندا ، من السهل استخدام أي نوع من ملفات البيانات.
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 protected]).
استنساخ: https://github.com/wind-python/windpowerlib وتثبيت المستودع المستنسخ باستخدام PIP:
pip install -e /path/to/the/repositoryعندما بدأ WindpowerLib مع المساهمين من مجموعة Oemof Developer ، نستخدم نفس قواعد المطور.
كيفية إنشاء طلب سحب:
بشكل عام ، تكون الخطوات التالية مطلوبة عند التغيير أو إضافة أو إزالة الكود:
pytestنستخدم مشروع Zenodo للحصول على DOI لكل إصدار. ابحث في Zenodo عن الاقتباس الصحيح لإصدار indpowerlib الخاص بك.
حقوق الطبع والنشر (C) 2019 OEMOF Developer Group
يتم منح الإذن بموجب هذا ، مجانًا ، لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج") ، للتعامل في البرنامج دون تقييد ، بما في ذلك على سبيل المثال لا الحصر حقوق استخدام الأشخاص ونسخها ودمجها ودمجها وتوزيعها وتوزيعها على ما يلي:
يجب إدراج إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو" ، دون أي ضمان من أي نوع ، صريح أو ضمني ، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق واللياقة لغرض معين وعدم الانفجار. لا يجوز بأي حال من الأحوال أن يكون المؤلفون أو حاملي حقوق الطبع والنشر مسؤولاً عن أي مطالبة أو أضرار أو مسؤولية أخرى ، سواء في إجراء عقد أو ضرر أو غير ذلك ، ناشئة عن أو خارج البرنامج أو الاستخدام أو غيرها من المعاملات في البرنامج.