Weather data standards exist because without them, a temperature reading from one station is just a number. Is it Celsius or Fahrenheit? Measured at what height? Averaged over what period? Corrected for what biases? Reported in what format? The alphabet soup of METAR, CWOP, APRS, SYNOP, and WMO standards can be intimidating, but every one of these conventions exists to answer a specific version of those questions β€” and once you understand the rationale, the formats stop looking like random character sequences and start looking like elegantly compressed data packets.

I have decoded METARs by hand since I was a student pilot, built CWOP parsers for station software integration, and spent more time than is healthy reading WMO's CIMO guide on instrument exposure. This article distils the three standards that matter most for personal weather station operators: METAR (the aviation weather report format), CWOP (the citizen weather observation packet format based on APRS), and WMO observation guidelines (the international rules for how weather should be measured). If you contribute to CWOP β€” covered in the sharing your data guide and the expanding your reach guide β€” this article shows you the standards your data is compared against. The METAR and CWOP basics guide covers the essentials; this article goes deeper, with full format breakdowns and real-world examples.

Quick-Answer Summary

Standard What It Is Who Uses It Relevance for PWS Operators
METAR Aviation weather observation format Pilots, ATC, forecasters Cross-reference format; your data is compared against it
CWOP/APRS Citizen weather packet format CWOP contributors, MADIS The format your station publishes in
WMO/CIMO International observation guidelines National met services, researchers Siting and measurement standards you should aspire to

METAR: The Aviation Weather Report

METAR (Meteorological Aerodrome Report) is the standard format for routine weather observations at airports worldwide. It is issued hourly (or more frequently as SPECI reports when conditions change rapidly) and is the most widely distributed surface weather observation format in the world.

Format Breakdown

A METAR looks like this:

METAR LFPG 101230Z 22015G25KT 9999 FEW040 SCT100 24/15 Q1018 NOSIG

Let us decode it field by field:

METAR β€” Report type. METAR for routine, SPECI for special (triggered by significant changes).

LFPG β€” Station identifier. ICAO four-letter code. LFPG is Paris Charles de Gaulle. Every airport with weather reporting has one. Personal weather stations do not get ICAO codes β€” this is an aviation-only system.

101230Z β€” Date and time. Day 10 of the month, 12:30 UTC (Z = Zulu = UTC). METARs always use UTC, never local time.

22015G25KT β€” Wind. Direction 220Β° (southwest), speed 15 knots, gusting to 25 knots. KT means knots. Some stations report in metres per second (MPS). The direction is always magnetic north at the reporting station.

Wind encoding rules:

  • Calm: 00000KT
  • Variable direction with speed below 6 knots: VRB03KT
  • Variable direction range appended: 18015KT 150V210 (wind from 180Β° at 15 knots, varying between 150Β° and 210Β°)

9999 β€” Visibility. In metres. 9999 means 10 km or more (effectively unlimited). Values below 5000 m are operationally significant for aviation. North American METARs use statute miles instead: 10SM means 10 statute miles or more.

This is one of the most common sources of confusion when cross-referencing international METARs. Always check whether the issuing country uses metres or statute miles. The format itself does not always make it obvious β€” context (the station's ICAO prefix) is your guide.

FEW040 SCT100 β€” Sky condition. Cloud layers reported in ascending order:

  • FEW = 1/8 to 2/8 coverage
  • SCT = 3/8 to 4/8 (scattered)
  • BKN = 5/8 to 7/8 (broken)
  • OVC = 8/8 (overcast)

The number is the cloud base height in hundreds of feet above aerodrome level. FEW040 = few clouds at 4,000 feet. SCT100 = scattered at 10,000 feet.

Ceiling is defined as the lowest BKN or OVC layer. In this example, there is no ceiling β€” both layers are less than 5/8 coverage.

24/15 β€” Temperature and dewpoint. Both in whole degrees Celsius. 24/15 means 24 Β°C temperature, 15 Β°C dewpoint. Below zero is indicated with M: M02/M05 means βˆ’2 Β°C / βˆ’5 Β°C.

Q1018 β€” Altimeter setting. Q followed by QNH in hectopascals (1018 hPa). North American METARs use A followed by inches of mercury in hundredths: A3006 means 30.06 inHg. Again, regional convention β€” know which system the station uses.

NOSIG β€” Trend forecast. NOSIG means no significant change expected. Other options: BECMG (becoming), TEMPO (temporary).

Decoding Real Examples

Example 1 β€” Winter, low visibility:

METAR EGLL 150800Z 09004KT 0400 FG VV001 M01/M01 Q1031

EGLL = London Heathrow. Wind from 090Β° at 4 knots. Visibility 400 metres. FG = fog. VV001 = vertical visibility 100 feet (no definable cloud base β€” fog obscures the sky). Temperature and dewpoint both βˆ’1 Β°C (saturated air β€” classic radiation fog). QNH 1031 hPa.

Example 2 β€” Thunderstorm:

SPECI KJFK 221845Z 27025G42KT 3SM +TSRA BKN020CB OVC050 19/17 A2978 RMK AO2 TSB35 SLP085

SPECI = special report (conditions changed rapidly). KJFK = New York JFK. Wind from 270Β° at 25 knots gusting 42. Visibility 3 statute miles. +TSRA = heavy thunderstorm with rain. BKN020CB = broken cumulonimbus at 2,000 feet. OVC050 = overcast at 5,000 feet. Temp 19 Β°C, dewpoint 17 Β°C. Altimeter 29.78 inHg. Remarks: automated station type AO2, thunderstorm began 35 minutes past the hour, sea-level pressure 1008.5 hPa.

Why METAR Matters for PWS Operators

You cannot publish METAR from a personal weather station β€” the format is reserved for certified aerodrome observations. But METAR is the benchmark your data is compared against. When MADIS quality-controls your CWOP submission, it cross-references against the nearest METAR station. If your temperature reading diverges wildly from the airport METAR 15 km away, MADIS flags it.

Understanding METAR helps you:

  • Cross-reference your station data against official observations for calibration.
  • Interpret the data quality feedback from CWOP/MADIS.
  • Communicate with other weather enthusiasts using the lingua franca of surface observations.

CWOP Packet Structure

CWOP data is transmitted as APRS (Automatic Packet Reporting System) weather packets over APRS-IS (the internet gateway). The format is compact and highly structured.

Full Packet Anatomy

CW1234>APRS,TCPIP*:@181200z4836.50N/00215.30E_270/012g020t068r005p015P030h72b10215

CW1234 β€” Source call sign. Your CWOP identifier.

>APRS,TCPIP*: β€” Destination and path. APRS is the standard destination for weather packets. TCPIP* indicates the packet entered APRS-IS via the internet (as opposed to over radio).

@181200z β€” Timestamp. Day 18, 12:00 UTC. The @ prefix indicates a position report with timestamp.

4836.50N/00215.30E β€” Position. Latitude 48 degrees 36.50 minutes North, longitude 002 degrees 15.30 minutes East. This is in degrees and decimal minutes, not decimal degrees. This distinction trips up many operators.

Converting from decimal degrees to APRS format:

  • Decimal: 48.60833Β° N, 2.25500Β° E
  • Degrees and decimal minutes: 48Β°36.50'N, 002Β°15.30'E
  • APRS format: 4836.50N/00215.30E

The longitude always uses three digits for degrees (zero-padded). Getting this wrong places your station in the wrong location, which triggers MADIS spatial consistency failures.

_270 β€” Wind direction in degrees. _000 = calm or variable.

/012 β€” Wind speed in mph (one-minute sustained average).

g020 β€” Gust speed in mph (peak in the last 5 minutes).

t068 β€” Temperature in Fahrenheit. t-05 for negative values (= βˆ’5 Β°F).

r005 β€” Rain in the last hour, in hundredths of an inch. 005 = 0.05 inches.

p015 β€” Rain in the last 24 hours (rolling), in hundredths of an inch.

P030 β€” Rain since midnight (local midnight at the station), in hundredths of an inch.

h72 β€” Humidity as a percentage. h00 = 100% (the format uses 00 for 100 since only two digits are available).

b10215 β€” Barometric pressure in tenths of hectopascals (millibars). 10215 = 1021.5 hPa. This is station-level pressure, not sea-level pressure. MADIS applies its own correction.

Unit Chaos, by Design

Yes, the CWOP packet mixes imperial and metric units. Wind and temperature in imperial (mph, Β°F), pressure in metric (hPa), rain in a peculiar hundredths-of-inches scale. This is inherited from the APRS specification, which was designed by American amateur radio operators in the 1990s. It is what it is. Your station software handles the conversions β€” you should never construct these packets manually unless you are debugging a format issue.

Common CWOP Format Errors

  • Latitude/longitude in decimal degrees instead of degrees-and-decimal-minutes. This places your station in the wrong location. The error is insidious because the numbers look plausible β€” 48.608N parses as 48Β°60.8'N, which is 49Β°00.8'N. A one-degree error in latitude is ~111 km.
  • Longitude not zero-padded to three digits. 2Β°15.30'E must be 00215.30E, not 215.30E. Missing the leading zero shifts the position by tens of degrees.
  • Humidity 100 instead of h00. The two-character field cannot hold 100. The convention is h00 = 100%.
  • Sea-level pressure instead of station pressure. MADIS applies its own reduction. Double-corrected pressure stands out immediately in the QC reports.

WMO Observation Standards

The World Meteorological Organization publishes the CIMO guide (Commission for Instruments and Methods of Observation) β€” the international reference for how weather should be measured. While personal weather stations are not bound by WMO standards, understanding them helps you evaluate your own setup and improve data quality.

Temperature Measurement

WMO standards require:

  • Sensor height: 1.25 to 2.0 metres above ground level.
  • Ventilation: Natural or forced ventilation to prevent radiative heating. A Stevenson screen (louvred wooden or plastic shelter) is the standard. Aspirated radiation shields (with a fan) are superior.
  • Surface: Over a natural surface (grass), not tarmac, concrete, or gravel. The sensor should be at least 30 metres from any paved surface.
  • Distance from buildings: At least 4 times the height of the nearest obstacle. A 3-metre-tall garden wall means the sensor should be at least 12 metres away.

Most personal weather stations violate at least one of these. A sensor mounted 3 metres up on a post behind the house, with an aspirated shield, over a lawn, is a realistic best effort. A sensor mounted on a brick wall in direct afternoon sun is a temperature measurement of the wall, not the air.

The observation standards guide covers siting recommendations in practical terms for home station operators.

Wind Measurement

WMO standards require:

  • Anemometer height: 10 metres above open, level terrain.
  • Open exposure: No obstructions within 10 times the obstruction height. A 5-metre tree within 50 metres of the anemometer violates the standard.
  • Averaging period: Sustained wind is a 10-minute average (WMO) or 2-minute average (US convention). Gusts are the peak 3-second wind.

Few personal stations mount anemometers at 10 metres β€” most end up at 5–7 metres on a rooftop or chimney. Rooftop mounts suffer from building-induced turbulence, which inflates gust readings and distorts direction. The correction factor is complex and site-specific; as a rule of thumb, rooftop wind speeds at 6 metres are roughly 1.2–1.5Γ— the open-terrain 10-metre value for sustained wind, but the relationship varies with wind direction relative to the building.

Pressure Measurement

WMO is relatively lenient on pressure measurement β€” the sensor can be indoors (pressure does not vary measurably across the short distances involved) and at any height, as long as the elevation is accurately known so that sea-level reduction can be applied. The critical factor is calibration: a pressure sensor should be checked against a mercury barometer or a reference standard annually.

Most personal weather stations report pressure to Β±1 hPa out of the box, which is adequate for synoptic purposes. Over time, electronic sensors can drift by 1–2 hPa β€” an annual calibration check against a nearby METAR station's altimeter setting catches this.

Precipitation Measurement

WMO standards require:

  • Gauge height: Rim at 1.0–1.5 metres above ground (below the turbulence zone around the gauge mouth).
  • Open exposure: No overhanging trees, buildings, or fences. The nearest obstacle should be at least twice its height away from the gauge.
  • Wind shielding: A windshield (e.g., an Alter shield) around the gauge reduces wind-induced undercatch, which is the dominant error in precipitation measurement β€” especially for snow.

Tipping-bucket gauges (used in most consumer stations) have known limitations: they miss light drizzle below the bucket trip threshold, they undercount in heavy rain because water flows through while the bucket tips, and they cannot measure snowfall water equivalent without heating. Understanding these limitations helps you interpret your own precipitation records critically.

How WMO Standards Apply to Personal Stations

You are not expected to meet WMO standards perfectly. But knowing where your setup deviates helps you:

  • Interpret discrepancies between your data and nearby METAR or CWOP stations.
  • Improve siting incrementally. Moving your thermometer from a wall mount to a pole-mounted radiation shield is a dramatic improvement even if the pole is only 1.8 metres tall.
  • Understand MADIS quality flags. If your temperature consistently reads high compared to neighbours, poor siting β€” not sensor failure β€” is the likely cause.

Data Quality Flags and Rejection Reasons

When you submit data to CWOP, MADIS runs it through a multi-stage quality control pipeline:

Validity Check

Is the value physically possible? Temperature between βˆ’90 Β°C and +60 Β°C? Pressure between 870 and 1085 hPa? Humidity between 0 and 100%? Values outside these ranges are immediately rejected.

Temporal Consistency

Did the value change plausibly since the last report? A 15 Β°C temperature jump in 10 minutes is suspicious. A pressure drop of 20 hPa in an hour is virtually impossible outside a tornado.

Spatial Consistency

Does your reading agree with nearby stations? If every station within 50 km reports 22–25 Β°C and yours reports 35 Β°C, it is flagged. The allowed deviation depends on terrain complexity β€” more variability is tolerated in mountainous areas.

Internal Consistency

Are the variables physically consistent with each other? The dewpoint cannot exceed the temperature. Relative humidity near 100% should correlate with dewpoint very close to temperature. Rain rate above zero should not coincide with humidity below 40%.

Persistence Check

Has the value been unchanged for an abnormally long time? A thermometer stuck at exactly 22.0 Β°C for six hours is almost certainly a dead sensor reporting a cached value.

Data that fails these checks receives a quality flag. Depending on the severity, it may be:

  • Flagged but available β€” downstream users can see the flag and decide whether to use the data.
  • Excluded from assimilation β€” the data is not used in NWP model initialisation.
  • Rejected entirely β€” the data is discarded.

The station data sanity checks guide mirrors these checks at the station level, so you can catch problems before MADIS does.

Common Mistakes

  1. Confusing METAR visibility units. Metres in most of the world, statute miles in the US and Canada. Mixing them up when cross-referencing leads to absurd comparisons.

  2. Wrong CWOP position format. Degrees-and-decimal-minutes, not decimal degrees. This is the single most common registration error in CWOP and the hardest to debug because the data looks reasonable at a glance.

  3. Not accounting for WMO sensor height requirements. Comparing your 1.5-metre thermometer against a METAR that measures at 2 metres, or your 5-metre anemometer against a METAR's 10-metre standard, without understanding the systematic differences.

  4. Sending sea-level pressure to CWOP instead of station pressure. MADIS applies its own reduction. Double-corrected pressure will be flagged immediately.

  5. Assuming METAR cloud reporting is precise. METAR cloud base heights are rounded to the nearest hundred feet. Coverage categories (FEW, SCT, BKN, OVC) are octave ranges, not exact fractions. Comparing them to your ceilometer or sky camera data requires understanding the inherent imprecision.

  6. Ignoring the humidity = 00 convention in CWOP. If your software sends h100 instead of h00, the packet is malformed and may be silently dropped or misinterpreted as 10.0% humidity.

Related Reading

FAQ

Can I generate METAR reports from my personal weather station? You can format your data in METAR-like syntax for personal reference or display, but you cannot publish official METARs β€” those are reserved for certified aerodrome observations from approved stations. Some station software offers a "METAR-style" display that presents your data in the familiar format for easy reading.

How do I know if my CWOP packets are correctly formatted? Submit a packet and check the APRS-IS raw feed for your call sign. If the packet appears with all fields populated and your station shows up on the CWOP map at the correct location, the format is correct. If the position is wrong, the latitude/longitude encoding is the first thing to check.

Which pressure value should I send to CWOP β€” station or sea level? Station pressure. Always. MADIS applies its own elevation-based reduction to sea level. If you send sea-level pressure, it gets reduced again, producing a value that is systematically too low for stations above sea level and too high for stations below (rare, but they exist).

Do WMO standards apply to personal weather stations? Not legally or officially. But WMO standards represent best practice for accurate measurement. The closer your station conforms, the more reliable your data is β€” and the better it performs in MADIS quality control. Think of WMO standards as aspirational guidelines rather than mandatory rules.

What is the difference between METAR and SYNOP? METAR is the aviation-focused report format (hourly, from aerodromes). SYNOP is the full synoptic observation format (every 6 hours, from a broader set of stations including non-aviation sites). SYNOP includes more parameters (cloud types at multiple levels, present and past weather, precipitation period totals, soil temperature) and is encoded in the FM-12 format. For personal weather station operators, METAR is more relevant because it is more widely available and easier to decode.

Why does CWOP use such an odd mix of units? The APRS weather format was designed by amateur radio operators in North America in the early 1990s. Wind and temperature use imperial units because that was the US convention. Pressure uses metric (hPa) because the international scientific community had standardised on it. Rain uses hundredths of an inch because the original tipping-bucket gauges had 0.01-inch tips. It is an historical artefact, not a deliberate design choice. Modern station software handles all conversions transparently.