windIO#
Warning
windIO support is experimental. API may change in future versions.
windkit provides support for reading and writing wind resource data in the windIO format, an open YAML-based data exchange standard developed by the IEA Wind Systems Engineering community.
What is windIO?#
windIO is a standardized YAML-based format for wind energy data, covering wind resources, turbine specifications, and wind farm configurations. While windIO defines multiple schemas, windkit only supports the Plant schema.
The Plant schema is organized hierarchically:
plant
├── site
│ ├── energy_resource
│ │ └── wind_resource (Weibull, binned, or time series data)
│ └── boundaries
└── wind_farm
├── layouts (turbine coordinates)
└── turbine_types
A separate turbine schema defines detailed turbine specifications including power and thrust curves.
Quick Start#
Reading windIO data:
from windkit.io.windio import read_plant, wwc_from_windio
plant_data = read_plant("my_plant.yaml")
wwc = wwc_from_windio(plant_data, crs="EPSG:32632") # CRS required
Writing windIO data:
from windkit.io.windio import write_plant, wwc_to_windio
plant_data = wwc_to_windio(wwc)
write_plant(plant_data, "output.yaml")
Key Concepts#
CRS required: windIO files lack CRS metadata; you must provide it when importing
Include directives:
!includereferences are preserved as markers when reading files. All*_from_windiotranslation functions automatically resolve these markers, so you can pass unresolved dicts directly. For manual resolution useresolve_includes().
Documentation Contents#
See Also#
windIO Documentation - Official specification
IEA Wind Task 37 - GitHub repository