Synthetic Smart City IoT Dataset — High-Pollution Day #021f
Generated Dataset Summary
"Free CC0 synthetic dataset: 672 rows of UTCI thermal comfort, PM2.5 and NO2 air quality, occupancy and LAeq noise. High-Pollution Day."
Generation Notes
Overview
Synthetic urban public-space IoT time series generated by the IoTSyn v4.4.0 reference engine (Smart City & Public Spaces Edition). A coupled physical–stochastic model produces meteorology (solar geometry, cloud/precipitation Markov chains, AR(1) air temperature with a nocturnal urban-heat-island term, and a Weibull wind field induced through a Gaussian copula), human presence (a state-modulated non-homogeneous Poisson arrival process with LogNormal dwell times and infinite-server occupancy), road traffic, species-resolved air quality from a well-mixed mass-balance box model (PM2.5 and NO2, with separate physical and sensor columns), environmental noise composed in the energy domain (LAeq), and UTCI thermal comfort. A three-way separation between physical truth, sensor observation, and decision output is preserved throughout, and a multi-hazard decision layer emits an ordinal urban risk vector (thermal, air quality, noise, crowding), operational action levels, risk episodes, and provenance-tagged behaviour-change strategy objects. All randomness derives from named substreams of a portable MT19937 generator; matching engine version, configuration, seed, dependencies, and execution environment are required for reproducibility; byte identity is not guaranteed across environments. Each dataset ships with machine-readable sidecars: normalized scenario, domain validation report, risk episodes, and the strategy file.
672 data points, 64 columns. Config: IoTSyn v4.4.0 engine; master_seed: 88; Capacity: 500; Controls: preset=high_pollution; EXTENDED (non-normative).
Column Schema
| Column | Description |
|---|---|
timestamp | string_iso8601 — interval start, explicit UTC offset |
step_duration_seconds | integer, s |
day_type | enum {weekday | weekend | holiday} |
cloud_state | enum {clear | partly_cloudy | overcast} |
cloud_fraction | float, dimensionless — range 0..1 |
precipitation_mm_h | float, mm/h — >=0; exactly 0 when dry |
air_temperature_c | float, degC |
vapour_pressure_pa | float, Pa |
relative_humidity_pct | float, % — 0..100 after roundoff clamp |
wind_speed_10m_m_s | float, m/s |
wind_speed_pedestrian_m_s | float, m/s |
mean_radiant_temperature_c | float, degC |
crowd_state | enum {quiet | normal | busy | event} |
crowd_state_mechanism | enum {stochastic | forced} |
offered_arrivals_count | integer, persons |
admitted_arrivals_count | integer, persons |
rejected_arrivals_count | integer, persons |
deferred_arrivals_count | integer, persons |
deferred_timeout_count | integer, persons |
queue_length_persons | integer, persons — 0 unless capacity_mode=defer_fifo |
occupancy_persons | integer, persons |
operational_capacity_ratio | float, dimensionless |
audience_general_public_persons | integer, persons |
audience_families_persons | integer, persons |
audience_elderly_persons | integer, persons |
audience_students_persons | integer, persons |
audience_commuters_persons | integer, persons |
audience_event_attendees_persons | integer, persons |
dominant_audience | enum, nullable {general_public | families | elderly | students | commuters | event_attendees} |
traffic_flow_vehicles_h | float, vehicles/h |
pm25_emission_ug_s | float, ug/s |
pm25_background_ug_m3 | float, ug/m3 |
pm25_physical_ug_m3 | float, ug/m3 |
pm25_sensor_raw_ug_m3 | float, ug/m3 |
pm25_sensor_calibrated_ug_m3 | float, ug/m3, nullable |
pm25_rolling_24h_ug_m3 | float, ug/m3, nullable — null until complete window |
pm25_rolling_complete | boolean |
no2_emission_ug_s | float, ug/s |
no2_background_ug_m3 | float, ug/m3 |
no2_physical_ug_m3 | float, ug/m3 |
no2_sensor_raw_ug_m3 | float, ug/m3 |
no2_sensor_calibrated_ug_m3 | float, ug/m3, nullable |
no2_rolling_24h_ug_m3 | float, ug/m3, nullable — null until complete window |
no2_rolling_complete | boolean |
LAeq_15min_dBA | float, dB(A), nullable — column name embeds the declared window; null until complete window unless warm-up supplies history |
noise_window_complete | boolean |
utci_c | float, degC |
utci_stress_category | enum {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} |
utci_input_clamped | boolean |
wbgt_outdoor_c | float, degC, nullable |
thermal_risk_level | enum, nullable {low | caution | high_risk | severe} |
air_quality_risk_level | enum, nullable {low | caution | high_risk | severe} |
noise_risk_level | enum, nullable {low | caution | high_risk | severe} |
crowding_risk_level | enum, nullable {low | caution | high_risk | severe} |
overall_action_level | enum, nullable {low | caution | high_risk | severe} |
dominant_issue | enum, nullable {thermal | air_quality | noise | crowding} |
co_dominant_issues | json_array_of_enum {thermal | air_quality | noise | crowding} |
elevated_issues | json_array_of_enum {thermal | air_quality | noise | crowding} |
elevated_hazard_count | integer |
compound_risk_flag | boolean |
risk_completeness_fraction | float, dimensionless |
overall_action_level_provisional | boolean |
risk_communication_template_id | string |
risk_communication_message | string |
Mathematical Models
- Meteorology:
AR(1) air temperature + sinusoidal diurnal cycle + nocturnal urban-heat-island (Oke); Magnus–WMO saturation vapour pressure; Weibull 10 m wind via an AR(1) Gaussian copula (Sklar), pedestrian wind through a log profile - Thermal comfort:
UTCI operational polynomial (Bröde et al. 2012) from air temperature, mean radiant temperature, 10 m wind and vapour pressure; clamp-and-flag domain policy; 10 scientific categories plus a coarser 4-level operational band - Air quality:
Single well-mixed box mass balance with ventilation exchange, deposition and chemical first-order loss and a traffic-driven source; exact exponential one-step update; mean-preserving log-normal sensor observation model; 24 h rolling means - Presence:
Discrete-time Markov-modulated NHPP arrivals with thermal/rain/wind deterrence; exact per-interval Poisson counts with sorted uniform offsets; LogNormal dwell; infinite-server occupancy reconstructed from events; largest-remainder audience allocation - Noise:
A-weighted equivalent continuous level (LAeq) over a declared window, summed in the energy (intensity) domain per ISO 1996 - Risk & strategy:
Conservative-max hazard vector with compound-risk indicators; compound priority score H·log10(1 + person-minutes / E_ref); ex-post, provenance-tagged behaviour-change strategies
Use Cases
- Thermal-comfort (UTCI) and heat-risk analytics
- Air-quality (PM2.5 / NO2) exposure and sensor calibration / drift research
- Occupancy and arrivals (NHPP) estimation benchmarks with exact ground truth
- Environmental-noise (LAeq) exposure analysis
- Multi-hazard urban risk aggregation and decision-support research
Reproducibility
Seed: 88. Reproduction requires the same engine version, parameters, seed, dependencies, and execution environment. IoTSyn v4.4.0.
Machine-readable Sidecars
- Normalized scenario + controls (reproducibility): scenario.json
- Domain validation report (recomputed invariants & coverage): validation.json
- Elevated-risk episodes: episodes.json
- Behaviour-change strategy file (priority-ranked, provenance-tagged): strategy.json
Sample Data (18 rows · 64 columns)
| # | timestamp | step_duration_seconds | day_type | cloud_state | cloud_fraction | precipitation_mm_h | air_temperature_c | vapour_pressure_pa | relative_humidity_pct | wind_speed_10m_m_s | wind_speed_pedestrian_m_s | mean_radiant_temperature_c | crowd_state | crowd_state_mechanism | offered_arrivals_count | admitted_arrivals_count | rejected_arrivals_count | deferred_arrivals_count | deferred_timeout_count | queue_length_persons | occupancy_persons | operational_capacity_ratio | audience_general_public_persons | audience_families_persons | audience_elderly_persons | audience_students_persons | audience_commuters_persons | audience_event_attendees_persons | dominant_audience | traffic_flow_vehicles_h | pm25_emission_ug_s | pm25_background_ug_m3 | pm25_physical_ug_m3 | pm25_sensor_raw_ug_m3 | pm25_sensor_calibrated_ug_m3 | pm25_rolling_24h_ug_m3 | pm25_rolling_complete | no2_emission_ug_s | no2_background_ug_m3 | no2_physical_ug_m3 | no2_sensor_raw_ug_m3 | no2_sensor_calibrated_ug_m3 | no2_rolling_24h_ug_m3 | no2_rolling_complete | LAeq_15min_dBA | noise_window_complete | utci_c | utci_stress_category | utci_input_clamped | wbgt_outdoor_c | thermal_risk_level | air_quality_risk_level | noise_risk_level | crowding_risk_level | overall_action_level | dominant_issue | co_dominant_issues | elevated_issues | elevated_hazard_count | compound_risk_flag | risk_completeness_fraction | overall_action_level_provisional | risk_communication_template_id | risk_communication_message |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2026-07-14T00:00:00+01:00 | 900 | weekday | clear | 0.32 | 0 | 24.95 | 1,729.79 | 54.91 | 0.89 | 0.33 | 22.90 | normal | stochastic | 6 | 6 | 0 | 0 | 0 | 0 | 15 | 0.03 | 4 | 5 | 1 | 1 | 2 | 2 | families | 234.43 | 208.38 | 48 | 47.38 | 46.28 | 48.53 | true | 390.71 | 80 | 79.00 | 72.53 | 79 | true | 56.42 | true | 24.34 | no thermal stress | false | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | |||
| 2 | 2026-07-14T00:15:00+01:00 | 900 | weekday | partly_cloudy | 0.41 | 0 | 24.37 | 1,633.18 | 53.67 | 0.87 | 0.32 | 22.59 | normal | stochastic | 10 | 10 | 0 | 0 | 0 | 0 | 16 | 0.03 | 9 | 3 | 1 | 2 | 1 | 0 | general_public | 239.95 | 213.29 | 48 | 47.37 | 47.27 | 48.55 | true | 399.92 | 80 | 78.99 | 94.48 | 79.23 | true | 55.56 | true | 23.72 | no thermal stress | false | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | |||
| 3 | 2026-07-14T00:30:00+01:00 | 900 | weekday | partly_cloudy | 0.59 | 2.74 | 23.61 | 1,734.66 | 59.65 | 1.25 | 0.46 | 22.39 | normal | stochastic | 2 | 2 | 0 | 0 | 0 | 0 | 9 | 0.02 | 4 | 2 | 0 | 2 | 1 | 0 | general_public | 233.93 | 207.93 | 48 | 47.52 | 47.12 | 48.57 | true | 389.88 | 80 | 79.23 | 87.59 | 79.16 | true | 56.60 | true | 23.11 | no thermal stress | false | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | |||
| 4 | 2026-07-14T00:45:00+01:00 | 900 | weekday | partly_cloudy | 0.74 | 1.69 | 22.58 | 1,723.75 | 63.11 | 0.57 | 0.21 | 21.80 | normal | stochastic | 4 | 4 | 0 | 0 | 0 | 0 | 8 | 0.02 | 2 | 2 | 0 | 2 | 2 | 0 | 263.41 | 234.14 | 48 | 47.19 | 52.97 | 48.68 | true | 439.01 | 80 | 78.70 | 68.75 | 79.13 | true | 58.13 | true | 22.86 | no thermal stress | false | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | ||||
| 5 | 2026-07-14T01:00:00+01:00 | 900 | weekday | partly_cloudy | 0.48 | 0 | 22.52 | 1,671.66 | 61.42 | 0.94 | 0.35 | 20.95 | busy | stochastic | 21 | 21 | 0 | 0 | 0 | 0 | 27 | 0.05 | 8 | 9 | 1 | 6 | 2 | 1 | families | 275.97 | 245.31 | 48 | 47.43 | 48.47 | 48.64 | true | 459.95 | 80 | 79.10 | 85.70 | 79.18 | true | 57.07 | true | 22.19 | no thermal stress | false | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | |||
| 6 | 2026-07-14T01:15:00+01:00 | 900 | weekday | overcast | 0.68 | 0 | 22.75 | 1,529.83 | 55.43 | 0.32 | 0.12 | 21.80 | busy | stochastic | 10 | 10 | 0 | 0 | 0 | 0 | 28 | 0.06 | 10 | 8 | 2 | 6 | 1 | 1 | general_public | 274.26 | 243.79 | 48 | 46.92 | 46.44 | 48.55 | true | 457.10 | 80 | 78.27 | 70.73 | 79.12 | true | 55.76 | true | 22.55 | no thermal stress | true | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | |||
| 7 | 2026-07-14T01:30:00+01:00 | 900 | weekday | overcast | 0.78 | 0 | 22.72 | 1,549.70 | 56.24 | 0.29 | 0.11 | 22.05 | busy | stochastic | 12 | 12 | 0 | 0 | 0 | 0 | 23 | 0.05 | 9 | 5 | 2 | 5 | 2 | 0 | general_public | 309.48 | 275.09 | 48 | 46.88 | 51.76 | 48.61 | true | 515.80 | 80 | 78.23 | 67.12 | 78.97 | true | 58.97 | true | 22.66 | no thermal stress | true | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | |||
| 8 | 2026-07-14T01:45:00+01:00 | 900 | weekday | partly_cloudy | 0.59 | 0 | 22.42 | 1,577.77 | 58.31 | 0.30 | 0.11 | 21.19 | busy | stochastic | 14 | 14 | 0 | 0 | 0 | 0 | 26 | 0.05 | 14 | 6 | 0 | 3 | 2 | 1 | general_public | 379.24 | 337.10 | 48 | 47.00 | 43.08 | 48.44 | true | 632.06 | 80 | 78.44 | 81.21 | 79.01 | true | 56.72 | true | 22.30 | no thermal stress | true | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | |||
| 9 | 2026-07-14T02:00:00+01:00 | 900 | weekday | partly_cloudy | 0.38 | 0 | 21.60 | 1,546.79 | 60.11 | 0.49 | 0.18 | 19.73 | busy | stochastic | 9 | 9 | 0 | 0 | 0 | 0 | 21 | 0.04 | 8 | 3 | 2 | 3 | 2 | 3 | general_public | 350.79 | 311.81 | 48 | 47.20 | 44.85 | 48.37 | true | 584.64 | 80 | 78.74 | 87.35 | 79.13 | true | 58.64 | true | 21.35 | no thermal stress | true | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. | |||
| 10 | 2026-07-14T02:15:00+01:00 | 900 | weekday | partly_cloudy | 0.46 | 0 | 20.84 | 1,544.86 | 62.90 | 0.35 | 0.13 | 19.22 | normal | stochastic | 13 | 13 | 0 | 0 | 0 | 0 | 23 | 0.05 | 6 | 7 | 3 | 3 | 2 | 2 | families | 332.76 | 295.79 | 48 | 47.02 | 47.25 | 48.36 | true | 554.60 | 80 | 78.46 | 75.17 | 79.16 | true | 58.52 | true | 20.80 | no thermal stress | true | low | high_risk | caution | low | high_risk | air_quality | ["air_quality"] | ["air_quality"] | 1 | false | 1 | false | action_high_risk | Overall action level high_risk; dominant issue air_quality. |
Showing first 10 of 18 sample rows
Data Visualization Interactive
Numeric Trends
Category Distribution
Machine-Readable Artifacts JSON
These files preserve declared inputs and validation outputs for auditing the published run. Reproduction requires the matching engine version and declared execution environment.
Cite This Dataset
IoTSyn (2026). Smart City & Public Spaces Dataset. [Dataset]. IoTSyn Dataset Generator. https://iotsyn.com/view.php?uid=iotsyn_6a641e24dcfb32.76419819
Source metadata: IoTSyn Dataset Generator (2026)
Indexed by IoTDataset.com on Jul 28, 2026
Review the Source Record
Confirm the licence, version, access conditions, file format, and provenance at the source before use.