I am trying to use METAR data from AviationWeather.gov to programmatically collect hourly rainfall data. This Wiki says that the first field in the report should be "type" - either METAR or SPECI. METARs are sent every hour, SPECIs are sent sporadically under certain conditions. The problem is that the AviationWeather.gov reports are missing that first field, so I can't tell the difference between METAR and SPECI reports. I care because I can only get reliable cumulative Rainfall data from the METAR reports.

What am I missing?

  • 2
    $\begingroup$ Are you scraping data from the AWS METAR page, or parsing it from their data server feed? Assuming you're using the data server, the AWS format is documented here. But I'm not totally sure what you're doing. $\endgroup$ – Pondlife Jun 1 '16 at 20:13
  • $\begingroup$ I'm pulling it from the data server feed. I'm looking at field 23 in the document you referred to. $\endgroup$ – Jeff Jun 1 '16 at 23:13
  • $\begingroup$ Unless I missed something, field 29 is METAR/SPECI? $\endgroup$ – Pondlife Jun 2 '16 at 0:02

I don't think you can use METARs to produce precise hourly rainfall data. METARs do not express the exact amount of precipitation; rain is only expressed in three categories (light, moderate, heavy).

The way I understand your problem, you want to skip SPECI reports because you only want a single report per hour. A better way of doing this would be to use the time/date stamp in the report and simply dismiss a report if you already have one from the same hour. Say you have a report from 011203Z and you then receive another report from 011220Z. You want to dismiss the last report, because it is only 17 minutes older than the first one.

Alternatively, you can find METARs from a number of other sources, which include the message designator as well. Here is one I find useful: http://www.ogimet.com/metars.phtml.en

  • $\begingroup$ If I understand this document correctly, The data I want is: field 23, precip_in = Liquid precipitation since the last regular METAR $\endgroup$ – Jeff Jun 1 '16 at 22:49
  • $\begingroup$ The problem with trying to detect the reports coming in every hour as you suggest, is that its so fuzzy. For example, if I reports at the following times, which are METAR and which are SPECI? 1:00, 1:05, 1:40, 1:59, 2:00, 2:05, 2:40. looking at KATL for example, you can see that most reports come in at 53 after the hour, so those are probably METAR, but its hard to code for that. $\endgroup$ – Jeff Jun 1 '16 at 23:02
  • $\begingroup$ yes, ogimet.com/metars.phtml.en does specify METAR/SPECI, maybe thats the way to go $\endgroup$ – Jeff Jun 1 '16 at 23:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.