Join the atmowx network
atmowx is an open, decentralized weather network built on the AT Protocol. Your station's observations live in your own atproto repository — you own the data; atmowx.net just indexes what the network publishes. Anyone can join: no registration, no API key, no permission needed.
How it works
- Your account publishes a
net.atmowx.stationrecord (name, location at the precision you choose, elevation, hardware) and a stream ofnet.atmowx.observationrecords — one per reading. - All measurements are SI units encoded as scaled integers
(
{"value": 214, "scale": -1}= 21.4 °C), because the atproto data model has no floats. - Schemas are published, resolvable lexicons under
net.atmowx.*— inspect them atat://atmowx.net/com.atproto.lexicon.schema/net.atmowx.observation. - The map at atmowx.net discovers new stations automatically from the firehose, history included.
The quick path: Ambient Weather stations
If your station reports to the Ambient Weather Network (WS-2902 and friends), our open-source, MIT-licensed bridge does everything — grab it from tangled.org/atmowx.net/awn-bridge:
git clone https://tangled.org/atmowx.net/awn-bridge
cd awn-bridge && pnpm install
cp .env.example .env # AWN keys + your PDS credentials
pnpm tsx --env-file=.env packages/bridge/src/cli.ts station create \
--name "My Station" --lat 45.55 --lon -122.67 --elevation 61
# put the printed AT-URI into AWN_DEVICE_MAP in .env, then:
docker compose up -d
# and import your full AWN history:
pnpm tsx --env-file=.env packages/bridge/src/cli.ts backfill \
--from 2024-01-01T00:00:00Z --to 2026-01-01T00:00:00Z
The bridge polls every 5 minutes, converts imperial to SI, and writes idempotent records (re-running a backfill can never duplicate).
Any other hardware
Write the two record types with any atproto client. The contract is small: validate against the published lexicons, use SI units, derive observation record keys as TIDs from the reading time, and reference your station record by AT-URI. See the API docs for how your data becomes queryable the moment you publish.
A note on locations
Your station record's coordinates are public. Choose the precision you're comfortable with — the schema treats location precision as the owner's choice (city-block, neighborhood, or exact). Elevation matters for pressure interpretation; include it if you can.