This repository contains material for a hands-on tutorial and additional content about data science in wind resource assessment. The tutorial was held on 2020-03-11 at the PyData San Diego Meetup.
Interactive: (recommended start, may load slowly) – Static: PDF or Jupyter Notebook
Hands-on tutorial about data science in wind resource assessment. The tutorial is about the fictitious scenario of building a wind farm on the hills around the AI incubator The Sandbox San Diego. Using Python code, it explains how the wind can be measured and how the measurement can be used together with climate models and ground station data to generate a long-term estimate of the wind. Subsequently, the tutorial explores how to use that estimate to predict wind turbine power output. Finally, the tutorial puts the output of the fictitious wind farm into the broader context of the California power grid.
From a data science perspective, the tutorial touches on data exploration, modeling and validation, and clarifies where domain knowledge of wind and fluid dynamics can help improve the wind estimate.
The tutorial uses the following tool stack:
- Python for performing calculations
- Jupyter Notebook as an IDE
- RISE Jupyter extension for presenting the notebook
- hide_code extension for hiding some (long-ish) code to build maps
- Folium to display maps
- SciPy's orthogonal distance regression
- scikit-learn's RandomForestRegressor
- brightwind to support wind resource assessment tasks
Interactive: – Static: download_and_preprocess_asos_data.ipynb
A notebook about how to download and preprocess meteorological data from ASOS measurement stations with Python in a Jupyter notebook. In addition to showing how to download the data, the notebook also shows how to quickly produce a 12x24 plot with matplotlib and pandas.
Interactive: – Static: downloading_ERA5_data_in_python.ipynb
A notebook that shows how to download and transform ERA5 reanalysis data from the Copernicus Climate Change Service in Python. The notebook is a classical example of an ETL process and includes some interesting wind data exploration snippets.
Interactive: – Static: synthesizing_a_wind_speed_time_series.ipynb
A Jupyter notebook that deals with how to come up with an artificial met mast time series when you only have some reference data and not a lot of time.
- 2020-11-21: Re-worked tutorial to make it more accessible for self-study.
- 2020-03-15: Added information about how to estimate turbine power output with long-term wind estimates.*