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: !include references are preserved as markers when reading files. All *_from_windio translation functions automatically resolve these markers, so you can pass unresolved dicts directly. For manual resolution use resolve_includes().

Documentation Contents#

See Also#