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