]> git.mxchange.org Git - simgear.git/blob - simgear/metar/MetarTest/MetarLibTest.cpp
MacOS X fixes
[simgear.git] / simgear / metar / MetarTest / MetarLibTest.cpp
1 // Metar Library  test
2
3 #ifdef HAVE_CONFIG_H
4 #  include <simgear_config.h>
5 #endif
6
7 #ifdef HAVE_WINDOWS_H
8 #  include <windows.h>
9 #endif
10
11 #include GLUT_H
12
13 #include <iostream>
14 #include "../MetarReport.h"
15 #include "../MetarStation.h"
16
17 static char *report[] =
18 {
19         "KAST 221156Z COR 09005KT 7SM -RA OVC026 09/08 A2996 RMK "
20         "AO2 TNO SLP143 P0007 60047 70109 T00890084 10100 20089 55005",
21
22         "KAST COR 221156Z 09005KT 7SM -RA OVC026 09/08 A2996 RMK "
23         "AO2 TNO SLP143 P0007 60047 70109 T00890084 10100 20089 55005",
24
25         "KAST COR 221156Z 09005KT 1/SM -RA OVC026 09/08 A2996 RMK "
26         "AO2 TNO SLP143 P0007 60047 70109 T00890084 10100 20089 55005",
27
28         "KP88 COR 221156 09005KT 1/SM -RA OVC026 09/08 A2996 RMK "
29         "AO2 TNO SLP143 P0007 60047 70109 T00890084 10100 20089 55005",
30
31         "KP88 COR 221156 09005KT 1/SM -RA OVC026 09/08 A2996 RMK "
32         "AO2 TNO SLP143 P0007 6//// 70109 T00890084 10100 20089 55005",
33
34
35         "EPIT 1755 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
36         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
37         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
38         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
39         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
40         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
41         "SFC VIS 1 1/2 VIS 1/2V3/4",
42
43         "KFAR 181154Z 10003KT 1/4SM HZ CLR 16/13 A2988 RMK AO2 "
44         "SLP117 56012 10345 20226 T01610133 $",
45
46         "KFAR 181154Z 10003KT 1/SM HZ CLR 16/13 A2988 RMK AO2 "
47         "SLP117 56012 10345 20226 T01610133 $",
48
49         "RKSS 21009KT 1400 RP2000 // ////// 21/20 1006/2972 NOSIG",
50
51         "RKSS 1200 21009KT 1400 RP2000 // ////// 21/20 1006/2972 NOSIG",
52
53         "RKSS 1130Z 23011KT 1100 R14R/P1500N R14L/P1500N BR SCT010 BKN030 "
54         "BKN080 21/21 Q1006 NOSIG",
55
56         "RKSS 1130Z 23011KT 1100 R14R/P1500 R14L/P1500 BR SCT010 BKN030 "
57         "BKN080 21/21 Q1006 NOSIG",
58
59         "KFAR 181154Z 10003KT 4SM HZ CLR 16/13 A2988 RMK AO2 "
60         "SLP117 56012 1//// 2//// T01610133 $",
61
62         "CYYE 061300Z 3500KT 15SM BKN005 OVC040 08/08 A3004 RMK "
63         "SF6SC1 VSBY RDCE DUE LO CLD SLP186",
64
65         "CYYE 061300Z 3500KT 15SM BKN005 OVC040 08/08 A3004 RMK "
66         "SF6SC1 VSBY RDCE DUE10 LO CLD SLP186",
67
68         "CYYE 061300Z 3500KT 15SM BKN005 OVC040 08/08 A3004 RMK "
69         "SF6SC1 VSBY RDCE DUE9 LO CLD SLP186",
70
71         "CYYE 061300Z 3500KT 15SM BKN005 OVC040 08/08 A3004 RMK "
72         "SF6SC1 VSBY RDCE FZDZE10 LO CLD SLP186",
73
74         "CYYE 061300Z 3500KT 15SM BKN005 OVC040 08/08 A3004 RMK "
75         "SF6SC1 VSBY RDCE FZDZE9 LO CLD SLP186",
76
77         "MKJP 1400Z 13011KT 9999 FEW022 30/XX Q1015",
78         "MKJP 1400Z 13011KT 9999 FEW022 M30/XX Q1015",
79         "MKJP 1400Z 13011KT 9999 FEW022 MM/XX Q1015",
80         "MKJP 1400Z 13011KT 9999 FEW022 MM/30 Q1015",
81         "MKJP 1400Z 13011KT 9999 FEW022 MM/M30 Q1015",
82
83         "EGPD 36016G26KT 320V030 9999 FEW015TCU SCT026 BKN045 OVC090 "
84         "SCT120 FEW250 RMK OCNL LTGICCG OHD",
85
86         "EGPD 36016G26KT 320V030 9999 FEW015TCU SCT026 07/01 Q1011 "
87         "RMK TEMPO 8000 -SHRA BKN015 FRQ LTG VC",
88
89         "EGPD 36016G26KT 320V030 9999 FEW015TCU SCT026 07/01 Q1011 "
90         "RMK TEMPO 8000 -SHRA BKN015 LTG DSNT W",
91
92         "METAR KLAX 281156Z AUTO VRB100G135KT 130V210 3 1/2SM "
93         "R15L/0500FT R22L/2700FT R16/1200FT R34/1000V1600FT R01L/P6000FT FC "
94         "+TS BLPY FEW/// SCT000 BKN050 SCT150 OVC250 3/M1 A2991 RMK "
95         "TORNADO B13E45 6 NE MOV E A02 PK WND 18515/45 "
96         "WSHFT 1350 FROPA TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 "
97         "VIS 2 1/2 RY11 "
98         "DVR/1000V1600FT "
99         "OCNL LTG VCY STN "
100         "RAB1030E1145 FZDZE56 BLPYE57 CIG 1000V1500 CIG 020 RY11 "
101         "PRESFR PRESRR SLP013 FG FEW/// HZ SCT000 VIS NW 2 1/2 GR 3/4 "
102         "VIRGA SE -XRAFG3 CIGE005 BKN014 V OVC "
103         "FU BKN020 NOSPECI LAST 8/365 SNINCR 2/10 4/178 "
104         "933125 98096 P 0125 60225 70565 "
105         "T00261015 10369 21026 "
106         "404800360 52101 VISNO RY05 CHINO RY27 PNO RVRNO "
107         "PWINO FZRANO TSNO $",
108
109         "KBOS 251356Z 26011KT 10SM CLR 12/02 A2995 RMK AO2 SC VCNTY "
110         "STN SSE-NNW SCT CI ABV SLP141 T01220023",
111
112         "EFHK 36009KT 340V060 CAVOK 12/M02 Q1013 NOSIG",
113         "EGKK 24011KT 210V300 9999 SCT020 BKN045 12/06 Q1007 NOSIG",
114         "EGPD 31018KT 8000 RA FEW013 BKN021 OVC045 06/04 Q0994 NOSIG",
115         "EKCH 16012KT CAVOK 20/07 Q1006 NOSIG",
116         "ESKN 10014KT 9000 BR SCT100 14/04 Q1010",
117         "LOWW 231450Z 14017KT CAVOK 23/07 Q1010 NOSIG",
118
119         "METAR CYCH 171500Z CCA 30017KT 2SM -SN BKN006",
120
121         "METAR CYOW 171500Z CCA 30017KT 2SM -SN BKN006 OVC020 00/M02 "
122         "A2957 RMK S35F4NS1 /S01/ SNW WET SNW MELTG ON GRND CIG 5-7 "
123         "SLP018",
124
125         "KAST 221156Z AUTO 09005KT 7SM -RA OVC026 09/08 A2996 RMK "
126         "AO2 TNO SLP143 P0007 60047 70109 T00890084 10100 20089 55005"
127         " TSB0159E30 TS SE MOV NE",
128
129         "KAST 221156Z AUTO 09005KT 7SM -RA OVC026 09/08 A2996 RMK "
130         "AO2 TNO SLP143 P0007 60047 70109 T00890084 10100 20089 55005"
131         " TSE0159 TS SE",
132
133         "KHVR 1756Z 31007KT 5SM -SN SCT011 BKN024 OVC030 M05/M08 A3056 "
134         "RMK AOA 933004 "
135         "BKN V SCT TNO PCPN 000 $ SLP389 4/015 60002 "
136         "T10501077 11050 21078 51010",
137
138         "SPECI KGFI 041420Z AUTO 18030KT 3 1/2SM RVRNO TS -RA BKN008 OVC060 "
139         "26/22 A2991 RMK A02 RA15TSB20 PRESFR SLP 101 P 0000 T02640218",
140
141         "METAR KCLE 281156Z 170100G135KT 110V180  M1/4SM "
142         "R01L/P6000FT +TSSHRA VCFG "
143         "BKN025 SCT100 OVC200 M26/ A2991 RMK PK WND 18515/45 A02 "
144         "WSHFT 1350 TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 "
145         "CIG 1000V1500 PRESFR FRQ LTG CG NW "
146         "RAB1030E1145 FZDZE56 PRESRR SLP135 GS "
147         "T1263 "
148         "VIRGA NW 8/365 4/178 P 0125 60225 7//// 70565 10369 21026 "
149         "404800360 52101 PWINO FZRANO TSNO $",
150
151         "CYQR 161700Z 15015KT 15SM SCT045 SCT090 BKN250 10/03 A2955 "
152         "RMK SC1AC2C11 OB TAKEN H+ 5 DUE AWOS FAILURE SLP027",
153
154         "KPIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
155         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
156         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
157         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
158         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
159         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
160         "SFC VIS 1 1/2 VIS 1V2",
161
162         "SPECI KGFI 041430Z 18045G56KT M1/4SM R15/0200FT FC +TS VV010 20/18 "
163         "A2900 RMK A02A PK WND 18056/28 RAB15E25TSB20 FCB1430 PRESFR "
164         "SLP 701 P 0254 199/182",
165
166         "SPECI KGFI 041430Z 18045G56KT M1/4SM R15/0200FT FC +TS VV010 20/18 "
167         "A2900 RMK A02A PK WND 18056/28 RAB15E25TSB20 FCB1430 PRESFR "
168         "SLP701 P0254 199/182",
169
170         "KHLN 281156Z AUTO 27005KT 10SM OVC023 07/05 A3011 RMK AOA OVC V "
171         "BKN $ SLP202 60000 70001 T00670050 10122 20061 53003",
172
173         "KPHX 281156Z 12004KT 10SM CLR 15/05 A2996 RMK AOA SLP135 T01500050 "
174         "10250 20150 53006",
175         "KFCA 281156Z 30003KT 10SM CLR 06/02 A3009 RMK AO TNO $ SLP191 "
176         "T00610023 10167 20056 53003",
177         "KAST 281156Z 00000KT 10SM BKN095 09/08 A2997 RMK AOA SLP150 "
178         "T00940084 10161 20094 52005 ",
179         "KHVR 281156Z 03003KT 10SM OVC020 09/07 A3010 RMK AO TNO ZRNO "
180         "$ SLP194 T00940073 10156 20089 51005",
181         "KGGW 281156Z 35006KT 5SM BR OVC010 10/09 A3003 RMK AOA $ SLP177 "
182         "70003 T01000095 10156 20110 53008",
183         "KELY 1153Z AUTO 14004KT 10SM SCT075 01/M01 A3011 RMK AOA TNO ZRNO "
184         "SLP171 70001 T00061011 10139 21006 51005",
185         "KFLG 281156Z 29006KT 10SM CLR 04/M01 A3012 RMK AO TNO SLP147 "
186         "T00391011 21006 51004",
187         "KGTF 281156Z 27005KT 7SM BKN080 04/04 A3010 RMK AOA SLP205 "
188         "T00440045 10117 20039 51006",
189
190         "K13A 1918Z 20011KT 26/M06 RMK AO PKWND 020/RNO 644V264 T02611061",
191
192         "KP88 1919Z 09001KT 14/03 RMK AO / PKWND 002/RNO 158 Z T01440034",
193
194         "K40B 1924Z 29004KT 15/M07 RMK AO PKWND 011/RM MV263 T01501072",
195
196         "KGGW 1756Z 33018KT 10SM OVC015 M03/M06 A3041 RMK AOA SLP338 "
197         "4/007 60002 T10281055 11028 21072 51009",
198         "KPHX 1756Z 130004KT 10SM CLR 18/M03 A3001 RMK AOA SLP154 "
199         "T01781033 10178 20067 58007",
200         "KFCA 1756Z 29005KT 10SM CLR 05/M11 A3049 RMK AOA TNO SLP352 "
201         "T00501111 10050 21044 50004",
202         "KAST 1756Z 01006KT 10SM CLR 11/04 A3047 RMK AOA SLP316 "
203         "T01110045 10111 20000 50002",
204         "KELY 1753Z 34010KT 10SM CLR 01/M07 A3022 RMK AOA TNO ZRNO "
205         "SLP240 T00111066 10011 21078 58007",
206         "KFLG 1756Z 07006KT 10SM CLR 06/M12 A3009 RMK AO TNO ZRNO "
207         "SLP178 T00561122 10061 21100 58005",
208         "KGTF 1756Z 35010KT 1/2SM -SN FG VV09 M06/M08 A3051 RMK AOA "
209         "933004 SFC VSBY 3/4 "
210         "PCPN M SLP393 60010 T10611077 11044 21067 53013",
211         "KHLN 1756Z 35012KT 10SM SCT032 OVC060 M02/M09 A3048 RMK AOA "
212         "SLP369 60000 T10171094 11017 21061 53006",
213         "KAST 1756Z 01006KT 10SM CLR 11/04 A3047 RMK AOA SLP316 61104 "
214         "71235 T01110045 10111 20000 401720056 58002",
215         "METAR KLAX 04281156Z AUTO VRB100G135KT 130V210 3 1/2SM "
216         "R15L/0500FT R22L/2700FT R16/1200FT R34/1000V1600FT R01L/P6000FT FC "
217         "+TS BLPY FEW000 BKN050 SCT150 OVC250 3/M1 A2991 RMK "
218         "TORNADO B13 DSNT NE A02 PK WND 18515/45 "
219         "WSHFT 1350 FROPA TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 "
220         "VIS 2 1/2 RY11 OCNL LTG VCY STN "
221         "RAB1030E1145 FZDZE56 BLPYE57 CIG 1000V1500 CIG 020 RY11 "
222         "PRESFR PRESRR SLP013 FG FEW000 VIS NW2 1/2 GR 3/4 "
223         "VIRGA SE -XRAFG3 CIGE005 BKN014 V OVC "
224         "FU BKN020 NOSPECI LAST 8/365 SNINCR 2/10 4/178 "
225         "933125 98096 P 0125 60225 70565 "
226         "T00261015 10369 21026 "
227         "404800360 52101 PWINO FZRANO TSNO $",
228
229         "METAR KGFI 041356Z AUTO 17012KT 130V210 3 1/2SM R15L/0500FT -RA "
230         "SCT050 OVC110 26/18 A2991 RMK FUNNEL CLOUDS A02 RAB30 "
231         "SLP 101 GR M1/4 VIRGA SCT V BKN P 0010 T02640178",
232
233         "METAR KGFI 041356Z AUTO 05008KT 10SM R15L/P6000FT CLR A2991 "
234         "RMK WATERSPOUTS VCY STN NW A02 SLP 101 10288 20243 52021 $ ",
235
236         "SPECI KGFI 041430Z 18045G56KT M1/4SM R15/0200FT FC +TS VV010 20/18 "
237         "A2900 RMK A02A PK WND 18056/28 OCNL LTG AP "
238         "RAB15E25TSB20 FCB1430 PRESFR "
239         "SLP 701 P 0254 T01990182",
240
241         "KABE 281900Z NIL",
242
243         "METAR KPIT NIL",
244
245         "METAR KCLE 04281156Z 170100G135KT 110V180  M1/4SM "
246         "R01L/P6000FT +TSSHRA VCFG "
247         "BKN025 SCT100 OVC200 M26/ A2991 RMK PK WND 18515/45 A02 "
248         "WSHFT 1350 TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 "
249         "CIG 1000V1500 PRESFR FRQ LTG CG NW "
250         "RAB1030E1145 FZDZE56 PRESRR SLP135 GS "
251         "T1263 "
252         "VIRGA NW 8/365 4/178 P 0125 60225 7//// 70565 10369 21026 "
253         "404800360 52101 PWINO FZRANO TSNO $",
254
255         "METAR KPHL 040256Z AUTO 170100G135KT 130V210  1/2SM "
256         "R15L/0500FT R22L/2700FT R16/1200FT R34/1000V1600FT R01L/P6000FT "
257         "FC +TS BKN050 SCT150 OVC250 M26/ A2991 RMK A02 PK WND 185150/1345 "
258         "WSHFT 1350 TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 LTG DSNT "
259         "RAB1030E1145 FZDZE56 CIG 1000V1500 PRESFR PRESRR SLP037 GR 2 3/4 "
260         "VIRGA E 8/365 4/178 P 0125 70565 21026 T0263 10369 60225 "
261         "404800360 52101 PWINO FZRANO TSNO $",
262
263         "SPECI KGFI 041420Z AUTO 18030KT 2 1/2SM RVRNO TS -RA BKN008 "
264         "OVC060 25/22 A2991 RMK A02 LTG DSNT W "
265         "RAB15TSB20 PRESFR SLP101 P 0000 "
266         "254/218",
267
268         "METAR KGFI 041356Z AUTO 170100G135KT 130V210 3 1/2SM "
269         "R15L/0500FT R22L/2700FT R16/1200FT R34/1000V1600FT R01L/P6000FT "
270         "FC +TS BKN050 SCT150 OVC250 M26/ A2991 RMK A02 PK WND 185150/1345 "
271         "WSHFT 1350 TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 "
272         "RAB1030E1145 FZDZE56 CIG 1000V1500 PRESFR PRESRR SLP997 GR M1/4 "
273         "VIRGA SE 8/365 4/178 P 0125 6//// 60225 70565 T0263 10369 21026 "
274         "404800360 52101 PWINO FZRANO TSNO $",
275
276         "METAR KGFI 041356Z AUTO 170100G135KT 130V210 3 1/2SM "
277         "R15L/0500FT R22L/2700FT R16/1200FT R34/1000V1600FT R01L/P6000FT "
278         "FC +TS BKN050 SCT150 OVC250 M26/ A2991 RMK A02 PK WND 185150/1345 "
279         "WSHFT 1350 TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 "
280         "RAB1030E1145 FZDZE56 CIG 1000V1500 PRESFR PRESRR SLP997 GR 25 "
281         "VIRGA 35 8/365 4/178 P 0125 6//// 60225 70565 T0263 10369 21026 "
282         "VIRGA 35 8/365 4/178 P 0125 21026 70565 10369 60225 T0263 21026 "
283         "404800360 52101 PWINO FZRANO TSNO $",
284
285         "METAR KGFI 041356Z AUTO 170100G135KT 130V210 3 1/2SM "
286         "R15L/0500FT R22L/2700FT R16/1200FT R34/1000V1600FT R01L/P6000FT "
287         "FC +TS BKN050 SCT150 OVC250 3/M1 A2991 RMK A02 PK WND 18515/45 "
288         "WSHFT 1350 TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 "
289         "RAB1030E1145 FZDZE56 CIG 1000V1500 PRESFR PRESRR SLP997 GR 25 "
290         "VIRGA 35 8/365 4/178 P 0125 60225 70565 T00261015 10369 21026 "
291         "404800360 52101 PWINO FZRANO TSNO $",
292
293         "METAR KGFI 041356Z AUTO 170100G135KT 130V210 3 1/2SM "
294         "R15L/0500FT R22L/2700FT R16/1200FT R34/1000V1600FT R01L/P6000FT "
295         "FC +TS BKN050 SCT150 OVC250 3/M1 A2991 RMK A02 PK WND 185150/1345 "
296         "WSHFT 1350 TWR VIS 1 1/2 SFC VIS 1/4 VIS 1/4V1 1/4 "
297         "RAB1030E1145 FZDZE56 CIG 1000V1500 PRESFR PRESRR SLP997 GR 25 "
298         "VIRGA 35 8/365 4/178 P 0125 60225 70565 T00261015 10369 21026 "
299         "404800360 52101 PWINO FZRANO TSNO",
300
301         "METAR KGFI 041356Z AUTO 05008KT 10SM R15L/P6000FT CLR A2991 RMK "
302         "A02 SLP 101 10288 20243 52021",
303         "SPECI DGFI 041430Z 18045G56KT M1/4SM R15/0200FT FC +TS VV010 20/18 "
304         "M20/M18 A2900 RMK A02A PK WND 18056/28 RAB15E25TSB20 FCB1430 PRESFR "
305         "SLP 701 P 0254 M199/M182",
306
307         "SPECI DGFI 041430Z 18045G56KT M1/4SM R15/0200FT FC +TS VV010 20/18 "
308         "M20/M18 A2900 RMK A02A PK WND 18056/28 RAB15E25TSB20 FCB1430 PRESFR "
309         "SLP 701 P 0254 M199/182",
310
311         "SPECI DGFI 041430Z 18045G56KT M1/4SM R15/0200FT FC +TS VV010 20/18 "
312         "M20/M18 A2900 RMK A02A PK WND 18056/28 RAB15E25TSB20 FCB1430 PRESFR "
313         "SLP 701 P 0254 199/M182",
314
315         "METAR APIT 171755Z AUTO 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
316         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
317         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
318         "RMK 4/369 58033 6003/ TWELVE 70125 10039 20029 410840112 "
319         "PCPN 0009 8/563 WSHFT 1715 PK WND 2032/1725 "
320         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
321         "SFC VIS 1 1/2 VIS 1 1/2V2 SLP875 SGB1213E1225",
322
323         "NZWN 1700Z 35030G49KT 320V030 20KM 02 5SC021 7SC046 12/08 "
324         "          Q0994.2 TEMPO 6000 RA 5ST012 2CB015 RMK SLP056 "
325         "RAE0123",
326
327         "SPECI APIT 171755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
328         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
329         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
330         "RMK 58033 6003/ TWELVE 70125 8/321 10039 20029 410840112 "
331         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
332         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
333         "SFC VIS 1 1/2 VIS 1 SLP875 FGB1713",
334
335         "APIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
336         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
337         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
338         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
339         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
340         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
341         "SFC VIS 1 1/2 VIS 1V2 SLP875",
342
343         "APIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
344         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
345         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
346         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
347         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
348         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
349         "SFC VIS 1 1/2 VIS 1 1/2V2 1/2 SLP875",
350
351         "APIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
352         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
353         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
354         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
355         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
356         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
357         "SFC VIS 1 1/2 VIS 1V2 1/2 SLP875",
358
359         "EGPF 1720Z 00000KT 9999 -SHRA STC014 SCT020CB BNK024 12/09 "
360         "Q1003 NOSIG",
361
362         "NZAA 1700Z 03010KT 30KM 03 5CU022 7SC035 11/07 Q1006.5 NOSIG",
363         "NZWN 1700Z 35030G49KT 320V030 20KM 02 5SC021 7SC046 12/08 "
364         "     Q0994.2 TEMPO 6000 RA 5ST012 2CB015 RMK KAUKAU 30050KT",
365         "DGAA 1800Z 22012KT 9999 SCT009 BKN120 25/21 Q1015",
366         "DAAT 1830Z 30010KT CAVOK 29/06 Q1019",
367
368         "GQPP 1800Z 34023KT 3000 DRSA SKC 24/20 Q1011 NSG",
369         "DAAG 1830Z 06006KT 9999 SCT020 25/22 Q1015",
370         "DABB 1830Z 04010KT 9999 SCT030TCU SCT033CB 27/18 Q1017",
371         "DABC 1830Z 00000KT 9999 SCT026TCU SCT036CB 22/18 Q1020 RETS",
372
373         "NZAA 1700Z 03010KT 30KM 03 5CU022 7SC035 11/07 Q1006.5 NOSIG",
374         "NZWN 1700Z 35030G49KT 320V030 20KM 02 5SC021 7SC046 12/08 "
375         "          Q0994.2 TEMPO 6000 RA 5ST012 2CB015 RMK K",
376         "NZWN 1700Z 35030G49KT 320V030 20KM 02 5SC021 7SC046 12/08 "
377         "     Q0994.2 TEMPO 6000 RA 5ST012 2CB015 RMK KAUKAU 30050KT",
378         "DGAA 1800Z 22012KT 9999 SCT009 BKN120 25/21 Q1015",
379
380         "GFLL 1900Z NIL",
381
382         "GOOY 1800Z 03006G17KT 340V080 6000 TSRA BKN016 BKN030CB "
383         "BKN133 26/23 Q1013 NOSIG",
384
385         "GCXO 1930Z 32018KT 8000 SCT003 SCT007 18/16 Q1019",
386
387         "APIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
388         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
389         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
390         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
391         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
392         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
393         "SFC VIS 1 1/2 VIS 1 1/2V2",
394
395         "BPIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
396         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
397         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
398         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
399         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
400         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
401         "SFC VIS 1 1/2 VIS 1V2",
402
403         "CPIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
404         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
405         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
406         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
407         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
408         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
409         "SFC VIS 1 1/2 VIS 1V2 1/2",
410
411         "DPIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
412         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
413         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
414         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
415         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
416         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
417         "SFC VIS 1 1/2 VIS 1 1/2V2 1/2",
418
419         "FPIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
420         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
421         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
422         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
423         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
424         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
425         "SFC VIS 1 1/2 VIS 3/4V2 1/2",
426
427         "GPIT 1755Z 22015G25KT 1 3/4SM R22L/2700FT R16/1200FT "
428         "R34/1000V1600FT R01L/P6000FT R04RR/900FT "
429         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/16 A2992 "
430         "RMK 58033 6003/ TWELVE 70125 10039 20029 410840112 "
431         "PCPN 0009 WSHFT 1715 PK WND 2032/1725 "
432         "CIG 20V25 WND 12V25 TWR VIS 2 1/2 "
433         "SFC VIS 1 1/2 VIS 3/4V3",
434
435         "KPIT 1935Z 22015G25KT 1 3/4SM R22L/2700FT "
436         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB M18/M16 A2992",
437
438         "KPIT 1935Z 22015G25KT 1 3/4SM R22L/2700FT "
439         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB M18/16 A2992",
440
441         "KPIT 1935Z 22015G25KT 1 3/4SM R22L/2700FT "
442         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/M16 A2992",
443
444         "KPIT 1935Z 22015G25KT 1 3/4SM R22L/2700FT "
445         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB MM/M16 A2992",
446
447         "KPIT 1935Z 22015G25KT 1 3/4SM R22L/2700FT "
448         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB MM/16 A2992",
449
450         "KPIT 1935Z 22015G25KT 1 3/4SM R22L/2700FT "
451         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB M18/MM A2992",
452
453         "KPIT 1935Z 22015G25KT 1 3/4SM R22L/2700FT "
454         "TSRA -DZ FG +SNPE SCT005 BKN010 OVC250CB 18/MM A2992",
455
456         NULL};
457
458
459 void dispMetarStation( CMetarStation *s )
460 {
461         glPointSize( 2.0 );
462         glColor3d(1.0,1.0,0.0);
463         glVertex3d( s->locationCart().x()/1000.0, s->locationCart().y()/1000.0, s->locationCart().z()/1000.0 );
464 }
465
466 static int ii = 0;
467
468 void
469 display(void)
470 {
471         glPushMatrix();
472         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
473         glRotatef((ii%360), 1.0, 0.0, 0.0);
474         glRotatef((ii%360), 0.0, 1.0, 0.0);
475         glRotatef((ii%360), 0.0, 0.0, 1.0);
476         glBegin( GL_POINTS );
477         CMetarStation::for_each( dispMetarStation );
478         glEnd();
479         glColor3d(0.0, 0.0, 1.0);
480         glutWireSphere(SG_EARTH_RAD,32,16);
481         glutSwapBuffers();
482         ii++;
483         glPopMatrix();
484 }
485
486
487 void
488 idle(void)
489 {
490 //      std::cout << "Idle" << std::endl;
491         glutPostRedisplay();
492 }
493
494
495 void
496 init(void)
497 {
498         glEnable(GL_DEPTH_TEST);
499
500         glMatrixMode(GL_PROJECTION);
501         gluPerspective(  50.0, 1.0, 1.0, 40000.0);
502         glMatrixMode(GL_MODELVIEW);
503         gluLookAt(0.0, -19000.0, 0.0,
504                 0.0, 0.0, 0.0, 
505                 0.0, 0.0, 1.0);
506 }
507
508
509 void testMetarStation(int argc,
510         char **argv )
511 {
512         std::cout << "Display all Metar Stations" << std::endl;
513         glutInit(&argc, argv);
514         glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
515         glutCreateWindow("Metar Stations");
516         glutDisplayFunc(display);
517         glutIdleFunc(idle);
518         init();
519         glutMainLoop();
520 }
521
522 void testMetarReport()
523 {
524         std::cout << "Decode some Metar reports" << std::endl;
525         int i = 0;
526         while ( report[i] )
527         {
528                 std::cout << i << ": " << report[i] << std::endl;
529
530                 CMetarReport dr( report[i] );
531
532                 //dr.dump();
533                 std::cout << dr << std::endl;
534
535                 CMetarStation *ms = CMetarStation::find( dr.StationID() );
536                 if ( ms ) 
537                 {
538                         std::cout << *ms << std::endl;
539                 }
540                 else
541                 {
542                         std::cout << "No corresponding METAR station found" << std::endl;
543                 }
544                 i++;
545         }
546 }
547
548 int
549 main(
550         int argc,
551         char **argv )
552 {
553         std::cout << "Metar subsystem test" << std::endl;
554
555         testMetarReport();
556         testMetarStation( argc, argv );
557         return 0;
558 }