{
 "dictionary_version": "4.4.0",
 "csv_rfc": "RFC 4180",
 "null_representation": "empty field",
 "boolean_representation": "true|false lowercase",
 "array_representation": "canonical JSON (RFC 8785) array in one quoted field",
 "column_order_is_normative": true,
 "columns": [
  {
   "name": "timestamp",
   "type": "string_iso8601",
   "nullable": false,
   "notes": "interval start, explicit UTC offset"
  },
  {
   "name": "step_duration_seconds",
   "type": "integer",
   "nullable": false,
   "unit": "s"
  },
  {
   "name": "day_type",
   "type": "enum",
   "nullable": false,
   "allowed_values": [
    "weekday",
    "weekend",
    "holiday"
   ]
  },
  {
   "name": "cloud_state",
   "type": "enum",
   "nullable": false,
   "allowed_values": [
    "clear",
    "partly_cloudy",
    "overcast"
   ]
  },
  {
   "name": "cloud_fraction",
   "type": "float",
   "nullable": false,
   "unit": "dimensionless",
   "decimal_precision": 4,
   "notes": "range 0..1"
  },
  {
   "name": "precipitation_mm_h",
   "type": "float",
   "nullable": false,
   "unit": "mm/h",
   "decimal_precision": 3,
   "notes": ">=0; exactly 0 when dry"
  },
  {
   "name": "air_temperature_c",
   "type": "float",
   "nullable": false,
   "unit": "degC",
   "decimal_precision": 3
  },
  {
   "name": "vapour_pressure_pa",
   "type": "float",
   "nullable": false,
   "unit": "Pa",
   "decimal_precision": 2
  },
  {
   "name": "relative_humidity_pct",
   "type": "float",
   "nullable": false,
   "unit": "%",
   "decimal_precision": 2,
   "notes": "0..100 after roundoff clamp"
  },
  {
   "name": "wind_speed_10m_m_s",
   "type": "float",
   "nullable": false,
   "unit": "m/s",
   "decimal_precision": 3
  },
  {
   "name": "wind_speed_pedestrian_m_s",
   "type": "float",
   "nullable": false,
   "unit": "m/s",
   "decimal_precision": 3
  },
  {
   "name": "mean_radiant_temperature_c",
   "type": "float",
   "nullable": false,
   "unit": "degC",
   "decimal_precision": 3
  },
  {
   "name": "crowd_state",
   "type": "enum",
   "nullable": false,
   "allowed_values": [
    "quiet",
    "normal",
    "busy",
    "event"
   ]
  },
  {
   "name": "crowd_state_mechanism",
   "type": "enum",
   "nullable": false,
   "allowed_values": [
    "stochastic",
    "forced"
   ]
  },
  {
   "name": "offered_arrivals_count",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "admitted_arrivals_count",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "rejected_arrivals_count",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "deferred_arrivals_count",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "deferred_timeout_count",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "queue_length_persons",
   "type": "integer",
   "nullable": false,
   "unit": "persons",
   "notes": "0 unless capacity_mode=defer_fifo"
  },
  {
   "name": "occupancy_persons",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "operational_capacity_ratio",
   "type": "float",
   "nullable": false,
   "unit": "dimensionless",
   "decimal_precision": 4
  },
  {
   "name": "audience_general_public_persons",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "audience_families_persons",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "audience_elderly_persons",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "audience_students_persons",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "audience_commuters_persons",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "audience_event_attendees_persons",
   "type": "integer",
   "nullable": false,
   "unit": "persons"
  },
  {
   "name": "dominant_audience",
   "type": "enum",
   "nullable": true,
   "allowed_values": [
    "general_public",
    "families",
    "elderly",
    "students",
    "commuters",
    "event_attendees"
   ],
   "notes": "null on ties per precedence rule or zero occupancy"
  },
  {
   "name": "traffic_flow_vehicles_h",
   "type": "float",
   "nullable": false,
   "unit": "vehicles/h",
   "decimal_precision": 2
  },
  {
   "name": "pm25_emission_ug_s",
   "type": "float",
   "nullable": false,
   "unit": "ug/s",
   "decimal_precision": 2
  },
  {
   "name": "pm25_background_ug_m3",
   "type": "float",
   "nullable": false,
   "unit": "ug/m3",
   "decimal_precision": 2
  },
  {
   "name": "pm25_physical_ug_m3",
   "type": "float",
   "nullable": false,
   "unit": "ug/m3",
   "decimal_precision": 3
  },
  {
   "name": "pm25_sensor_raw_ug_m3",
   "type": "float",
   "nullable": false,
   "unit": "ug/m3",
   "decimal_precision": 3
  },
  {
   "name": "pm25_sensor_calibrated_ug_m3",
   "type": "float",
   "nullable": true,
   "unit": "ug/m3",
   "decimal_precision": 3,
   "required_when": "calibration enabled"
  },
  {
   "name": "pm25_rolling_24h_ug_m3",
   "type": "float",
   "nullable": true,
   "unit": "ug/m3",
   "decimal_precision": 3,
   "notes": "null until complete window"
  },
  {
   "name": "pm25_rolling_complete",
   "type": "boolean",
   "nullable": false
  },
  {
   "name": "no2_emission_ug_s",
   "type": "float",
   "nullable": false,
   "unit": "ug/s",
   "decimal_precision": 2
  },
  {
   "name": "no2_background_ug_m3",
   "type": "float",
   "nullable": false,
   "unit": "ug/m3",
   "decimal_precision": 2
  },
  {
   "name": "no2_physical_ug_m3",
   "type": "float",
   "nullable": false,
   "unit": "ug/m3",
   "decimal_precision": 3
  },
  {
   "name": "no2_sensor_raw_ug_m3",
   "type": "float",
   "nullable": false,
   "unit": "ug/m3",
   "decimal_precision": 3
  },
  {
   "name": "no2_sensor_calibrated_ug_m3",
   "type": "float",
   "nullable": true,
   "unit": "ug/m3",
   "decimal_precision": 3,
   "required_when": "calibration enabled"
  },
  {
   "name": "no2_rolling_24h_ug_m3",
   "type": "float",
   "nullable": true,
   "unit": "ug/m3",
   "decimal_precision": 3,
   "notes": "null until complete window"
  },
  {
   "name": "no2_rolling_complete",
   "type": "boolean",
   "nullable": false
  },
  {
   "name": "LAeq_15min_dBA",
   "type": "float",
   "nullable": true,
   "unit": "dB(A)",
   "decimal_precision": 2,
   "notes": "column name embeds the declared window; null until complete window unless warm-up supplies history"
  },
  {
   "name": "noise_window_complete",
   "type": "boolean",
   "nullable": false
  },
  {
   "name": "utci_c",
   "type": "float",
   "nullable": false,
   "unit": "degC",
   "decimal_precision": 2
  },
  {
   "name": "utci_stress_category",
   "type": "enum",
   "nullable": false,
   "allowed_values": [
    "extreme cold stress",
    "very strong cold stress",
    "strong cold stress",
    "moderate cold stress",
    "slight cold stress",
    "no thermal stress",
    "moderate heat stress",
    "strong heat stress",
    "very strong heat stress",
    "extreme heat stress"
   ]
  },
  {
   "name": "utci_input_clamped",
   "type": "boolean",
   "nullable": false
  },
  {
   "name": "wbgt_outdoor_c",
   "type": "float",
   "nullable": true,
   "unit": "degC",
   "decimal_precision": 2,
   "required_when": "Extended profile with WBGT enabled"
  },
  {
   "name": "thermal_risk_level",
   "type": "enum",
   "nullable": true,
   "allowed_values": [
    "low",
    "caution",
    "high_risk",
    "severe"
   ]
  },
  {
   "name": "air_quality_risk_level",
   "type": "enum",
   "nullable": true,
   "allowed_values": [
    "low",
    "caution",
    "high_risk",
    "severe"
   ]
  },
  {
   "name": "noise_risk_level",
   "type": "enum",
   "nullable": true,
   "allowed_values": [
    "low",
    "caution",
    "high_risk",
    "severe"
   ]
  },
  {
   "name": "crowding_risk_level",
   "type": "enum",
   "nullable": true,
   "allowed_values": [
    "low",
    "caution",
    "high_risk",
    "severe"
   ]
  },
  {
   "name": "overall_action_level",
   "type": "enum",
   "nullable": true,
   "allowed_values": [
    "low",
    "caution",
    "high_risk",
    "severe"
   ]
  },
  {
   "name": "dominant_issue",
   "type": "enum",
   "nullable": true,
   "allowed_values": [
    "thermal",
    "air_quality",
    "noise",
    "crowding"
   ]
  },
  {
   "name": "co_dominant_issues",
   "type": "json_array_of_enum",
   "nullable": false,
   "allowed_values": [
    "thermal",
    "air_quality",
    "noise",
    "crowding"
   ],
   "notes": "canonical JSON array, quoted per RFC 4180"
  },
  {
   "name": "elevated_issues",
   "type": "json_array_of_enum",
   "nullable": false,
   "allowed_values": [
    "thermal",
    "air_quality",
    "noise",
    "crowding"
   ]
  },
  {
   "name": "elevated_hazard_count",
   "type": "integer",
   "nullable": false
  },
  {
   "name": "compound_risk_flag",
   "type": "boolean",
   "nullable": false
  },
  {
   "name": "risk_completeness_fraction",
   "type": "float",
   "nullable": false,
   "unit": "dimensionless",
   "decimal_precision": 4
  },
  {
   "name": "overall_action_level_provisional",
   "type": "boolean",
   "nullable": false
  },
  {
   "name": "risk_communication_template_id",
   "type": "string",
   "nullable": false
  },
  {
   "name": "risk_communication_message",
   "type": "string",
   "nullable": false
  }
 ]
}