> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metar.ws/llms.txt
> Use this file to discover all available pages before exploring further.

# Publication Messages

> The publication frame is how the server delivers observations and forecasts once you're subscribed.

Every message a channel produces arrives as a `publication` frame, with the channel name and a `data` payload whose shape depends on the namespace.

```json theme={null}
{
    "type": "publication",
    "channel": "metar.obs.eglc",
    "data": {
          "station": "EGLC",
          "temp_c": "25",
          "report_time": "2026-07-12T18:20:00Z",
          "raw": "METAR EGLC 121820Z AUTO 08019KT 9999 NCD 25/04 Q1024"
    }
}
```

The full field reference for each namespace lives on its own page:

<CardGroup cols={2}>
  <Card title="METAR Observations" icon="cloud" href="/channels/metar-observations">
    Fields for the `metar.obs` and `metar.atis` namespaces
  </Card>

  <Card title="Model Forecasts" icon="chart-line" href="/channels/model-forecasts">
    Fields for the `metar.forecast` namespace
  </Card>
</CardGroup>

<Note>
  A frame replayed from cache right after subscribing carries `"cached": true`. Never use a cached frame to measure delivery latency.
</Note>

<Card title="Next: Errors" icon="triangle-exclamation" href="/protocol/errors">
  See every error code the server can send.
</Card>
