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

  • metadata

type

object

properties

  • name

type

string

  • description

type

string

  • note

type

string

  • awesIO_version

type

string

  • schema

type

string

enum

system_schema.yml

additionalProperties

False

  • assembly

type

object

properties

  • connectivity_matrix

type

array

items

type

array

items

type

string

maxItems

2

minItems

2

additionalProperties

False

  • components

type

object

properties

  • kites

type

array

items

#/definitions/kite

  • tethers

type

array

items

#/definitions/tether

  • ground_station

#/definitions/ground_station

additionalProperties

False

additionalProperties

False

definitions

  • joints

type

object

additionalProperties

type

object

properties

  • id

type

string

additionalProperties

False

  • kite

type

object

properties

  • name

type

string

  • type

type

string

enum

soft_kite_kcu, fixed_wing_gc

  • version

type

string / number

  • joints

#/definitions/joints

  • wing

#/definitions/wing

  • bridle

#/definitions/bridle

  • control_system

#/definitions/control_system

additionalProperties

False

  • wing

type

object

properties

  • name

type

string

  • type

type

string

enum

LEI_soft_kite, ram_air_soft_kite, fixed_wing

  • version

type

string / number

  • structure

type

object

additionalProperties

False

allOf

if

properties

  • type

const

LEI_soft_kite

then

properties

  • structure

type

object

properties

  • projected_surface_area

type

number

minimum

0

  • span

type

number

minimum

0

  • aspect_ratio

type

number

minimum

0

  • mass

type

number

minimum

0

  • flattening_factor

type

number

maximum

1

minimum

0

  • wing_sections

type

object

  • material

type

null / object

additionalProperties

True

if

properties

  • type

const

ram_air_soft_kite

then

properties

  • structure

type

object

properties

  • projected_surface_area

type

number

minimum

0

  • span

type

number

minimum

0

  • aspect_ratio

type

number

minimum

0

  • mass

type

number

minimum

0

  • flattening_factor

type

number

maximum

1

minimum

0

  • wing_sections

type

object

  • material

type

null / object

additionalProperties

True

if

properties

  • type

const

fixed_wing

then

properties

  • structure

type

object

properties

  • projected_surface_area

type

number

minimum

0

  • wing_area

type

number

minimum

0

  • span

type

number

minimum

0

  • aspect_ratio

type

number

minimum

0

  • mass

type

number

minimum

0

  • chord

type

number

minimum

0

  • taper_ratio

type

number

  • dihedral_angle

type

number

  • sweep_angle

type

number

  • wing_sections

type

object

  • material

type

object

additionalProperties

True

  • bridle

type

object

properties

  • name

type

string

  • type

type

string

enum

LEI_soft_kite_bridle

  • version

type

string / number

  • structure

type

object

properties

  • mass

type

number

minimum

0

  • bridle_nodes

type

object

  • bridle_lines

type

object

  • bridle_connections

type

object

  • material

type

null / object

additionalProperties

True

additionalProperties

False

  • control_system

type

object

properties

  • name

type

string

  • type

type

string

enum

kite_control_unit

  • version

type

string / number

  • structure

type

object

properties

  • mass

type

number

minimum

0

  • frontal_area

type

number

minimum

0

additionalProperties

True

  • actuators

type

object

properties

  • max_steering_line_speed

type

number

minimum

0

  • max_depower_line_speed

type

number

minimum

0

  • max_steering_actuator_force

type

number

minimum

0

  • max_depower_actuator_force

type

number

minimum

0

additionalProperties

True

additionalProperties

False

  • tether

type

object

properties

  • name

type

string

  • type

type

string

enum

non_conductive_tether, conductive_tether

  • version

type

string / number

  • joints

#/definitions/joints

  • structure

type

object

allOf

if

properties

  • type

then

properties

  • structure

type

object

properties

  • length

type

number

minimum

0

  • diameter

type

number

minimum

0

  • density

type

number

minimum

0

  • max_tether_force

type

number

minimum

0

  • conductive

type

boolean

  • material

type

object

properties

  • type

type

string

  • youngs_modulus

type

number

  • breaking_strength

type

number

  • min_breaking_strength

type

number

  • shear_modulus

type

number

  • breaking_strain

type

number

  • poisson_ratio

type

number

additionalProperties

True

additionalProperties

False

if

properties

  • type

then

properties

  • structure

type

object

properties

  • length

type

number

minimum

0

  • diameter

type

number

minimum

0

  • density

type

number

minimum

0

  • max_tether_force

type

number

minimum

0

  • conductive

type

boolean

  • material

type

object

properties

  • type

type

string

  • youngs_modulus

type

number

  • breaking_strength

type

number

  • min_breaking_strength

type

number

  • shear_modulus

type

number

  • breaking_strain

type

number

  • poisson_ratio

type

number

additionalProperties

True

additionalProperties

False

  • drum_object

type

object

properties

  • name

type

string

  • type

type

string

const

electric_winch

  • min_tether_speed

type

number

  • max_tether_speed

type

number

minimum

0

  • max_tether_force

type

number

minimum

0

  • max_winch_acceleration

type

number

minimum

0

  • drum_diameter

type

number

minimum

0

  • drum_width

type

number

minimum

0

additionalProperties

False

  • generator_object

type

object

properties

  • name

type

string

  • type

type

string

enum

permanent_magnet_synchronous, induction, dc

  • rated_power

type

number

minimum

0

  • max_power

type

number

minimum

0

  • rated_speed

type

number

minimum

0

  • efficiency

type

number

maximum

1

minimum

0

  • voltage

type

number

minimum

0

additionalProperties

False

  • gearbox_object

type

object

properties

  • name

type

string

  • type

type

string

enum

planetary, helical, bevel

  • gear_ratio

type

number

minimum

0

  • efficiency

type

number

maximum

1

minimum

0

additionalProperties

False

  • storage_object

type

object

properties

  • name

type

string

  • type

type

string

enum

battery_bank, flywheel, capacitor_bank

  • capacity

type

number

minimum

0

  • max_charge_rate

type

number

minimum

0

  • max_discharge_rate

type

number

minimum

0

  • efficiency

type

number

maximum

1

minimum

0

  • state_of_charge_initial

type

number

maximum

1

minimum

0

additionalProperties

False

  • ground_station

type

object

properties

  • name

type

string

  • type

type

string

enum

pumping_ground_gen_station, rotary_ground_gen_station, fly_gen_station

  • version

type

string / number

  • joints

#/definitions/joints

  • structure

type

object

properties

  • mass

type

number

minimum

0

  • height

type

number

minimum

0

additionalProperties

False

  • drums

type

array

  • generators

type

array

  • gearboxes

type

array

  • storages

type

array

additionalProperties

False

allOf

if

properties

  • type

const

pumping_ground_gen_station

then

properties

  • drums

type

array

items

#/definitions/drum_object

  • generators

type

array

items

#/definitions/generator_object

  • gearboxes

type

array

items

#/definitions/gearbox_object

  • storages

type

array

items

#/definitions/storage_object

if

properties

  • type

const

rotary_ground_gen_station

then

properties

  • generators

type

array

items

#/definitions/generator_object

  • gearboxes

type

array

items

#/definitions/gearbox_object

if

properties

  • type

const

fly_gen_station

then

properties

  • storages

type

array

items

#/definitions/storage_object