AWE System Schema¶
The system configuration schema defines the physical properties of a complete AWE system in a single file. All system components — wing, bridle, control system, tether, and ground station — are described together at the same hierarchy level. This flat, modular structure reflects the physical organization of an AWE system and makes it straightforward to identify, version, and exchange complete system definitions.
Aerodynamic properties are intentionally excluded from the system configuration. Aerodynamic models are tool-dependent: some tools work with a small number of coefficients for a limited set of operating states, while others use higher-fidelity models to determine the full aerodynamic behaviour of the kite or aircraft. Keeping aerodynamics outside the system schema avoids imposing one model structure on all tools.
Note
All quantities follow the SI unit convention used throughout awesIO.
Component Types¶
AWE systems vary in physical layout and operating principle. A fly-generation system may use a conductive tether, while a ground-generation system uses a non-conductive tether. The airborne component can be a leading-edge inflatable soft kite, a ram-air kite, a single-skin kite, or a fixed-wing aircraft.
To represent this variety within a single schema, each component specifies a component type. The type determines which fields are required or applicable for that component, for example:
A conductive tether requires different parameters than a non-conductive tether.
A soft kite (ram-air, single-skin, or leading-edge inflatable) requires different properties than a fixed-wing aircraft.
Where possible, parameters are kept consistent across related component types to support comparison between designs and reduce unnecessary differences between similar systems.
Each component also includes a name and version identifier. These metadata fields improve traceability by making clear which component definition is used. Equivalent metadata are also included at the top level of the file, so that the full system configuration can be identified and versioned consistently.
Schema File¶
src/awesio/schemas/system_schema.yml
Example File¶
See: examples/ground_gen/soft_kite_pumping_ground_gen_system.yml
Validation¶
To validate a file against this schema:
from awesio.validator import validate
# Auto-detects schema from file metadata
data = validate("your_file.yml")
The validator automatically detects the schema type from the metadata.schema field in your YAML file.
Schema Structure¶
Airborne Wind Energy System Schema¶
system_schema |
|||||||
Complete schema for AWE system configurations with type-dependent validation. Validates wing, bridle, control system, tether, and ground station components. |
|||||||
type |
object |
||||||
properties |
|||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
|
type |
string |
|||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
system_schema.yml |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
array |
|||||
items |
type |
array |
|||||
items |
type |
string |
|||||
maxItems |
2 |
||||||
minItems |
2 |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
array |
|||||
items |
#/definitions/kite |
||||||
|
type |
array |
|||||
items |
#/definitions/tether |
||||||
|
#/definitions/ground_station |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
definitions |
|||||||
|
type |
object |
|||||
additionalProperties |
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
soft_kite_kcu, fixed_wing_gc |
||||||
|
type |
string / number |
|||||
|
#/definitions/joints |
||||||
|
#/definitions/wing |
||||||
|
#/definitions/bridle |
||||||
|
#/definitions/control_system |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
LEI_soft_kite, ram_air_soft_kite, fixed_wing |
||||||
|
type |
string / number |
|||||
|
type |
object |
|||||
additionalProperties |
False |
||||||
allOf |
if |
properties |
|||||
|
const |
LEI_soft_kite |
|||||
then |
properties |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
maximum |
1 |
||||||
minimum |
0 |
||||||
|
type |
object |
|||||
|
type |
null / object |
|||||
additionalProperties |
True |
||||||
if |
properties |
||||||
|
const |
ram_air_soft_kite |
|||||
then |
properties |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
maximum |
1 |
||||||
minimum |
0 |
||||||
|
type |
object |
|||||
|
type |
null / object |
|||||
additionalProperties |
True |
||||||
if |
properties |
||||||
|
const |
fixed_wing |
|||||
then |
properties |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
object |
|||||
|
type |
object |
|||||
additionalProperties |
True |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
LEI_soft_kite_bridle |
||||||
|
type |
string / number |
|||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
object |
|||||
|
type |
object |
|||||
|
type |
object |
|||||
|
type |
null / object |
|||||
additionalProperties |
True |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
kite_control_unit |
||||||
|
type |
string / number |
|||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
additionalProperties |
True |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
additionalProperties |
True |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
non_conductive_tether, conductive_tether |
||||||
|
type |
string / number |
|||||
|
#/definitions/joints |
||||||
|
type |
object |
|||||
allOf |
if |
properties |
|||||
|
|||||||
then |
properties |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
boolean |
|||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
additionalProperties |
True |
||||||
additionalProperties |
False |
||||||
if |
properties |
||||||
|
|||||||
then |
properties |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
boolean |
|||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
|
type |
number |
|||||
additionalProperties |
True |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
const |
electric_winch |
||||||
|
type |
number |
|||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
permanent_magnet_synchronous, induction, dc |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
maximum |
1 |
||||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
planetary, helical, bevel |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
maximum |
1 |
||||||
minimum |
0 |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
battery_bank, flywheel, capacitor_bank |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
maximum |
1 |
||||||
minimum |
0 |
||||||
|
type |
number |
|||||
maximum |
1 |
||||||
minimum |
0 |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
enum |
pumping_ground_gen_station, rotary_ground_gen_station, fly_gen_station |
||||||
|
type |
string / number |
|||||
|
#/definitions/joints |
||||||
|
type |
object |
|||||
properties |
|||||||
|
type |
number |
|||||
minimum |
0 |
||||||
|
type |
number |
|||||
minimum |
0 |
||||||
additionalProperties |
False |
||||||
|
type |
array |
|||||
|
type |
array |
|||||
|
type |
array |
|||||
|
type |
array |
|||||
additionalProperties |
False |
||||||
allOf |
if |
properties |
|||||
|
const |
pumping_ground_gen_station |
|||||
then |
properties |
||||||
|
type |
array |
|||||
items |
#/definitions/drum_object |
||||||
|
type |
array |
|||||
items |
#/definitions/generator_object |
||||||
|
type |
array |
|||||
items |
#/definitions/gearbox_object |
||||||
|
type |
array |
|||||
items |
#/definitions/storage_object |
||||||
if |
properties |
||||||
|
const |
rotary_ground_gen_station |
|||||
then |
properties |
||||||
|
type |
array |
|||||
items |
#/definitions/generator_object |
||||||
|
type |
array |
|||||
items |
#/definitions/gearbox_object |
||||||
if |
properties |
||||||
|
const |
fly_gen_station |
|||||
then |
properties |
||||||
|
type |
array |
|||||
items |
#/definitions/storage_object |
||||||