Windpowerlib adalah perpustakaan yang menyediakan serangkaian fungsi dan kelas untuk menghitung output daya turbin angin. Awalnya merupakan bagian dari feedinlib (Windpower dan Photovoltaic) tetapi diambil untuk membangun komunitas yang berkonsentrasi pada model tenaga angin.
Untuk mulai cepat, lihat contoh dan bagian penggunaan dasar.
Dokumentasi lengkap dapat ditemukan di Readthedocs.
Gunakan situs proyek ReadThedocs untuk memilih versi dokumentasi. Buka halaman unduhan untuk mengunduh versi dan format yang berbeda (pdf, html, epub) dari dokumentasi.
Jika Anda memiliki lingkungan Python 3 yang berfungsi, gunakan PYPI untuk menginstal versi windpowerlib terbaru:
PIP Pasang windpowerlib
Windpowerlib dirancang untuk Python 3 dan diuji pada python> = 3.10. Kami sangat merekomendasikan untuk menggunakan lingkungan virtual. Silakan lihat halaman instalasi dokumentasi OEMOF untuk instruksi lengkap tentang cara menginstal Python dan lingkungan virtual pada sistem operasi Anda.
Untuk melihat plot contoh windpowerlib di bagian contoh dan penggunaan dasar Anda harus menginstal paket matplotlib. Matplotlib dapat diinstal menggunakan PIP:
Pip Instal Matplotlib
Cara paling sederhana untuk menjalankan contoh notebook tanpa menginstal windpowerlib adalah dengan mengklik di sini dan membukanya dengan binder.
Penggunaan dasar windpowerlib ditampilkan dalam contoh ModelChain yang tersedia sebagai notebook Jupyter dan skrip Python:
Untuk menjalankan contoh, Anda memerlukan cuaca contoh yang diunduh secara otomatis dan juga dapat diunduh di sini:
Untuk menjalankan contoh secara lokal, Anda harus memasang windpowerlib. Untuk menjalankan buku catatan, Anda juga perlu menginstal notebook menggunakan PIP3. Untuk meluncurkan Jupyter Notebook jupyter notebook di terminal. Ini akan membuka jendela browser. Arahkan ke direktori yang berisi buku catatan untuk membukanya. Lihat Panduan Mulai Cepat Jupyter Notebook untuk informasi lebih lanjut tentang cara menginstal dan cara menjalankan Jupyter Notebooks. Untuk mereproduksi angka -angka dalam buku catatan, Anda perlu menginstal Matplotlib.
Fungsionalitas lebih lanjut, seperti pemodelan ladang angin dan kelompok turbin angin, ditunjukkan dalam contoh turbineclustermodelchain. Sebagai contoh ModelChain tersedia sebagai Jupyter Notebook dan sebagai skrip Python. Cuaca yang digunakan dalam contoh ini sama seperti pada contoh ModelChain.
Anda juga dapat melihat contoh -contoh di bagian Contoh.
Windpowerlib menyediakan data banyak turbin angin tetapi juga dimungkinkan untuk menggunakan data turbin Anda sendiri.
Windpowerlib menyediakan data turbin angin (kurva daya, ketinggian hub, dll.) Untuk satu set turbin angin yang besar. Lihat Inisialisasi Turbin Angin di bagian Contoh tentang cara menggunakan data ini dalam simulasi Anda.
Dataset di -host dan dipelihara pada basis data OpenEnergy (OEDB). Untuk memperbarui file lokal Anda dengan versi terbaru dari Pustaka Turbin OEDB, Anda dapat menjalankan yang berikut di konsol Python Anda:
from windpowerlib . data import store_turbine_data_from_oedb
store_turbine_data_from_oedb ()Jika Anda menemukan turbin Anda dalam database, sangat mudah untuk menggunakannya di 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 )Kami ingin mendorong siapa pun untuk berkontribusi ke perpustakaan turbin dengan menambahkan data turbin atau melaporkan kesalahan dalam data. Lihat OEP untuk informasi lebih lanjut tentang cara berkontribusi.
Dimungkinkan untuk menggunakan kurva daya Anda sendiri. Namun, cara yang paling berkelanjutan adalah mengirimi kami data untuk dimasukkan dalam windpowerlib dan tersedia untuk semua pengguna. Ini mungkin tidak mungkin dalam semua kasus.
Dengan asumsi file data terlihat seperti ini:
angin, kekuatan 0.0.0.0 3.0.39000.0 5.0.270000.0 10.0.2250000.0 15.0.4500000.0 25.0.4500000.0
Anda dapat menggunakan panda untuk membaca file dan meneruskannya ke kamus turbin. Saya memiliki pengetahuan dasar tentang panda, mudah untuk menggunakan file data apa pun.
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 )Lihat ModelChain_example untuk informasi lebih lanjut.
Kami menyambut dengan hangat semua yang ingin berkontribusi pada windpowerlib. Jika Anda tertarik pada model angin dan ingin membantu meningkatkan model yang ada, jangan ragu untuk menghubungi kami melalui github atau email ([email protected]).
Klon: https://github.com/wind-python/windpowerlib dan instal repositori yang dikloning menggunakan PIP:
pip install -e /path/to/the/repositoryKetika windpowerlib dimulai dengan kontributor dari kelompok pengembang OEMOF, kami menggunakan aturan pengembang yang sama.
Cara membuat permintaan tarik:
Umumnya langkah -langkah berikut diperlukan saat mengubah, menambahkan atau menghapus kode:
pytestKami menggunakan proyek Zenodo untuk mendapatkan doi untuk setiap versi. Cari Zenodo untuk kutipan yang tepat dari versi windpowerlib Anda.
Hak Cipta (C) 2019 Oemof Developer Group
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Pemberitahuan hak cipta di atas dan pemberitahuan izin ini harus dimasukkan dalam semua salinan atau bagian substansial dari perangkat lunak.
Perangkat lunak ini disediakan "sebagaimana adanya", tanpa jaminan apa pun, tersurat maupun tersirat, termasuk tetapi tidak terbatas pada jaminan dapat diperjualbelikan, kebugaran untuk tujuan tertentu dan nonpringement. Dalam hal apa pun penulis atau pemegang hak cipta tidak akan bertanggung jawab atas klaim, kerusakan atau tanggung jawab lainnya, baik dalam tindakan kontrak, gugatan atau sebaliknya, timbul dari, di luar atau sehubungan dengan perangkat lunak atau penggunaan atau transaksi lain dalam perangkat lunak.