1 There are 2 classes: CMetarStation (MetarStation.h) and CMetarReport
2 (MetarReport.h). These classes provide mechanisms to get information
3 about meteorological data reporting stations and about the reports
4 themselves. These stations and reports are known as METAR. See
5 http://tgsv5.nws.noaa.gov/oso/oso1/oso12/metar.htm for information
6 from the USA perspective. Quoting from that site:
8 On 1 July 1996, the international standard code for hourly and special
9 surface weather observations, METAR/SPECI, took effect.
10 The METAR acronym roughly translates from the French as Aviation
11 Routine Weather Report . A special report, SPECI, is merely a METAR
12 formatted report which is issued on a non-routine basis as dictated by
13 changing meteorological conditions. The SPECI acronym roughly translates as
15 Aviation Selected Special Weather Report . Meanwhile, the international
16 standard code format for terminal forecasts issued for airports, TAF,
17 also took effect. The acronym translates to Aerodrome Forecast.
19 This implementation ignores the SPECI and TAF acronyms, calling the
22 The class CMetarStation is implemented by MetarStation.h and
23 MetarStation.cpp. It decodes a text file containing information about
24 individual METAR reporting stations and builds a static database of that
25 information during static construction of the class. There are static
26 member methods to find individual stations, and member functions to
27 extract individual station attributes. The information about METAR
28 stations probably has some overlap with FGFS airport information. That
29 needs to be investigated. The METAR station information is kept in this
31 http://www.nws.noaa.gov/pub/stninfo/nsd_cccc.gz
32 http://www.nws.noaa.gov/pub/stninfo/nsd_cccc.txt
33 This class looks for the file FG_ROOT/Weather/MetarStations instead of
35 The current implementation does not look for updates to this file on the
38 The class CMetarReport is implemented by MetarReport.h and MetarReport.cpp.
39 It encapsulates the decoding software written by Carl McCalla at -
40 NOAA/National Weather Service
41 1325 East-West Highway
42 SSMC2, W/OSO242, Station 5114
43 Silver Spring, Maryland 20910
44 Work: (301) 713-0882, Ext 115
46 E-Mail Address: cmccalla@smtpgate.ssmc.noaa.gov
47 http://www.nws.noaa.gov/software/
48 This software generally sucks and the CMetarReport class attempts to clean
49 up some of that suckiness. A CMetarReport object is created with an ASCII
50 string as a construction parameter. The string contains a METAR report.
52 are member methods to extract selected information from a report by calling
53 the McCalla software. Additional information can be selected by adding new
54 member methods as needed. Certainly the methods currently implemented are
55 not sufficient. METAR reports are available via the internet. In the USA,
56 NOAA provides individual METAR reports in this directory:
57 ftp://weather.noaa.gov/data/observations/metar/stations
58 Other sources are available as well. The current implementation does not
59 look for reports on the internet.
61 There is a test program in the MetarTest subdirectory. It requires that a
62 #define be changed in the MetarStation.cpp file. Add #define TESTPROG to
63 the code or -D TESTPROG to the compilation. This is necessary because the
64 FGFS options class is coupled tightly to code that shouldn't be pulled into
65 the test program. The test program will decode many METAR reports and
67 them to the screen, then it will plot all the METAR reporting stations on a