The official surface network is thinner than most people expect. NOAA counts more than 900 ASOS sites in the United States, almost all of them at airports, plus somewhere between 600 and 1,100 AWOS depending on who is counting. Between those airports there is often nothing for 50 to 100 km.
Weather does not happen at that scale. An outflow boundary is a few km wide, a sea breeze front moves through a town in twenty minutes, and the dewpoint that decides whether storms fire can vary more between two neighbourhoods than the nearest two airports would ever show you.
The Citizen Weather Observer Program is the volunteer layer that fills the gap. Per wxqa.com it normally runs more than 7,000 reporting stations in North America, sending 50,000 to 75,000 observations an hour, from over 20,000 members across 149 countries. In a populated area that is several stations per town, with spacing measured in single-digit km.
This section is the whole path: getting an ID, what the packet looks like on the wire, and three different ways to build the thing that sends it.
Two doors, one network
There are two ways in, and which one you use depends on whether you hold an amateur radio licence.
Licensed hams can beacon weather over RF, on 144.390 MHz in the US, and their packets reach the internet through any igate in range. They can also feed APRS-IS directly. They transmit under their callsign.
Everyone else registers for a free CWOP ID that looks like DW1234 and
pushes identical packets to APRS-IS servers over the internet, using the
special passcode -1. This is not a lesser path or a workaround: it is the
program’s intended route, it is completely legal, and it never touches a radio.
Both land in the same place.
ham station ──▶ 144.390 MHz ──▶ igate ──┐
├──▶ APRS-IS ──▶ findU ──▶ MADIS ──▶ NWS
CWOP station ──▶ TCP to cwop.aprs.net ──┘ QC + RTMA/URMA
passcode -1 merge forecasters
Where the data actually goes
The pipeline has more steps than you would guess, and each one matters when something goes wrong later.
- Your software builds an APRS weather packet and logs in to an APRS-IS server.
- APRS-IS propagates it globally. The findU server ingests it.
- Every five minutes, findU forwards data from registered stations to MADIS, NOAA’s Meteorological Assimilation Data Ingest System.
- MADIS quality-controls it and merges it with the wider observation pool, per wxqa.com “over 25,000 other surface observations”, then redistributes it to NOAA work centres. CWOP News put that at roughly 40,000 observations an hour going to more than 900 government and non-government organisations.
- MADIS mesonet data feeds the Real-Time Mesoscale Analysis and its six-hour-later twin URMA, the near-surface analysis of record, and historically the RUC/RAP hourly assimilation.
So a reading off your roof can end up in the analysis a forecaster is looking at, and in the initial conditions of a model run.
What it is worth, honestly
The value is documented but it is not uniform across variables, and it is worth knowing which half of your station forecasters actually lean on.
A 2020 AMS assessment of RTMA for aviation confirms the ingest: “RTMA also takes in data from numerous mesonets, such as UrbaNet, state/university sponsored mesonets…, Citizen Weather Observer Program (CWOP), state DOT RWIS, and RAWS.” Knopfmeier and Stensrud (2013) found mesonet observations produced “lower root-mean-square innovations in the RTMA for temperature and dewpoint,” which is the direct statement that these observations make the analysis fit reality better.
The wind story is weaker. The same body of work found the wind benefit more marginal, and one EnKF study found that removing 75% of mesonet observations had “only minimal influence on the analysis,” because background error covariances are broader than the station spacing.
Take the honest version: temperature, dewpoint and pressure tendency from citizen stations are demonstrably useful. Wind is the least trustworthy thing your station will report, and it is the variable most sensitive to how you sited it.
What dense surface data buys a nowcaster
Radar sees precipitation. It does not see the boundary layer. Dense surface observations give a mesoanalyst things radar cannot:
- Outflow boundaries. A line of stations showing a simultaneous wind shift, temperature drop and pressure jump marks a gust front, often before it shows on reflectivity.
- Gust ground truth to calibrate radar-estimated winds against something that was actually measured.
- Surface moisture fields. Dewpoint sets instability and is almost unobserved between airports.
- Pressure falls and rises that flag developing mesolows and the bookend vortices of a derecho.
This is the layer underneath severe weather nowcasting, and it is built almost entirely out of volunteer stations.
The biases you are signing up for
Every citizen station has them. Knowing which ones you have is the difference between a useful station and a misleading one.
| Bias | Cause | Typical size |
|---|---|---|
| Radiation error | Unaspirated shield, light wind, strong sun | “not infrequently 0.5 K and occasionally 2–3 K” |
| Siting / urban heat | Roof, pavement, or a screen near a wall | Warm, persistent, hard to correct |
| Rain undercatch | Wind across the gauge mouth; no heater | Worse with wind; frozen precip missed entirely |
| Poor wind exposure | Rooftop turbulence, obstacle wakes | The largest error on most stations |
| Bearing wear | Anemometer ageing | Slow downward drift over months |
Peer-reviewed screen trials put the radiation figure above; comparisons of non-ventilated against aspirated shields have measured up to 2.8 °C at high-albedo sites. Ventilation inside a Stevenson screen is only about 10–15% of the 10 m wind, which is why a still, sunny afternoon is the worst case. One common multi-plate shield showed about 0.59 °C mean uncorrected radiation error against about 0.12 °C for a helical design.
None of this disqualifies your station. It is an argument for shielding the thermometer properly, siting over grass rather than asphalt, and above all recording your real metadata accurately so that whoever consumes the data can weight it correctly. A well-documented compromised station is far more useful than an undocumented one.
The ecosystem, briefly
| APRS-IS | The internet backbone tying RF igates and internet-only clients into one stream |
| findU | Steve Dimse’s database; the CWOP ingestion point, and where you first verify your station |
| aprs.fi | The popular map and graph front-end to APRS-IS |
| CWOP / MADIS | The quality control and government distribution layer |
| Weather Underground | A separate consumer network. Does not feed MADIS |
Where to go next
- Getting an ID: the registration form,
the three IDs CWOP will issue you, and the
-1passcode. - The APRS weather packet: the wire format, field by field, with worked examples.
- From a station you already own: the fast path, if you have a Davis, Ecowitt or Ambient.
- Your station on WxAlerts: what happens to your observations once they reach us.
