net.atmowx.observation

atmowx.net

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "One immutable weather observation. All measurement fields are optional and SI-only: celsius, hectopascal, meters/second, millimeters, W/m². Record key SHOULD be a TID derived from observedAt.",
      "key": "tid",
      "record": {
        "properties": {
          "airQuality": {
            "description": "Outdoor ambient air-quality mass concentrations, µg/m³. Derived indexes (AQI, EAQI, …) are intentionally not stored: they are jurisdiction- and time-window-specific and must be computed by consumers from the concentration series.",
            "properties": {
              "co": {
                "description": "CO mass concentration, µg/m³.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "no2": {
                "description": "NO₂ mass concentration, µg/m³.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "ozone": {
                "description": "O₃ mass concentration, µg/m³.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "pm1": {
                "description": "PM1 mass concentration, µg/m³.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "pm10": {
                "description": "PM10 mass concentration, µg/m³.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "pm25": {
                "description": "PM2.5 mass concentration, µg/m³.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "so2": {
                "description": "SO₂ mass concentration, µg/m³.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              }
            },
            "type": "object"
          },
          "dewPoint": {
            "description": "Dew point, °C.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "extra": {
            "description": "Measurements not covered by core fields. Open union.",
            "items": {
              "closed": false,
              "refs": [
                "net.atmowx.defs#measurement"
              ],
              "type": "union"
            },
            "maxLength": 64,
            "type": "array"
          },
          "observedAt": {
            "description": "Measurement time, UTC.",
            "format": "datetime",
            "type": "string"
          },
          "precipitation": {
            "properties": {
              "day": {
                "description": "mm since station-local midnight.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "event": {
                "description": "mm in the current rain event.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "hour": {
                "description": "mm in the last 60 minutes.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "rate": {
                "description": "mm/h.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              }
            },
            "type": "object"
          },
          "presentWeather": {
            "description": "WMO code table 4680 (present weather from automatic station).",
            "maximum": 511,
            "minimum": 0,
            "type": "integer"
          },
          "pressureSeaLevel": {
            "description": "Mean-sea-level reduced pressure, hPa.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "pressureStation": {
            "description": "Absolute station pressure, hPa.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "relativeHumidity": {
            "description": "Relative humidity, percent.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "snowDepth": {
            "description": "Millimeters.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "soilMoisture": {
            "description": "Percent.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "soilTemperature": {
            "description": "°C at default depth; use extra for multiple depths.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "solarIrradiance": {
            "description": "W/m².",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "station": {
            "description": "AT-URI of the net.atmowx.station this reading came from.",
            "format": "at-uri",
            "type": "string"
          },
          "temperature": {
            "description": "Air temperature, °C.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "uvIndex": {
            "description": "UV index, dimensionless.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "visibility": {
            "description": "Meters.",
            "ref": "net.atmowx.defs#quantity",
            "type": "ref"
          },
          "wind": {
            "properties": {
              "direction": {
                "description": "Degrees true, 0 = north.",
                "maximum": 359,
                "minimum": 0,
                "type": "integer"
              },
              "gust": {
                "description": "m/s.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              },
              "gustDirection": {
                "description": "Degrees true, 0 = north.",
                "maximum": 359,
                "minimum": 0,
                "type": "integer"
              },
              "speed": {
                "description": "m/s.",
                "ref": "net.atmowx.defs#quantity",
                "type": "ref"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "station",
          "observedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "net.atmowx.observation",
  "lexicon": 1
}

Validate Record

Validate a record against net.atmowx.observation

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:7ytchp6nym3ugtpx7ttilnur
CID
bafyreig43ic32al7hnq5hw5cyb22uw2ksvqhivyetebttnbpxybvts7p6e
Indexed At
2026-07-25 18:08 UTC
AT-URI
at://did:plc:7ytchp6nym3ugtpx7ttilnur/com.atproto.lexicon.schema/net.atmowx.observation

Version History (3 versions)

Referenced Schemas (2)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Where a station is sited. Elevation is strongly recommended: pressure data is hard to interpret without it.

Lexicon Garden

@