This page documents the JSON schemas used for validating wind turbine sensor data in the pipeline.
Complete validation schema for wind turbine telemetry data with business rules.
| Field | Type | Required | Constraints |
|---|---|---|---|
timestamp |
string (ISO 8601) | ✅ | Valid datetime format |
turbine_id |
string | ✅ | Pattern: WT-XXXX |
site_id |
string | ✅ | Pattern: SITE-XXX |
temperature |
number | ✅ | -50 to 60°C |
humidity |
number | ✅ | 0 to 100% |
pressure |
number | ✅ | 800 to 1100 hPa |
wind_speed |
number | ✅ | 0 to 50 m/s |
power_output |
number | ✅ | 0 to 5000 kW |
rotation_speed |
number | ❌ | 0 to 30 RPM |
vibration_x/y/z |
number | ❌ | 0 to 100 mm/s |
pipeline_metadata |
object | ❌ | Audit trail information |
Line-by-line ingestion
Convert to JSON + metadata
Apply external schema
Time-window metrics
Exception handling
The schema enforces physics-based constraints:
import requests
import jsonschema
# Fetch schema from aerolake.org
schema_url = "https://aerolake.org/schemas/wind-turbine-v1.json"
schema = requests.get(schema_url).json()
# Your data
data = {
"timestamp": "2024-01-01T12:00:00Z",
"turbine_id": "WT-0001",
"site_id": "SITE-TEX",
"temperature": 25.5,
"humidity": 65,
"pressure": 1013.25,
"wind_speed": 12.5,
"power_output": 2500,
"pipeline_metadata": {
"pipeline_version": "1.0.0",
"pipeline_stage": "validated",
"processing_timestamp": "2024-01-01T12:00:05Z",
"git_sha": "abc123def456...",
"node_id": "node-001",
"transformation_hash": "sha256hash..."
}
}
# Validate
try:
jsonschema.validate(data, schema)
print("✅ Data is valid!")
except jsonschema.ValidationError as e:
print(f"❌ Validation failed: {e.message}")
# Current version (v1) https://aerolake.org/schemas/wind-turbine-v1.json # Future versions https://aerolake.org/schemas/wind-turbine-v2.json https://aerolake.org/schemas/wind-turbine-v3.json
← Back to Main Documentation | View Interactive Schema →
Wind Turbine Data Pipeline | Schema v1.0.0