Registration is free, takes minutes, and is the step that turns your packets from noise on APRS-IS into observations NOAA will actually ingest. An unregistered station transmitting into APRS-IS is visible on aprs.fi and goes no further.
The three IDs
This is the single most confusing thing about CWOP, so it is worth getting straight before you start: the program tracks you in three databases, and each one identifies you differently.
| Looks like | Where it matters | |
|---|---|---|
| findU / packet callsign | CW1234, DW1234, EW1234, FW1234, GW1234, or a ham callsign |
What you actually transmit |
| MADIS “NWS ID” (5 chars or fewer) | C1234, D1234, E1234…, or APxxx–AVxxx for hams |
What the QC pages key on |
| CWOP “Provider ID” | CWxxxx…, or apxxx–avxxx for hams |
Internal program routing |
You will be given the first one. The other two are derived and you will meet them when you go looking at quality control reports.
What the letter prefixes mean: nothing about quality. CW, DW, EW,
FW and GW are sequential blocks handed out in order as the program grew.
CW came first and filled up, then DW, and so on. A DW station is simply
newer than a CW one.
Licensed hams do not get a CW/DW number. They use their callsign.
Registering as an unlicensed observer
- Open the registration form at
http://www.findu.com/citizenweather/cw_form.html, linked frommadis.ncep.noaa.gov/cwop_signup.shtml. It asks for your name, email, nearest town, state, ZIP and elevation. - You will be emailed an ID, typically a
DWnumber these days, usually within minutes, sometimes within a day. - Configure your software with that ID, your latitude and longitude, and the
passcode
-1. - Start sending. Registration only completes once packets are actually arriving. A registered site that never sends anything is purged after 90 days.
- Verify at
http://www.findu.com/cgi-bin/wx.cgi?call=YOURID. Data should appear within 5 to 15 minutes. Within a week you should also find yourself on MADIS and MesoWest.
To change your location or elevation later, email cwop-support@noaa.gov with decimal degrees and metres. Note the split: that email fixes the program’s metadata, but the point plotted on findU comes from the coordinates in your own packets, so you have to change both.
Registering as a licensed ham
Hams transmit under their callsign with an SSID. The APRS SSID recommendation
list maintained by WB4APR assigns -13 to weather stations, so
N0CALL-13 is the idiomatic choice for a fixed WX station.
Treat that as convention rather than law; the document itself says the SSIDs
are “not to imply any kind of decoding ‘standard’,” and the generic slots
(-1, -15) are perfectly acceptable. But -13 is what other operators will
expect to see.
Register with CWOP anyway. The form has a ham path, and registering is what gets your callsign cross-referenced and quality-controlled by MADIS. You still transmit under the callsign, never under a DW number.
The passcode
The APRS-IS passcode authenticates a login. It is a 15-bit hash of the base
callsign only, SSID stripped and upper-cased, seeded with 0x73e2. This is
the canonical algorithm, as found in aprsc and aprslib:
#define kKey 0x73e2
short aprs_passcode(const char* theCall) {
char rootCall[10]; char *p1 = rootCall;
while ((*theCall != '-') && (*theCall != 0) && (p1 < rootCall + 9))
*p1++ = toupper(*theCall++);
*p1 = 0;
short hash = kKey;
short i = 0, len = strlen(rootCall);
char *ptr = rootCall;
while (i < len) {
hash ^= (*ptr++) << 8; /* high byte */
hash ^= (*ptr++); /* low byte */
i += 2;
}
return hash & 0x7fff; /* always a positive 15-bit value */
}
Hams compute this locally, with the aprs.fi apps, magicbug, or aprslib.passcode()
all do it. Because it is derived from the callsign, it is not a secret so much
as a proof that you know what your own callsign is.
CWOP observers do not compute a passcode at all. They send the literal string
-1. That is not a placeholder for something you are missing; it is the
documented value, and it is what lets you inject your own weather packets
without claiming to be a licensed operator.
Rules and etiquette
If you are a ham (FCC Part 97): no encryption or obscuring of meaning; you identify with your callsign, which the packet header does for you; unattended and automatic operation of beacons, digipeaters and igates is permitted within the §97.203 and §97.205 rules; and third-party traffic rules apply if you are igating international traffic. Stay on the correct frequency and keep the duty cycle reasonable.
If you are not a ham: you may not transmit on amateur RF at all. You are
internet-only, pushing packets to APRS-IS over TCP. That is the entire design
of the -1 path and it is completely legal. You never touch 144.390 MHz.
Both, on CWOP’s own expectations: report no faster than once every five minutes, site the station sensibly, keep your metadata accurate, and read your quality control feedback. The “wxqa” in wxqa.com stands for weather quality assurance, because the program is as much about data quality as about coverage.
Where to go next
- The APRS weather packet: what you are about to start sending, byte by byte.
- From a station you already own: software that will do all of this for you.
- Install and commissioning: verifying the station once packets are flowing.
