METAR versus a Cumulus Personal-Weather Record

Official METAR is an NWS/ICAO aviation code. A hobby METAR-like string from Cumulus is a compact PWS encoding and cannot claim that official status.

Back to Cumulus weather software guides

METAR is a compact aviation surface observation code. A Cumulus personal weather station (PWS) record is a logger’s current conditions, often a line of realtime.txt or a set of web tags. The historical path /projects.metar sat where those two worlds were tempted to meet: a hobby project that formatted Cumulus values to look like a METAR. This article states what that resemblance can and cannot claim.

It is not a fetch tutorial. Pulling an official METAR or TAF from a government source to compare with a nearby PWS is getmetar.php. The original formatter, if any, is not rehosted, and this page does not publish a homemade METAR encoder.

What official METAR is

In WMO language, FM-15 METAR is the aerodrome routine meteorological report (with or without a trend forecast). FM-16 SPECI is the selected special report issued when specified criteria are met (WMO Codes Registry: FM-15 METAR; WMO Manual on Codes, Volume I.1, WMO-No. 306). Those manuals have the status of WMO Technical Regulations for the international code forms.

In the United States, the same code family is implemented as the national surface reporting practice in Federal Meteorological Handbook No. 1, Surface Weather Observations and Reports (FCM-H1-2019, July 2019) (ICAMS handbook list; FMH-1 PDF, last checked 13 August 2026). NWS describes a METAR as the format used for aviation weather reporting, typically issued hourly at reporting locations, including airport identifier, time, wind, visibility, runway visual range, present weather, sky condition, temperature, dew point, and altimeter setting (NWS ASOS: What’s a METAR?).

The report type, the four-letter ICAO station identifier, and the time group with a Z (UTC) are not decorative. They say: this is an official aerodrome observation (or a defined automatic/manual variant), from a listed location, at a listed instant. SPECI, AUTO, COR, remarks (RMK), and altimeter form (A versus Q) are part of that regulated language, not optional flavor text.

ICAO practices for meteorological service to international air navigation sit alongside WMO codes. A string is not a METAR because it is short and contains a temperature.

What a Cumulus record is

Cumulus reads a personal station and writes local logs plus optional public files. The compact current packet is realtime.txt: date and time in local/PC convention, outside temperature, humidity, dew point, wind, rain, sea-level pressure, unit tokens, today’s extremes, version/build, and later derived fields (wind chill, heat index, humidex, Zambretti-style forecast number, and others). Web tags expose the same families in templates (Webtags).

That packet is a PWS observation (plus software-derived extras). It is not:

  • an ICAO station identifier (a backyard Davis or Fine Offset site has no airport code);
  • a visibility, RVR, or sky-condition program as specified for METAR;
  • a present-weather code assigned by an observer or a certified automated algorithm under FMH-1;
  • an altimeter setting reported in the METAR altimeter group as a regulated aviation product;
  • a report disseminated on the WMO/ICAO circuits.

Siting is also different. FMH-1 and related federal siting standards exist so aerodrome sensors support aircraft operations. A PWS thermometer on a roof, next to a dryer vent, or over asphalt can still produce a perfect realtime.txt. The file does not certify the exposure.

What a hobby “METAR-like” string can do

A compact encoding of Cumulus values can be a reasonable local shorthand: one line for a banner, a ham-radio status, or a footer. It can borrow layout ideas—wind then visibility-like slots then temperature—so a human used to scanning METARs can read it quickly.

It can:

  • show the PWS temperature, dew point, wind, and pressure in a dense order;
  • include an explicit non-ICAO identifier (station name or a private tag);
  • include a timestamp that states local time or UTC and says which;
  • include units or a documented unit convention, because Cumulus units are configurable;
  • label itself as a personal-station summary.

Those uses are communication design. They are not aviation observations.

What it cannot claim

Do not:

  • prefix the line with METAR as if it were a report type under FMH-1 or WMO FM-15;
  • invent a four-letter ICAO-looking code for a backyard (especially not a real nearby airport’s code);
  • emit AUTO to imply a certified automated observing system;
  • put KT, SM, or A2992 in the string unless those quantities were actually measured and converted with a documented method—and even then, do not imply official status;
  • copy remarks from a real METAR onto a PWS line;
  • substitute the string for a METAR in a briefing, a flight decision, or a claim of “airport weather.”

A Zambretti-style forecast number from Cumulus is a scenario output of station software. It is not a TAF. A TAF is a terminal aerodrome forecast with its own WMO/ICAO code form. Mixing a PWS “METAR-like” line with a real TAF on one page without labels is how readers treat a hobby string as official.

If you need the official observation for comparison, fetch it from an official source and keep both records labeled. That fetch is the getmetar problem. Distance, staleness, and elevation still apply; a PWS five kilometres from an ASOS is not the ASOS.

Encoding differences that break naive copies

Even a well-meaning “just print the fields in METAR order” project trips on measurement definitions:

| Topic | Official METAR (US / WMO family) | Typical Cumulus PWS packet | |---|---|---| | Time | Day-hour-minute UTC with Z | PC local date/time, locale separator | | Wind | Direction and speed with gust rules, units in the group (KT, MPS, …) | Average and latest speed plus bearing; unit token separate | | Visibility | Statute miles or metres per national practice | Often absent | | Sky | Layer amounts and heights AGL, or CLR/SKC/VV | Optional derived cloud-base estimate, not a METAR sky group | | Temperature / dew point | Whole degrees Celsius in the body (US practice as documented in FMH-1) | Decimal degrees C or F per station units | | Pressure | Altimeter setting (US A) or QNH (Q) | Sea-level pressure in hPa, mb, or inches | | Identifier | ICAO location indicator | None in realtime.txt |

Rounding temperature to integer Celsius, converting hPa to an A group, and guessing visibility from humidity are derived operations. If a project performs them, it must say so. Silent conversion is how a 21.4 °C reading becomes a fake official report.

Practical rules for a Cumulus site

  1. Keep the PWS record in Cumulus native form (realtime.txt, XML, RSS) for science.
  2. If you show a nearby official METAR, label the ICAO id, UTC time, and source.
  3. If you show a compact homemade line, title it “station summary” or similar—not “METAR.”
  4. Never use a real airport identifier as if it were your station.
  5. For hazards and aviation decisions, use NWS and Aviation Weather Center products, not a Cumulus banner.

Provenance—the difference between an official code form and a station imitation—is the same discipline TNET applies to public weather records on data sources, quality controls, and methodology. Observed versus derived labeling in TNET’s own research is conceptual on how the service works. The Cumulus hub indexes the related historical projects.

Sources