]> git.mxchange.org Git - simgear.git/blob - simgear/metar/README.Metar
FG_ to SG_ namespace changes.
[simgear.git] / simgear / metar / README.Metar
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:
7
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
14
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.
18
19 This implementation ignores the SPECI and TAF acronyms, calling the
20 entire system METAR.
21
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
30 file:
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
34 nsd_cccc.
35 The current implementation does not look for updates to this file on the
36 internet.
37
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
45      FAX:                      (301) 608-0911 
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.
51 There
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.
60
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
66 display
67 them to the screen, then it will plot all the METAR reporting stations on a
68 tumbling globe.
69