awesIO¶
YAML schemas for Airborne Wind Energy systems
awesIO is a standardized input/output specification for Airborne Wind Energy (AWE) systems, providing YAML schemas that define data formats for kites, tethers, ground stations, wind resources, and complete AWE system configurations.
Note
awesIO is inspired by and follows the architecture of windIO, the IEA Wind Task 37 ontology for traditional wind turbines.
What is awesIO?¶
awesIO provides a common language for describing AWE systems, enabling:
Interoperability between different AWE simulation tools and frameworks
Standardized data exchange for research collaboration
Validation of input files against formal schemas
Documentation of AWE system specifications
Key Features¶
YAML-based schemas - Human-readable, version-controllable specifications
Built-in validation - Automatic checking of input file correctness
Tool integration - Works with simulation frameworks like AWESPA
Comprehensive coverage - Schemas for all major AWE subsystems
AWE System Components¶
awesIO defines schemas for complete AWE systems and their operational parameters:
Component |
Description |
Schema Reference |
|---|---|---|
Complete System |
Wing, bridle, control system, tether, and ground station in one schema |
|
Wind Resource |
Wind profile clusters, probability distributions |
|
Power Curves |
Power output vs. wind speed relationships |
|
Operational Constraints |
Operating limits, safety boundaries, terrain constraints |
Getting Started¶
Installation¶
Install using pip¶
Install the latest version from the main branch:
pip install git+https://github.com/awegroup/awesIO.git
Install from a specific branch, commit, or tag:
pip install git+https://github.com/awegroup/awesIO.git@branch-name
pip install git+https://github.com/awegroup/awesIO.git@commit-hash
pip install git+https://github.com/awegroup/awesIO.git@v0.1.0
Install using pixi¶
Install the latest version:
pixi add --pypi "awesio @ git+https://github.com/awegroup/awesIO.git"
Install from a specific branch, commit, or tag:
pixi add --pypi "awesio @ git+https://github.com/awegroup/awesIO.git@branch-name"
pixi add --pypi "awesio @ git+https://github.com/awegroup/awesIO.git@commit-hash"
pixi add --pypi "awesio @ git+https://github.com/awegroup/awesIO.git@v0.1.0"
For developers¶
Clone and install in development mode:
git clone https://github.com/awegroup/awesIO.git
cd awesIO
pip install -e .
pip install -r docs/requirements.txt
Or use pixi:
git clone https://github.com/awegroup/awesIO.git
cd awesIO
pixi run validate
Quick Example¶
Here’s a simple example of validating an AWE configuration:
from awesio.validator import validate
# Auto-detects schema from file metadata
validated_data = validate("path/to/config.yml")
# Access validated data
print(f"System name: {validated_data['metadata']['name']}")
Validation Script¶
Validate multiple files at once:
# Edit scripts/validate_yaml.py to set file paths
python scripts/validate_yaml.py
Schema Auto-Detection¶
Each YAML file must include a schema reference in its metadata:
metadata:
name: My AWE System
description: System description
note: Additional notes
awesIO_version: 0.1.0
schema: system_schema.yml # Auto-detected by validator
Table of Contents¶
User Guide
Indices and Tables¶
Contributing¶
awesIO is developed by the AWE research community. Contributions are welcome!
License¶
awesIO is released under the MIT License. See the LICENSE file for details.