Vaijayanth-sheri/windpowerlib-data-generator-gui
Windpowerlib Data Generator GUI
An open‑source dashboard built with Streamlit to simulate wind turbine energy production using the windpowerlib modelling framework. This app enables you to fetch and normalise weather data from multiple sources, configure turbine parameters, simulate annual energy production and download complete output datasets.
✨ Features
- Flexible weather sources: choose from Open‑Meteo historical data, NASA POWER hourly data, PVGIS typical meteorological years (via
pvlib), or upload your own EPW files【375941617006762†L8-L17】. - Turbine library & custom curves: select from the built‑in turbine catalogue (OEDB) or upload your own power curve specification【375941617006762†L12-L16】.
- Simulate with `windpowerlib`: uses the
ModelChainclass to model wind turbine performance including log‑law/hellman wind speed models, density corrections and other physical options (see sidebar in the app)【459822673161907†L62-L123】. - Downloadable results: export normalised weather data and power output as CSV, and generate a professional PDF report summarising inputs, assumptions and key performance indicators【375941617006762†L14-L17】.
- Geocoding and site selection: search for a location by city name or postcode and automatically extract latitude/longitude with geopy; manually adjust coordinates as needed【459822673161907†L80-L103】.
- Interactive UI: follow a clear multi‑tab workflow—weather data, turbine selection, run simulation, view results, and about information—to guide users through the modelling process【459822673161907†L124-L131】.
⚙ Installation & Local Use
Clone the repository and install dependencies with pip:
git clone https://github.com/vaijayanth-sheri/Windpowerlib_data_generator_GUI.git
cd Windpowerlib_data_generator_GUI
pip install -r requirements.txt
# Launch the app locally
streamlit run app.py🚀 Deploying to Hugging Face
This Space uses the Docker SDK. The provided Dockerfile automatically clones the latest version of this repository, installs required dependencies (including windpowerlib, streamlit, pandas, numpy, plotly, reportlab, meteostat, cdsapi, geopy, pyarrow, and pvlib), and launches the application with Streamlit on port 7860. When deploying your own fork, ensure that any API keys (e.g. for weather services) are added under Settings → Variables in the Hugging Face interface.
📝 License & Credits
This dashboard is released under the MIT License【375941617006762†L47-L48】. It was created by Vaijayanth Sheri as part of a series of open data‑driven energy modelling tools【375941617006762†L45-L46】.
