Troubleshooting#

Common Errors#

CRS Not Provided

ValueError: CRS is required for windIO import.

Provide CRS explicitly: wwc_from_windio(plant_data, crs="EPSG:32632")

Tip: Large meter values (500000, 6200000) suggest UTM; small decimals (10.5, 55.3) suggest WGS84.

Missing wind_resource Data

ValueError: Cannot find wind_resource in windIO plant data.

For standalone files, use the appropriate reader (e.g., read_wind_resource("file.yaml")).

Invalid Level Parameter

ValueError: Invalid level 'foo'. Must be one of: (...)

Climate levels: plant, site, energy_resource, wind_resource

Turbine levels: plant, wind_farm, layout

Include File Not Found

FileNotFoundError: windIO include file not found: site.yaml

Ensure referenced files exist with paths relative to the parent file.

Note

Translation functions resolve !include markers automatically. If you see this error from a *_from_windio call, the referenced file is missing on disk — check that the YAML file it points to exists at the expected path.

Wrong Data Type

ValueError: Missing required Weibull parameter 'weibull_a'

File may contain binned or time series data. Use bwc_from_windio or tswc_from_windio.

Schema Notes#

windkit handles both direct arrays and dict-wrapped formats automatically:

weibull_a: [8.5, 9.0, 8.8, 8.2]           # Direct
weibull_a: {data: [...], dims: [sector]}  # Dict-wrapped

For complex nested includes, use the windIO package directly: windIO.yaml.load_yaml("plant.yaml")

FAQ#

  • IEA Wind Task 37 reference files? Fully compatible.

  • Multiple wind climates in one file? One climate type per plant; use separate files.

  • windIO v1.0 support? Only v2.0.x is supported.

Getting Help#

  1. API documentation

  2. Test files for examples

  3. windkit issue tracker

  4. windIO documentation for schema questions