4 /********************************************************************/
7 /* Organization: W/OSO242 - GRAPHICS AND DISPLAY SECTION */
8 /* Date: 19 Jan 1996 */
9 /* Programmer: CARL MCCALLA */
12 /* Abstract: METAR Decoder Header File. */
14 /* Modification History: */
17 /********************************************************************/
20 #include "Local.h" /* standard header file */
23 /*********************************************/
25 /* RUNWAY VISUAL RANGE STRUCTURE DECLARATION */
26 /* AND VARIABLE TYPE DEFINITION */
28 /*********************************************/
30 typedef struct runway_VisRange {
31 char runway_designator[6];
40 /***********************************************/
42 /* DISPATCH VISUAL RANGE STRUCTURE DECLARATION */
43 /* AND VARIABLE TYPE DEFINITION */
45 /***********************************************/
47 typedef struct dispatch_VisRange {
56 /*****************************************/
58 /* CLOUD CONDITION STRUCTURE DECLARATION */
59 /* AND VARIABLE TYPE DEFINITION */
61 /*****************************************/
63 typedef struct cloud_Conditions {
65 char cloud_hgt_char[4];
66 char other_cld_phenom[4];
70 /*****************************************/
72 /* WIND GROUP DATA STRUCTURE DECLARATION */
73 /* AND VARIABLE TYPE DEFINITION */
75 /*****************************************/
77 typedef struct windstruct {
85 /*****************************************/
87 /* RECENT WX GROUP STRUCTURE DECLARATION */
88 /* AND VARIABLE TYPE DEFINITION */
90 /*****************************************/
92 typedef struct recent_wx {
93 char Recent_weather[ 5 ];
100 /***************************************/
102 /* DECODED METAR STRUCTURE DECLARATION */
103 /* AND VARIABLE TYPE DEFINITION */
105 /***************************************/
107 typedef struct decoded_METAR {
108 char synoptic_cloud_type[ 6 ];
109 char snow_depth_group[ 6 ];
113 char dir_min_horiz_vsby[3];
115 char WxObstruct[10][8];
116 char autoIndicator[5];
117 char VSBY_2ndSite_LOC[10];
118 char SKY_2ndSite_LOC[10];
119 char SKY_2ndSite[10];
120 char SectorVsby_Dir[ 3 ];
121 char ObscurAloft[ 12 ];
122 char ObscurAloftSkyCond[ 12 ];
123 char VrbSkyBelow[ 4 ];
124 char VrbSkyAbove[ 4 ];
129 char CIG_2ndSite_LOC[10];
131 char TornadicType[15];
132 char TornadicLOC[10];
134 char TornadicMovDir[3];
137 char PartialObscurationAmt[2][7];
138 char PartialObscurationPhenom[2][12];
139 char SfcObscuration[6][10];
140 char charPrevailVsby[12];
141 char charVertVsby[10];
145 bool Indeterminant3_6HrPrecip;
187 int TornadicDistance;
197 int hectoPasc_altstng;
203 int min_vrbl_wind_dir;
204 int max_vrbl_wind_dir;
209 int SKY_2ndSite_Meters;
211 int Estimated_Ceiling;
213 int SNINCR_TotalDepth;
217 int Num8thsSkyObscured;
218 int CIG_2ndSite_Meters;
227 float WaterEquivSnow;
229 float prevail_vsbySM;
231 float prevail_vsbyKM;
245 float DP_Temp_2_tenths;
249 double inches_altstng;
251 Runway_VisRange RRVR[12];
252 Dispatch_VisRange DVR;
255 Cloud_Conditions cldTypHgt[6];
259 #define MAXWXSYMBOLS 10 /*-- NOT TO EXCEED 10 PRES. WX GRPS --*/
260 #define MAXTOKENS 500 /*-- RPT NOT TO EXCEED 500 GRPS --*/
262 void prtDMETR( Decoded_METAR *Mptr );
263 int DcdMETAR( char *string, Decoded_METAR *Mptr );