Writing windIO Files#
Basic Writing#
from windkit.io.windio import write_plant, write_turbine, wwc_to_windio, wtg_to_windio
write_plant(wwc_to_windio(wwc), "output.yaml") # Wind climate
write_turbine(wtg_to_windio(wtg), "my_turbine.yaml") # Turbine definition
Modular File Output#
Use modular=True to split data across multiple files with !include references:
write_plant(plant_data, "output_dir/", modular=True)
This creates:
output_dir/
├── plant.yaml # Main file with !include references
├── site.yaml
├── energy_resource.yaml
└── wind_resource.yaml
Export Levels#
Export specific portions of the windIO hierarchy:
Climate data levels: plant (default), site, energy_resource, wind_resource
Turbine data levels: plant (default), wind_farm, layout
from windkit.io.windio import wwc_to_windio, wind_turbines_to_windio
# Export only wind_resource portion
wind_resource = wwc_to_windio(wwc, level="wind_resource")
# Export only layout coordinates
layout = wind_turbines_to_windio(turbines, level="layout")
Composing Complete Plants#
Combine wind climate, turbine positions, and WTG definitions:
from windkit.io.windio import write_plant, compose_plant
plant_data = compose_plant(
name="My Wind Farm",
wwc=wwc, # Or bwc, or tswc (only one allowed)
wind_turbines=turbines,
wtgs={"IEA-15MW": wtg},
)
write_plant(plant_data, "complete_plant.yaml")