# smart-data-models/datamodel.environment architecture

> Architecture diagram of the GitHub repository smart-data-models/datamodel.environment, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/smart-data-models/datamodel.environment
- Repository: https://github.com/smart-data-models/datamodel.environment

## Overview

This repository is a catalog of environmental data-model definitions, not a running service. A user selects a domain model and uses its documented schema and examples to represent environmental observations, forecasts, or impact measures. The tree also provides generated Pydantic representations for many models. The README establishes the catalog’s scope, but the sampled sources do not show a shared runtime, ingestion pipeline, or connections among model types; edges therefore show only the documented catalog relationship.

Main entry points: [`README.md`](https://github.com/smart-data-models/datamodel.environment/blob/master/README.md) (Environment Catalog), [`AeroAllergenObserved/model.yaml`](https://github.com/smart-data-models/datamodel.environment/blob/master/AeroAllergenObserved/model.yaml) (Pollen Observed), [`AirQualityForecast/code/code_for_using_pydantic.py`](https://github.com/smart-data-models/datamodel.environment/blob/master/AirQualityForecast/code/code_for_using_pydantic.py) (Air Forecast), [`AirQualityMonitoring/code/code_for_using_pydantic.py`](https://github.com/smart-data-models/datamodel.environment/blob/master/AirQualityMonitoring/code/code_for_using_pydantic.py) (Air Monitoring)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_air["Air And Environment"]
  node_aero["Pollen Observed<br/>[model.yaml]"]
  node_airforecast["Air Forecast"]
  node_airmonitoring["Air Monitoring"]
  node_airobserved["Air Observed"]
  node_environment["Environment Observed"]
  node_indoor["Indoor Observed"]
  node_electromagnetic["Electromagnetic Observed"]
  node_mosquito["Mosquito Density"]
end

subgraph group_sound["Noise And Light"]
  node_night["Night Sky Quality<br/>[model.yaml]"]
  node_noiselevel["Noise Level"]
  node_noisepollution["Noise Pollution<br/>[model.yaml]"]
  node_noiseforecast["Noise Forecast"]
end

subgraph group_water["Water And Weather"]
  node_flood["Flood Monitoring<br/>[model.yaml]"]
  node_phreatic["Groundwater Observed<br/>[model.yaml]"]
  node_rainfall["Radar Rainfall"]
  node_waterobserved["Water Observed"]
end

subgraph group_impact["Other Impacts"]
  node_carbon["Carbon Footprint<br/>[model.yaml]"]
  node_traffic["Traffic Impact"]
  node_trafficforecast["Traffic Forecast"]
end

node_user(("Model User"))
node_catalog["Environment Catalog<br/>[README.md]"]

node_user -->|"selects model"| node_catalog
node_catalog -->|"lists model"| node_aero
node_catalog -->|"lists model"| node_airforecast
node_catalog -->|"lists model"| node_airmonitoring
node_catalog -->|"lists model"| node_airobserved
node_catalog -->|"lists model"| node_environment
node_catalog -->|"lists model"| node_indoor
node_catalog -->|"lists model"| node_electromagnetic
node_catalog -->|"lists model"| node_carbon
node_catalog -->|"lists model"| node_flood
node_catalog -->|"lists model"| node_mosquito
node_catalog -->|"lists model"| node_night
node_catalog -->|"lists model"| node_noiselevel
node_catalog -->|"lists model"| node_noisepollution
node_catalog -->|"lists model"| node_noiseforecast
node_catalog -->|"lists model"| node_phreatic
node_catalog -->|"lists model"| node_rainfall
node_catalog -->|"lists model"| node_traffic
node_catalog -->|"lists model"| node_trafficforecast
node_catalog -->|"lists model"| node_waterobserved

click node_catalog "https://github.com/smart-data-models/datamodel.environment/blob/master/README.md"
click node_aero "https://github.com/smart-data-models/datamodel.environment/blob/master/AeroAllergenObserved/model.yaml"
click node_airforecast "https://github.com/smart-data-models/datamodel.environment/blob/master/AirQualityForecast/code/code_for_using_pydantic.py"
click node_airmonitoring "https://github.com/smart-data-models/datamodel.environment/blob/master/AirQualityMonitoring/code/code_for_using_pydantic.py"
click node_airobserved "https://github.com/smart-data-models/datamodel.environment/blob/master/AirQualityObserved/code/code_for_using_pydantic.py"
click node_environment "https://github.com/smart-data-models/datamodel.environment/blob/master/EnvironmentObserved/code/code_for_using_pydantic.py"
click node_indoor "https://github.com/smart-data-models/datamodel.environment/blob/master/IndoorEnvironmentObserved/code/code_for_using_pydantic.py"
click node_electromagnetic "https://github.com/smart-data-models/datamodel.environment/blob/master/ElectroMagneticObserved/code/code_for_using_pydantic.py"
click node_carbon "https://github.com/smart-data-models/datamodel.environment/blob/master/CarbonFootprint/model.yaml"
click node_flood "https://github.com/smart-data-models/datamodel.environment/blob/master/FloodMonitoring/model.yaml"
click node_mosquito "https://github.com/smart-data-models/datamodel.environment/blob/master/MosquitoDensity/code/code_for_using_pydantic.py"
click node_night "https://github.com/smart-data-models/datamodel.environment/blob/master/NightSkyQuality/model.yaml"
click node_noiselevel "https://github.com/smart-data-models/datamodel.environment/blob/master/NoiseLevelObserved/code/code_for_using_pydantic.py"
click node_noisepollution "https://github.com/smart-data-models/datamodel.environment/blob/master/NoisePollution/model.yaml"
click node_noiseforecast "https://github.com/smart-data-models/datamodel.environment/blob/master/NoisePollutionForecast/code/code_for_using_pydantic.py"
click node_phreatic "https://github.com/smart-data-models/datamodel.environment/blob/master/PhreaticObserved/model.yaml"
click node_rainfall "https://github.com/smart-data-models/datamodel.environment/blob/master/RainFallRadarObserved/code/code_for_using_pydantic.py"
click node_traffic "https://github.com/smart-data-models/datamodel.environment/blob/master/TrafficEnvironmentImpact/code/code_for_using_pydantic.py"
click node_trafficforecast "https://github.com/smart-data-models/datamodel.environment/blob/master/TrafficEnvironmentImpactForecast/code/code_for_using_pydantic.py"
click node_waterobserved "https://github.com/smart-data-models/datamodel.environment/blob/master/WaterObserved/code/code_for_using_pydantic.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_aero,node_airforecast,node_airmonitoring,node_airobserved,node_environment,node_indoor,node_electromagnetic,node_mosquito,node_user toneBlue
class node_night,node_noiselevel,node_noisepollution,node_noiseforecast toneAmber
class node_flood,node_phreatic,node_rainfall,node_waterobserved toneMint
class node_carbon,node_traffic,node_trafficforecast toneRose
class node_catalog toneTeal
```

## Components

### Air And Environment

- [Pollen Observed](https://github.com/smart-data-models/datamodel.environment/blob/master/AeroAllergenObserved/model.yaml): `AeroAllergenObserved/model.yaml`
- [Air Forecast](https://github.com/smart-data-models/datamodel.environment/blob/master/AirQualityForecast/code/code_for_using_pydantic.py): `AirQualityForecast/code/code_for_using_pydantic.py`
- [Air Monitoring](https://github.com/smart-data-models/datamodel.environment/blob/master/AirQualityMonitoring/code/code_for_using_pydantic.py): `AirQualityMonitoring/code/code_for_using_pydantic.py`
- [Air Observed](https://github.com/smart-data-models/datamodel.environment/blob/master/AirQualityObserved/code/code_for_using_pydantic.py): `AirQualityObserved/code/code_for_using_pydantic.py`
- [Environment Observed](https://github.com/smart-data-models/datamodel.environment/blob/master/EnvironmentObserved/code/code_for_using_pydantic.py): `EnvironmentObserved/code/code_for_using_pydantic.py`
- [Indoor Observed](https://github.com/smart-data-models/datamodel.environment/blob/master/IndoorEnvironmentObserved/code/code_for_using_pydantic.py): `IndoorEnvironmentObserved/code/code_for_using_pydantic.py`
- [Electromagnetic Observed](https://github.com/smart-data-models/datamodel.environment/blob/master/ElectroMagneticObserved/code/code_for_using_pydantic.py): `ElectroMagneticObserved/code/code_for_using_pydantic.py`
- [Mosquito Density](https://github.com/smart-data-models/datamodel.environment/blob/master/MosquitoDensity/code/code_for_using_pydantic.py): `MosquitoDensity/code/code_for_using_pydantic.py`

### Noise And Light

- [Night Sky Quality](https://github.com/smart-data-models/datamodel.environment/blob/master/NightSkyQuality/model.yaml): `NightSkyQuality/model.yaml`
- [Noise Level](https://github.com/smart-data-models/datamodel.environment/blob/master/NoiseLevelObserved/code/code_for_using_pydantic.py): `NoiseLevelObserved/code/code_for_using_pydantic.py`
- [Noise Pollution](https://github.com/smart-data-models/datamodel.environment/blob/master/NoisePollution/model.yaml): `NoisePollution/model.yaml`
- [Noise Forecast](https://github.com/smart-data-models/datamodel.environment/blob/master/NoisePollutionForecast/code/code_for_using_pydantic.py): `NoisePollutionForecast/code/code_for_using_pydantic.py`

### Water And Weather

- [Flood Monitoring](https://github.com/smart-data-models/datamodel.environment/blob/master/FloodMonitoring/model.yaml): `FloodMonitoring/model.yaml`
- [Groundwater Observed](https://github.com/smart-data-models/datamodel.environment/blob/master/PhreaticObserved/model.yaml): `PhreaticObserved/model.yaml`
- [Radar Rainfall](https://github.com/smart-data-models/datamodel.environment/blob/master/RainFallRadarObserved/code/code_for_using_pydantic.py): `RainFallRadarObserved/code/code_for_using_pydantic.py`
- [Water Observed](https://github.com/smart-data-models/datamodel.environment/blob/master/WaterObserved/code/code_for_using_pydantic.py): `WaterObserved/code/code_for_using_pydantic.py`

### Other Impacts

- [Carbon Footprint](https://github.com/smart-data-models/datamodel.environment/blob/master/CarbonFootprint/model.yaml): `CarbonFootprint/model.yaml`
- [Traffic Impact](https://github.com/smart-data-models/datamodel.environment/blob/master/TrafficEnvironmentImpact/code/code_for_using_pydantic.py): `TrafficEnvironmentImpact/code/code_for_using_pydantic.py`
- [Traffic Forecast](https://github.com/smart-data-models/datamodel.environment/blob/master/TrafficEnvironmentImpactForecast/code/code_for_using_pydantic.py): `TrafficEnvironmentImpactForecast/code/code_for_using_pydantic.py`

### Other components

- **Model User**
- [Environment Catalog](https://github.com/smart-data-models/datamodel.environment/blob/master/README.md): `README.md`

## Connections

- Model User → Environment Catalog: selects model (evidence: `README.md`)
- Environment Catalog → Pollen Observed: lists model (evidence: `README.md`)
- Environment Catalog → Air Forecast: lists model (evidence: `README.md`)
- Environment Catalog → Air Monitoring: lists model (evidence: `README.md`)
- Environment Catalog → Air Observed: lists model (evidence: `README.md`)
- Environment Catalog → Environment Observed: lists model (evidence: `README.md`)
- Environment Catalog → Indoor Observed: lists model (evidence: `README.md`)
- Environment Catalog → Electromagnetic Observed: lists model (evidence: `README.md`)
- Environment Catalog → Carbon Footprint: lists model (evidence: `README.md`)
- Environment Catalog → Flood Monitoring: lists model (evidence: `README.md`)
- Environment Catalog → Mosquito Density: lists model (evidence: `README.md`)
- Environment Catalog → Night Sky Quality: lists model (evidence: `README.md`)
- Environment Catalog → Noise Level: lists model (evidence: `README.md`)
- Environment Catalog → Noise Pollution: lists model (evidence: `README.md`)
- Environment Catalog → Noise Forecast: lists model (evidence: `README.md`)
- Environment Catalog → Groundwater Observed: lists model (evidence: `README.md`)
- Environment Catalog → Radar Rainfall: lists model (evidence: `README.md`)
- Environment Catalog → Traffic Impact: lists model (evidence: `README.md`)
- Environment Catalog → Traffic Forecast: lists model (evidence: `README.md`)
- Environment Catalog → Water Observed: lists model (evidence: `README.md`)
