1table_4_1_0 = {
2'0':'Temperature',
3'1':'Moisture',
4'2':'Momentum',
5'3':'Mass',
6'4':'Short-wave radiation',
7'5':'Long-wave radiation',
8'6':'Cloud',
9'7':'Thermodynamic Stability indicies',
10'8':'Kinematic Stability indicies',
11'9':'Temperature Probabilities*',
12'10':'Moisture Probabilities*',
13'11':'Momentum Probabilities*',
14'12':'Mass Probabilities*',
15'13':'Aerosols',
16'14':'Trace gases',
17'15':'Radar',
18'16':'Forecast Radar Imagery',
19'17':'Electrodynamics',
20'18':'Nuclear/radiology',
21'19':'Physical atmospheric properties',
22'20':'Atmospheric chemical Constituents',
23'21-189':'Reserved',
24'190':'CCITT IA5 string',
25'191':'Miscellaneous',
26'192-254':'Reserved for Local Use',
27'192':'Covariance',
28'255':'Missing',
29}
30
31table_4_1_1 = {
32'0':'Hydrology basic products',
33'1':'Hydrology probabilities',
34'2':'Inland water and sediment properties',
35'3-191':'Reserved',
36'192-254':'Reserved for Local Use',
37'255':'Missing',
38}
39
40table_4_1_2 = {
41'0':'Vegetation/Biomass',
42'1':'Agricultural/Aquacultural Special Products',
43'2':'Transportation-related Products',
44'3':'Soil Products',
45'4':'Fire Weather Products',
46'5':'Land Surface Products',
47'6-191':'Reserved',
48'192-254':'Reserved for Local Use',
49'255':'Missing',
50}
51
52table_4_1_3 = {
53'0':'Image format products',
54'1':'Quantitative products',
55'2':'Cloud Properties',
56'3':'Flight Rules Conditions',
57'4':'Volcanic Ash',
58'5':'Sea-surface Temperature',
59'6':'Solar Radiation',
60'7-191':'Reserved',
61'192-254':'Reserved for Local Use',
62'192':'Forecast Satellite Imagery',
63'255':'Missing',
64}
65
66table_4_1_4 = {
67'0':'Temperature',
68'1':'Momentum',
69'2':'Charged Particle Mass and Number',
70'3':'Electric and Magnetic Fields',
71'4':'Energetic Particles',
72'5':'Waves',
73'6':'Solar Electromagnetic Emissions',
74'7':'Terrestrial Electromagnetic Emissions',
75'8':'Imagery',
76'9':'Ion-Neutral Coupling',
77'10':'Space Weather Indices',
78'11-191':'Reserved',
79'192-254':'Reserved for Local Use',
80'255':'Missing',
81}
82
83table_4_1_10 = {
84'0':'Waves',
85'1':'Currents',
86'2':'Ice',
87'3':'Surface Properties',
88'4':'Sub-surface Properties',
89'5-190':'Reserved',
90'191':'Miscellaneous',
91'192-254':'Reserved for Local Use',
92'255':'Missing',
93}
94
95table_4_1_20 = {
96'0':'Health Indicators',
97'1':'Epidemiology',
98'2':'Socioeconomic indicators',
99'3-191':'Reserved',
100'192-254':'Reserved for Local Use',
101'255':'Missing',
102}
103
104table_4_0 = {
105'0':'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.0)',
106'1':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.1)',
107'2':'Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer at a point in time. (see Template 4.2)',
108'3':'Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.3)',
109'4':'Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.4)',
110'5':'Probability forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.5)',
111'6':'Percentile forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.6)',
112'7':'Analysis or forecast error at a horizontal level or in a horizontal layer at a point in time. (see Template 4.7)',
113'8':'Average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.8)',
114'9':'Probability forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.9)',
115'10':'Percentile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.10)',
116'11':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.11)',
117'12':'Derived forecasts based on all ensemble members at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.12)',
118'13':'Derived forecasts based on a cluster of ensemble members over a rectangular area at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.13)',
119'14':'Derived forecasts based on a cluster of ensemble members over a circular area at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.14)',
120'15':'Average, accumulation, extreme values or other statistically-processed values over a spatial area at a horizontal level or in a horizontal layer at a point in time. (see Template 4.15)',
121'16-19':'Reserved',
122'20':'Radar product (see Template 4.20)',
123'21-29':'Reserved',
124'30':'Satellite product (see Template 4.30) NOTE: This template is deprecated. Template 4.31 should be used instead.',
125'31':'Satellite product (see Template 4.31)',
126'32':'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for simulate (synthetic) satellite data (see Template 4.32)',
127'33':'Individual Ensemble Forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for simulated (synthetic) satellite data (see Template 4.33)',
128'34':'Individual Ensemble Forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous interval for simulated (synthetic) satellite data(see Template 4.34)',
129'35':'Satellite product with or without associated quality values (see Template 4.35)',
130'36-39':'Reserved',
131'40':'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents. (see Template 4.40)',
132'41':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents. (see Template 4.41)',
133'42':'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents. (see Template 4.42)',
134'43':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for atmospheric chemical constituents. (see Template 4.43)',
135'44':'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for aerosol. (see Template 4.44)',
136'45':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for aerosol. (see Template 4.45)',
137'46':'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol. (see Template 4.46)',
138'47':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval for aerosol. (see Template 4.47)',
139'48':'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol. (see Template 4.48)',
140'49':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol. (see Template 4.49)',
141'50':'Reserved',
142'51':'Categorical forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.51)',
143'52':'Reserved',
144'53':'Partitioned parameters at a horizontal level or horizontal layer at a point in time. (see Template 4.53)',
145'54':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for partitioned parameters. (see Template 4.54)',
146'55':'Spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time (see Template 4.55)',
147'56':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters. (see Template 4.56)',
148'57':'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents based on a distribution function (see Template 4.57)',
149'58':'Individual Ensemble Forecast, Control and Perturbed, at a horizontal level or in a horizontal layer at a point in time interval for Atmospheric Chemical Constituents based on a distribution function (see Template 4.58)',
150'59':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for spatio-temporal changing tile parameters (corrected version of template 4.56 - See Template 4.59)',
151'60':'Individual Ensemble Reforecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.60)',
152'61':'Individual Ensemble Reforecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval (see Template 4.61)',
153'62':'Average, Accumulation and/or Extreme values or other Statistically-processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for spatio-temporal changing tiles at a horizontal level or horizontal layer at a point in time (see Template 4.62)',
154'63':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for spatio-temporal changing tiles (see Template 4.63)',
155'64-66':'Reserved',
156'67':'Average, accumulation and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function (see Template 4.67)',
157'68':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents based on a distribution function. (see Template 4.68)',
158'69':'Reserved',
159'70':'Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a point in time. (see Template 4.70)',
160'71':'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time. (see Template 4.71)',
161'72':'Post-processing average, accumulation, extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.72)',
162'73':'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer, in a continuous or non-continuous time interval. (see Template 4.73)',
163'74-75':'Reserved',
164'76':'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source or sink. (see Template 4.76)',
165'77':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for atmospheric chemical constituents with source or sink. (see Template 4.77)',
166'78':'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source or sink. (see Template 4.78)',
167'79':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for atmospheric chemical constituents with source or sink. (see Template 4.79)',
168'80':'Analysis or forecast at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol with source or sink. (see Template 4.80)',
169'81':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a point in time for optical properties of aerosol with source or sink. (see Template 4.81)',
170'82':'Average, accumulation, and/or extreme values or other statistically processed values at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.82)',
171'83':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.83)',
172'84':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol with source or sink. (see Template 4.84)',
173'85':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval for aerosol. (see Template 4.85)',
174'86':'Quantile forecasts at a horizontal level or in a horizontal layer at a point in time. (see Template 4.86)',
175'87':'Quantile forecasts at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.87)',
176'88':'Analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.88)',
177'89-90':'Reserved',
178'91':'Categorical forecast at a horizontal level or in a horizontal layer in a continuous or non-continuous time interval. (see Template 4.91)',
179'92':'Individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.92)',
180'93':'Post-processing analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.93)',
181'94':'Post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.94)',
182'95':'Average, accumulation, extreme values or other statiscally processed value at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.95)',
183'96':'Average, accumulation, extreme values or other statistically processed values of an individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.96)',
184'97':'Average, accumulation, extreme values or other statistically processed values of post-processing analysis or forecast at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.97)',
185'98':'Average, accumulation, extreme values or other statistically processed values of a post-processing individual ensemble forecast, control and perturbed, at a horizontal level or in a horizontal layer at a specified local time. (see Template 4.98)',
186'99-253':'Reserved',
187'254':'CCITT IA5 character string (see Template 4.254)',
188'255-999':'Reserved',
189'1000':'Cross-section of analysis and forecast at a point in time. (see Template 4.1000)',
190'1001':'Cross-section of averaged or otherwise statistically processed analysis or forecast over a range of time. (see Template 4.1001)',
191'1002':'Cross-section of analysis and forecast, averaged or otherwise statistically-processed over latitude or longitude. (see Template 4.1002)',
192'1003-1099':'Reserved',
193'1100':'Hovmoller-type grid with no averaging or other statistical processing (see Template 4.1100)',
194'1101':'Hovmoller-type grid with averaging or other statistical processing (see Template 4.1101)',
195'1102-32767':'Reserved',
196'32768-65534':'Reserved for Local Use',
197'65535':'Missing',
198}
199
200table_4_3 = {
201'0':'Analysis',
202'1':'Initialization',
203'2':'Forecast',
204'3':'Bias Corrected Forecast',
205'4':'Ensemble Forecast',
206'5':'Probability Forecast',
207'6':'Forecast Error',
208'7':'Analysis Error',
209'8':'Observation',
210'9':'Climatological',
211'10':'Probability-Weighted Forecast',
212'11':'Bias-Corrected Ensemble Forecast',
213'12':'Post-processed Analysis (See Note)',
214'13':'Post-processed Forecast (See Note)',
215'14':'Nowcast',
216'15':'Hindcast',
217'16':'Physical Retrieval',
218'17':'Regression Analysis',
219'18':'Difference Between Two Forecasts',
220'19-191':'Reserved',
221'192-254':'Reserved for Local Use',
222'192':'Forecast Confidence Indicator',
223'193':'Probability-matched Mean',
224'194':'Neighborhood Probability',
225'195':'Bias-Corrected and Downscaled Ensemble Forecast',
226'196':'Perturbed Analysis for Ensemble Initialization',
227'197':'Ensemble Agreement Scale Probability',
228'198':'Post-Processed Deterministic-Expert-Weighted Forecast',
229'199':'Ensemble Forecast Based on Counting',
230'200':'Local Probability-matched Mean',
231'255':'Missing',
232}
233
234table_4_4 = {
235'0':'Minute',
236'1':'Hour',
237'2':'Day',
238'3':'Month',
239'4':'Year',
240'5':'Decade (10 Years)',
241'6':'Normal (30 Years)',
242'7':'Century (100 Years)',
243'8':'Reserved',
244'9':'Reserved',
245'10':'3 Hours',
246'11':'6 Hours',
247'12':'12 Hours',
248'13':'Second',
249'14-191':'Reserved',
250'192-254':'Reserved for Local Use',
251'255':'Missing',
252}
253
254table_4_5 = {
255'0':['Reserved','unknown'],
256'1':['Ground or Water Surface','unknown'],
257'2':['Cloud Base Level','unknown'],
258'3':['Level of Cloud Tops','unknown'],
259'4':['Level of 0o C Isotherm','unknown'],
260'5':['Level of Adiabatic Condensation Lifted from the Surface','unknown'],
261'6':['Maximum Wind Level','unknown'],
262'7':['Tropopause','unknown'],
263'8':['Nominal Top of the Atmosphere','unknown'],
264'9':['Sea Bottom','unknown'],
265'10':['Entire Atmosphere','unknown'],
266'11':['Cumulonimbus Base (CB)','m'],
267'12':['Cumulonimbus Top (CT)','m'],
268'13':['Lowest level where vertically integrated cloud cover exceeds the specified percentage (cloud base for a given percentage cloud cover)','%'],
269'14':['Level of free convection (LFC)','unknown'],
270'15':['Convection condensation level (CCL)','unknown'],
271'16':['Level of neutral buoyancy or equilibrium (LNB)','unknown'],
272'17-19':['Reserved','unknown'],
273'20':['Isothermal Level','K'],
274'21':['Lowest level where mass density exceeds the specified value (base for a given threshold of mass density)','kg m-3'],
275'22':['Highest level where mass density exceeds the specified value (top for a given threshold of mass density)','kg m-3'],
276'23':['Lowest level where air concentration exceeds the specified value (base for a given threshold of air concentration','Bq m-3'],
277'24':['Highest level where air concentration exceeds the specified value (top for a given threshold of air concentration)','Bq m-3'],
278'25':['Highest level where radar reflectivity exceeds the specified value (echo top for a given threshold of reflectivity)','dBZ'],
279'26':['Convective cloud layer base','m'],
280'27':['Convective cloud layer top','m'],
281'28-29':['Reserved','unknown'],
282'30':['Specified radius from the centre of the Sun','m'],
283'31':['Ionospheric D-region level','unknown'],
284'32':['Ionospheric E-region level','unknown'],
285'33':['Ionospheric F1-region level','unknown'],
286'34':['Ionospheric F1-region level','unknown'],
287'35':['Ionospheric F2-region level','unknown'],
288'36-99':['Reserved','unknown'],
289'100':['Isobaric Surface','Pa'],
290'101':['Mean Sea Level','unknown'],
291'102':['Specific Altitude Above Mean Sea Level','m'],
292'103':['Specified Height Level Above Ground','m'],
293'104':['Sigma Level','unknown'],
294'105':['Hybrid Level','unknown'],
295'106':['Depth Below Land Surface','m'],
296'107':['Isentropic (theta) Level','K'],
297'108':['Level at Specified Pressure Difference from Ground to Level','Pa'],
298'109':['Potential Vorticity Surface','K m2 kg-1 s-1'],
299'110':['Reserved','unknown'],
300'111':['Eta Level','unknown'],
301'112':['Reserved','unknown'],
302'113':['Logarithmic Hybrid Level','unknown'],
303'114':['Snow Level','Numeric'],
304'115':['Sigma height level','unknown'],
305'116':['Reserved','unknown'],
306'117':['Mixed Layer Depth','m'],
307'118':['Hybrid Height Level','unknown'],
308'119':['Hybrid Pressure Level','unknown'],
309'120-149':['Reserved','unknown'],
310'150':['Generalized Vertical Height Coordinate','unknown'],
311'151':['Soil level','Numeric'],
312'152':['Sea-ice level,(see Note 8)','Numeric'],
313'153-159':['Reserved','unknown'],
314'160':['Depth Below Sea Level','m'],
315'161':['Depth Below Water Surface','m'],
316'162':['Lake or River Bottom','unknown'],
317'163':['Bottom Of Sediment Layer','unknown'],
318'164':['Bottom Of Thermally Active Sediment Layer','unknown'],
319'165':['Bottom Of Sediment Layer Penetrated By Thermal Wave','unknown'],
320'166':['Mixing Layer','unknown'],
321'167':['Bottom of Root Zone','unknown'],
322'168':['Ocean Model Level','Numeric'],
323'169':['Ocean level defined by water density (sigma-theta) difference from near-surface to level','kg m-3'],
324'170':['Ocean level defined by water potential temperature difference from near-surface to level','K'],
325'171':['Ocean level defined by vertical eddy diffusivity difference from near-surface to level,(see Note 7)','m2 s-1'],
326'172-173':['Reserved','unknown'],
327'174':['Top Surface of Ice on Sea, Lake or River','unknown'],
328'175':['Top Surface of Ice, under Snow, on Sea, Lake or River','unknown'],
329'176':['Bottom Surface (underside) Ice on Sea, Lake or River','unknown'],
330'177':['Deep Soil (of indefinite depth)','unknown'],
331'178':['Reserved','unknown'],
332'179':['Top Surface of Glacier Ice and Inland Ice','unknown'],
333'180':['Deep Inland or Glacier Ice (of indefinite depth)','unknown'],
334'181':['Grid Tile Land Fraction as a Model Surface','unknown'],
335'182':['Grid Tile Water Fraction as a Model Surface','unknown'],
336'183':['Grid Tile Ice Fraction on Sea, Lake or River as a Model Surface','unknown'],
337'184':['Grid Tile Glacier Ice and Inland Ice Fraction as a Model Surface','unknown'],
338'185-191':['Reserved','unknown'],
339'192-254':['Reserved for Local Use','unknown'],
340'200':['Entire atmosphere (considered as a single layer)','unknown'],
341'201':['Entire ocean (considered as a single layer)','unknown'],
342'204':['Highest tropospheric freezing level','unknown'],
343'206':['Grid scale cloud bottom level','unknown'],
344'207':['Grid scale cloud top level','unknown'],
345'209':['Boundary layer cloud bottom level','unknown'],
346'210':['Boundary layer cloud top level','unknown'],
347'211':['Boundary layer cloud layer','unknown'],
348'212':['Low cloud bottom level','unknown'],
349'213':['Low cloud top level','unknown'],
350'214':['Low cloud layer','unknown'],
351'215':['Cloud ceiling','unknown'],
352'216':['Effective Layer Top Level','m'],
353'217':['Effective Layer Bottom Level','m'],
354'218':['Effective Layer','m'],
355'220':['Planetary Boundary Layer','unknown'],
356'221':['Layer Between Two Hybrid Levels','unknown'],
357'222':['Middle cloud bottom level','unknown'],
358'223':['Middle cloud top level','unknown'],
359'224':['Middle cloud layer','unknown'],
360'232':['High cloud bottom level','unknown'],
361'233':['High cloud top level','unknown'],
362'234':['High cloud layer','unknown'],
363'235':['Ocean Isotherm Level (1/10 ° C)','unknown'],
364'236':['Layer between two depths below ocean surface','unknown'],
365'237':['Bottom of Ocean Mixed Layer (m)','unknown'],
366'238':['Bottom of Ocean Isothermal Layer (m)','unknown'],
367'239':['Layer Ocean Surface and 26C Ocean Isothermal Level','unknown'],
368'240':['Ocean Mixed Layer','unknown'],
369'241':['Ordered Sequence of Data','unknown'],
370'242':['Convective cloud bottom level','unknown'],
371'243':['Convective cloud top level','unknown'],
372'244':['Convective cloud layer','unknown'],
373'245':['Lowest level of the wet bulb zero','unknown'],
374'246':['Maximum equivalent potential temperature level','unknown'],
375'247':['Equilibrium level','unknown'],
376'248':['Shallow convective cloud bottom level','unknown'],
377'249':['Shallow convective cloud top level','unknown'],
378'251':['Deep convective cloud bottom level','unknown'],
379'252':['Deep convective cloud top level','unknown'],
380'253':['Lowest bottom level of supercooled liquid water layer','unknown'],
381'254':['Highest top level of supercooled liquid water layer','unknown'],
382'255':['Missing','unknown'],
383}
384
385table_4_6 = {
386'0':'Unperturbed High-Resolution Control Forecast',
387'1':'Unperturbed Low-Resolution Control Forecast',
388'2':'Negatively Perturbed Forecast',
389'3':'Positively Perturbed Forecast',
390'4':'Multi-Model Forecast',
391'5-191':'Reserved',
392'192-254':'Reserved for Local Use',
393'192':'Perturbed Ensemble Member',
394'255':'Missing',
395}
396
397table_4_7 = {
398'0':'Unweighted Mean of All Members',
399'1':'Weighted Mean of All Members',
400'2':'Standard Deviation with respect to Cluster Mean',
401'3':'Standard Deviation with respect to Cluster Mean, Normalized',
402'4':'Spread of All Members',
403'5':'Large Anomaly Index of All Members',
404'6':'Unweighted Mean of the Cluster Members',
405'7':'Interquartile Range (Range between the 25th and 75th quantile)',
406'8':'Minimum Of All Ensemble Members',
407'9':'Maximum Of All Ensemble Members',
408'10-191':'Reserved',
409'192-254':'Reserved for Local Use',
410'192':'Unweighted Mode of All Members',
411'193':'Percentile value (10%) of All Members',
412'194':'Percentile value (50%) of All Members',
413'195':'Percentile value (90%) of All Members',
414'196':'Statistically decided weights for each ensemble member',
415'197':'Climate Percentile (percentile values from climate distribution)',
416'198':'Deviation of Ensemble Mean from Daily Climatology',
417'199':'Extreme Forecast Index',
418'200':'Equally Weighted Mean',
419'201':'Percentile value (5%) of All Members',
420'202':'Percentile value (25%) of All Members',
421'203':'Percentile value (75%) of All Members',
422'204':'Percentile value (95%) of All Members',
423'255':'Missing',
424}
425
426table_4_8 = {
427'0':'Anomoly Correlation',
428'1':'Root Mean Square',
429'2-191':'Reserved',
430'192-254':'Reserved for Local Use',
431'255':'Missing',
432}
433
434table_4_9 = {
435'0':'Probability of event below lower limit',
436'1':'Probability of event above upper limit',
437'2':'Probability of event between upper and lower limits (the range includes lower limit but no the upper limit)',
438'3':'Probability of event above lower limit',
439'4':'Probability of event below upper limit',
440'5':'Probability of event equal to lower limit',
441'6':'Probability of event in above normal category (see Notes 1 and 2)',
442'9-191':'Reserved',
443'192-254':'Reserved for Local Use',
444'255':'Missing',
445}
446
447table_4_10 = {
448'0':'Average',
449'1':'Accumulation',
450'2':'Maximum',
451'3':'Minimum',
452'4':'Difference (value at the end of the time range minus value at the beginning)',
453'5':'Root Mean Square',
454'6':'Standard Deviation',
455'7':'Covariance (temporal variance)',
456'8':'Difference ( value at the beginning of the time range minus value at the end)',
457'9':'Ratio',
458'13-191':'Reserved',
459'192-254':'Reserved for Local Use',
460'192':'Climatological Mean Value: multiple year averages of quantities which are themselves means over some period of time (P2) less than a year. The reference time (R) indicates the date and time of the start of a period of time, given by R to R + P2, over which a mean is formed; N indicates the number of such period-means that are averaged together to form the climatological value, assuming that the N period-mean fields are separated by one year. The reference time indicates the start of the N-year climatology. N is given in octets 22-23 of the PDS. If P1 = 0 then the data averaged in the basic interval P2 are assumed to be continuous, i.e., all available data are simply averaged together. If P1 = 1 (the units of time - octet 18, code table 4 - are not relevant here) then the data averaged together in the basic interval P2 are valid only at the time (hour, minute) given in the reference time, for all the days included in the P2 period. The units of P2 are given by the contents of octet 18 and Table 4.',
461'193':'Average of N forecasts (or initialized analyses); each product has forecast period of P1 (P1=0 for initialized analyses); products have reference times at intervals of P2, beginning at the given reference time.',
462'194':'Average of N uninitialized analyses, starting at reference time, at intervals of P2.',
463'195':'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 24-hour intervals. Number in Ave = number of forecasts used.',
464'196':'Average of successive forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at (P2 - P1) intervals. Number in Ave = number of forecasts used',
465'197':'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 24-hour intervals. Number in Ave = number of forecast used',
466'198':'Average of successive forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at (P2 - P1) intervals. Number in Ave = number of forecasts used',
467'199':'Climatological Average of N analyses, each a year apart, starting from initial time R and for the period from R+P1 to R+P2.',
468'200':'Climatological Average of N forecasts, each a year apart, starting from initial time R and for the period from R+P1 to R+P2.',
469'201':'Climatological Root Mean Square difference between N forecasts and their verifying analyses, each a year apart, starting with initial time R and for the period from R+P1 to R+P2.',
470'202':'Climatological Standard Deviation of N forecasts from the mean of the same N forecasts, for forecasts one year apart. The first forecast starts wtih initial time R and is for the period from R+P1 to R+P2.',
471'203':'Climatological Standard Deviation of N analyses from the mean of the same N analyses, for analyses one year apart. The first analyses is valid for period R+P1 to R+P2.',
472'204':'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 6-hour intervals. Number in Ave = number of forecast used',
473'205':'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 6-hour intervals. Number in Ave = number of forecast used',
474'206':'Average of forecast accumulations. P1 = start of accumulation period. P2 = end of accumulation period. Reference time is the start time of the first forecast, other forecasts at 12-hour intervals. Number in Ave = number of forecast used',
475'207':'Average of forecast averages. P1 = start of averaging period. P2 = end of averaging period. Reference time is the start time of the first forecast, other forecasts at 12-hour intervals. Number in Ave = number of forecast used',
476'255':'Missing',
477}
478
479table_4_11 = {
480'0':'Reserved',
481'1':'Successive times processed have same forecast time, start time of forecast is incremented.',
482'2':'Successive times processed have same start time of forecast, forecast time is incremented.',
483'3':'Successive times processed have start time of forecast incremented and forecast time decremented so that valid time remains constant.',
484'4':'Successive times processed have start time of forecast decremented and forecast time incremented so that valid time remains constant.',
485'5':'Floating subinterval of time between forecast time and end of overall time interval.(see Note 1)',
486'6-191':'Reserved',
487'192-254':'Reserved for Local Use',
488'255':'Missing',
489}
490
491table_4_15 = {
492'0':'Data is calculated directly from the source grid with no interpolation',
493'1':'Bilinear interpolation using the 4 source grid grid-point values surrounding the nominal grid-point',
494'2':'Bicubic interpolation using the 4 source grid grid-point values surrounding the nominal grid-point',
495'3':'Using the value from the source grid grid-point which is nearest to the nominal grid-point',
496'4':'Budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point',
497'5':'Spectral interpolation using the 4 source grid grid-point values surrounding the nominal grid-point',
498'6':'Neighbor-budget interpolation using the 4 source grid grid-point values surrounding the nominal grid-point',
499'7-191':'Reserved',
500'192-254':'Reserved for Local Use',
501'255':'Missing',
502}
503
504table_4_91 = {
505'0':'Smaller than first limit',
506'1':'Greater than second limit',
507'2':'Between first and second limit. The range includes the first limit but not the second limit.',
508'3':'Greater than first limit',
509'4':'Smaller than second limit',
510'5':'Smaller or equal first limit',
511'6':'Greater or equal second limit',
512'7':'Between first and second limit. The range includes the first limit and the second limit.',
513'8':'Greater or equal first limit',
514'9':'Smaller or equal second limit',
515'10':'Between first and second limit. The range includes the second limit but not the first limit.',
516'11':'Equal to first limit',
517'12-191':'Reserved',
518'192-254':'Reserved for Local Use',
519'255':'Missing',
520}
521
522table_4_201 = {
523'0':'Reserved',
524'1':'Rain',
525'2':'Thunderstorm',
526'3':'Freezing Rain',
527'4':'Mixed/Ice',
528'5':'Snow',
529'6':'Wet Snow',
530'7':'Mixture of Rain and Snow',
531'8':'Ice Pellets',
532'9':'Graupel',
533'10':'Hail',
534'11':'Drizzle',
535'12':'Freezing Drizzle',
536'13-191':'Reserved',
537'192-254':'Reserved for Local Use',
538'255':'Missing',
539}
540
541table_4_202 = {
542'0-191':'Reserved',
543'192-254':'Reserved for Local Use',
544'255':'Missing',
545}
546
547table_4_203 = {
548'0':'Clear',
549'1':'Cumulonimbus',
550'2':'Stratus',
551'3':'Stratocumulus',
552'4':'Cumulus',
553'5':'Altostratus',
554'6':'Nimbostratus',
555'7':'Altocumulus',
556'8':'Cirrostratus',
557'9':'Cirrorcumulus',
558'10':'Cirrus',
559'11':'Cumulonimbus - ground-based fog beneath the lowest layer',
560'12':'Stratus - ground-based fog beneath the lowest layer',
561'13':'Stratocumulus - ground-based fog beneath the lowest layer',
562'14':'Cumulus - ground-based fog beneath the lowest layer',
563'15':'Altostratus - ground-based fog beneath the lowest layer',
564'16':'Nimbostratus - ground-based fog beneath the lowest layer',
565'17':'Altocumulus - ground-based fog beneath the lowest layer',
566'18':'Cirrostratus - ground-based fog beneath the lowest layer',
567'19':'Cirrorcumulus - ground-based fog beneath the lowest layer',
568'20':'Cirrus - ground-based fog beneath the lowest layer',
569'21-190':'Reserved',
570'191':'Unknown',
571'192-254':'Reserved for Local Use',
572'255':'Missing',
573}
574
575table_4_204 = {
576'1':'Isolated (1-2%)',
577'2':'Few (3-5%)',
578'3':'Scattered (16-45%)',
579'4':'Numerous (>45%)',
580'5-191':'Reserved',
581'192-254':'Reserved for Local Use',
582'255':'Missing',
583}
584
585table_4_205 = {
586'0':'Aerosol not present',
587'1':'Aerosol present',
588'2-191':'Reserved',
589'192-254':'Reserved for Local Use',
590'255':'Missing',
591}
592
593table_4_206 = {
594'0':'Not Present',
595'1':'Present',
596'2-191':'Reserved',
597'192-254':'Reserved for Local Use',
598'255':'Missing',
599}
600
601table_4_207 = {
602'1':'Light',
603'2':'Moderate',
604'3':'Severe',
605'4':'Trace',
606'5':'Heavy',
607'6-191':'Reserved',
608'192-254':'Reserved for Local Use',
609'255':'Missing',
610}
611
612table_4_208 = {
613'1':'Light',
614'2':'Moderate',
615'3':'Severe',
616'4':'Extreme',
617'5-191':'Reserved',
618'192-254':'Reserved for Local Use',
619'255':'Missing',
620}
621
622table_4_209 = {
623'0':'Reserved',
624'1':'Stable',
625'2':'Mechanically-Driven Turbulence',
626'3':'Force Convection',
627'4':'Free Convection',
628'5-191':'Reserved',
629'192-254':'Reserved for Local Use',
630'255':'Missing',
631}
632
633table_4_210 = {
634'0':'Contrail Not Present',
635'1':'Contrail Present',
636'2-191':'Reserved',
637'192-254':'Reserved for Local Use',
638'255':'Missing',
639}
640
641table_4_211 = {
642'0':'Low Bypass',
643'1':'High Bypass',
644'2':'Non-Bypass',
645'3-191':'Reserved',
646'192-254':'Reserved for Local Use',
647'255':'Missing',
648}
649
650table_4_212 = {
651'0':'Reserved',
652'1':'Urban Land',
653'2':'Agricultural',
654'3':'Range Land',
655'4':'Deciduous Forest',
656'5':'Coniferous Forest',
657'6':'Forest/Wetland',
658'7':'Water',
659'8':'Wetlands',
660'9':'Desert',
661'10':'Tundra',
662'11':'Ice',
663'12':'Tropical Forest',
664'13':'Savannah',
665'14-191':'Reserved',
666'192-254':'Reserved for Local Use',
667'255':'Missing',
668}
669
670table_4_213 = {
671'0':'Reserved',
672'1':'Sand',
673'2':'Loamy Sand',
674'3':'Sandy Loam',
675'4':'Silt Loam',
676'5':'Organic',
677'6':'Sandy Clay Loam',
678'7':'Silt Clay Loam',
679'8':'Clay Loam',
680'9':'Sandy Clay',
681'10':'Silty Clay',
682'11':'Clay',
683'12-191':'Reserved',
684'192-254':'Reserved for Local Use',
685'255':'Missing',
686}
687
688table_4_215 = {
689'0-49':'Reserved',
690'50':'No-Snow/No-Cloud',
691'51-99':'Reserved',
692'100':'Clouds',
693'101-249':'Reserved',
694'250':'Snow',
695'192-254':'Reserved for Local Use',
696'255':'Missing',
697}
698
699table_4_216 = {
700'0-90':'Elevation in increments of 100 m',
701'91-253':'Reserved',
702'254':'Clouds',
703'255':'Missing',
704}
705
706table_4_217 = {
707'0':'Clear over water',
708'1':'Clear over land',
709'2':'Cloud',
710'3':'No data',
711'4-191':'Reserved',
712'192-254':'Reserved for Local Use',
713'255':'Missing',
714}
715
716table_4_218 = {
717'0':'No Scene Identified',
718'1':'Green Needle-Leafed Forest',
719'2':'Green Broad-Leafed Forest',
720'3':'Deciduous Needle-Leafed Forest',
721'4':'Deciduous Broad-Leafed Forest',
722'5':'Deciduous Mixed Forest',
723'6':'Closed Shrub-Land',
724'7':'Open Shrub-Land',
725'8':'Woody Savannah',
726'9':'Savannah',
727'10':'Grassland',
728'11':'Permanent Wetland',
729'12':'Cropland',
730'13':'Urban',
731'14':'Vegetation / Crops',
732'15':'Permanent Snow / Ice',
733'16':'Barren Desert',
734'17':'Water Bodies',
735'18':'Tundra',
736'19':'Warm Liquid Water Cloud',
737'20':'Supercooled Liquid Water Cloud',
738'21':'Mixed Phase Cloud',
739'22':'Optically Thin Ice Cloud',
740'23':'Optically Thick Ice Cloud',
741'24':'Multi-Layeblack Cloud',
742'25-96':'Reserved',
743'97':'Snow / Ice on Land',
744'98':'Snow / Ice on Water',
745'99':'Sun-Glint',
746'100':'General Cloud',
747'101':'Low Cloud / Fog / Stratus',
748'102':'Low Cloud / Stratocumulus',
749'103':'Low Cloud / Unknown Type',
750'104':'Medium Cloud / Nimbostratus',
751'105':'Medium Cloud / Altostratus',
752'106':'Medium Cloud / Unknown Type',
753'107':'High Cloud / Cumulus',
754'108':'High Cloud / Cirrus',
755'109':'High Cloud / Unknown Type',
756'110':'Unknown Cloud Type',
757'111':'Single layer water cloud',
758'112':'Single layer ice cloud',
759'113-191':'Reserved',
760'192-254':'Reserved for Local Use',
761'255':'Missing',
762}
763
764table_4_222 = {
765'0':'No',
766'1':'Yes',
767'2-191':'Reserved',
768'192-254':'Reserved for Local Use',
769'255':'Missing',
770}
771
772table_4_223 = {
773'0':'No Fire Detected',
774'1':'Possible Fire Detected',
775'2':'Probable Fire Detected',
776'3':'Missing',
777'4-191':'Reserved',
778'192-254':'Reserved for Local Use',
779'255':'Missing',
780}
781
782table_4_224 = {
783'0':'No Risk Area',
784'1':'Reserved',
785'2':'General Thunderstorm Risk Area',
786'3':'Reserved',
787'4':'Slight Risk Area',
788'5':'Reserved',
789'6':'Moderate Risk Area',
790'7':'Reserved',
791'8':'High Risk Area',
792'9-10':'Reserved',
793'11':'Dry Thunderstorm (Dry Lightning) Risk Area',
794'12-13':'Reserved',
795'14':'Critical Risk Area',
796'15-17':'Reserved',
797'18':'Extreamly Critical Risk Area',
798'19-191':'Reserved',
799'192-254':'Reserved for Local Use',
800'255':'Missing',
801}
802
803table_4_227 = {
804'1':'General',
805'2':'Convective',
806'3':'Stratiform',
807'4':'Freezing',
808'5-191':'Reserved',
809'192-254':'Reserved for Local Use',
810'255':'Missing',
811}
812
813table_4_228 = {
814'1':'Trace',
815'2':'Light',
816'3':'Moderate',
817'4':'Severe',
818'6-191':'Reserved',
819'192-254':'Reserved for Local Use',
820'255':'Missing',
821}
822
823table_4_233 = {
824'0':['Ozone','O3'],
825'1':['Water Vapour','H2O'],
826'2':['Methane','CH4'],
827'3':['Carbon Dioxide','CO2'],
828'4':['Carbon Monoxide','CO'],
829'5':['Nitrogen Dioxide','NO2'],
830'6':['Nitrous Oxide','N2O'],
831'7':['Formaldehyde','HCHO'],
832'8':['Sulphur Dioxide','SO2'],
833'9':['Ammonia','NH3'],
834'10':['Ammonium','NH4+'],
835'11':['Nitrogen Monoxide','NO'],
836'12':['Atomic Oxygen','O'],
837'13':['Nitrate Radical','NO3'],
838'14':['Hydroperoxyl Radical','HO2'],
839'15':['Dinitrogen Pentoxide','H2O5'],
840'16':['Nitrous Acid','HONO'],
841'17':['Nitric Acid','HNO3'],
842'18':['Peroxynitric Acid','HO2NO2'],
843'19':['Hydrogen Peroxide','H2O2'],
844'20':['Molecular Hydrogen','H'],
845'21':['Atomic Nitrogen','N'],
846'22':['Sulphate','SO42-'],
847'23':['Radon','Rn'],
848'24':['Elemental Mercury','Hg(O)'],
849'25':['Divalent Mercury','Hg2+'],
850'26':['Atomic Chlorine','Cl'],
851'27':['Chlorine Monoxide','ClO'],
852'28':['Dichlorine Peroxide','Cl2O2'],
853'29':['Hypochlorous Acid','HClO'],
854'30':['Chlorine Nitrate','ClONO2'],
855'31':['Chlorine Dioxide','ClO2'],
856'32':['Atomic Bromide','Br'],
857'33':['Bromine Monoxide','BrO'],
858'34':['Bromine Chloride','BrCl'],
859'35':['Hydrogen Bromide','HBr'],
860'36':['Hypobromous Acid','HBrO'],
861'37':['Bromine Nitrate','BrONO2'],
862'38':['Oxygen','O2'],
863'39-9999':['Reserved','unknown'],
864'10000':['Hydroxyl Radical','OH'],
865'10001':['Methyl Peroxy Radical','CH3O2'],
866'10002':['Methyl Hydroperoxide','CH3O2H'],
867'10003':['Reserved','unknown'],
868'10004':['Methanol','CH3OH'],
869'10005':['Formic Acid','CH3OOH'],
870'10006':['Hydrogen Cyanide','HCN'],
871'10007':['Aceto Nitrile','CH3CN'],
872'10008':['Ethane','C2H6'],
873'10009':['Ethene (= Ethylene)','C2H4'],
874'10010':['Ethyne (= Acetylene)','C2H2'],
875'10011':['Ethanol','C2H5OH'],
876'10012':['Acetic Acid','C2H5OOH'],
877'10013':['Peroxyacetyl Nitrate','CH3C(O)OONO2'],
878'10014':['Propane','C3H8'],
879'10015':['Propene','C3H6'],
880'10016':['Butanes','C4H10'],
881'10017':['Isoprene','C5H10'],
882'10018':['Alpha Pinene','C10H16'],
883'10019':['Beta Pinene','C10H16'],
884'10020':['Limonene','C10H16'],
885'10021':['Benzene','C6H6'],
886'10022':['Toluene','C7H8'],
887'10023':['Xylene','C8H10'],
888'10024-10499':['Reserved','unknown'],
889'10500':['Dimethyl Sulphide','CH3SCH3'],
890'10501-20000':['Reserved','unknown'],
891'20001':['Hydrogen Chloride','HCL'],
892'20002':['CFC-11','unknown'],
893'20003':['CFC-12','unknown'],
894'20004':['CFC-113','unknown'],
895'20005':['CFC-113a','unknown'],
896'20006':['CFC-114','unknown'],
897'20007':['CFC-115','unknown'],
898'20008':['HCFC-22','unknown'],
899'20009':['HCFC-141b','unknown'],
900'20010':['HCFC-142b','unknown'],
901'20011':['Halon-1202','unknown'],
902'20012':['Halon-1211','unknown'],
903'20013':['Halon-1301','unknown'],
904'20014':['Halon-2402','unknown'],
905'20015':['Methyl Chloride (HCC-40)','unknown'],
906'20016':['Carbon Tetrachloride (HCC-10)','unknown'],
907'20017':['HCC-140a','CH3CCl3'],
908'20018':['Methyl Bromide (HBC-40B1)','unknown'],
909'20019':['Hexachlorocyclohexane (HCH)','unknown'],
910'20020':['Alpha Hexachlorocyclohexane','unknown'],
911'20021':['Hexachlorobiphenyl (PCB-153)','unknown'],
912'20022-29999':['Reserved','unknown'],
913'30000':['Radioactive Pollutant (Tracer, defined by originating centre)','unknown'],
914'30001-50000':['Reserved','unknown'],
915'60000':['HOx Radical (OH+HO2)','unknown'],
916'60001':['Total Inorganic and Organic Peroxy Radicals (HO2+RO2)','RO2'],
917'60002':['Passive Ozone','unknown'],
918'60003':['NOx Expressed As Nitrogen','NOx'],
919'60004':['All Nitrogen Oxides (NOy) Expressed As Nitrogen','NOy'],
920'60005':['Total Inorganic Chlorine','Clx'],
921'60006':['Total Inorganic Bromine','Brx'],
922'60007':['Total Inorganic Chlorine Except HCl, ClONO2: ClOx','unknown'],
923'60008':['Total Inorganic Bromine Except Hbr, BrONO2:BrOx','unknown'],
924'60009':['Lumped Alkanes','unknown'],
925'60010':['Lumped Alkenes','unknown'],
926'60011':['Lumped Aromatic Coumpounds','unknown'],
927'60012':['Lumped Terpenes','unknown'],
928'60013':['Non-Methane Volatile Organic Compounds Expressed as Carbon','NMVOC'],
929'60014':['Anthropogenic Non-Methane Volatile Organic Compounds Expressed as Carbon','aNMVOC'],
930'60015':['Biogenic Non-Methane Volatile Organic Compounds Expressed as Carbon','bNMVOC'],
931'60016':['Lumped Oxygenated Hydrocarbons','OVOC'],
932'60017-61999':['Reserved','unknown'],
933'62000':['Total Aerosol','unknown'],
934'62001':['Dust Dry','unknown'],
935'62002':['water In Ambient','unknown'],
936'62003':['Ammonium Dry','unknown'],
937'62004':['Nitrate Dry','unknown'],
938'62005':['Nitric Acid Trihydrate','unknown'],
939'62006':['Sulphate Dry','unknown'],
940'62007':['Mercury Dry','unknown'],
941'62008':['Sea Salt Dry','unknown'],
942'62009':['Black Carbon Dry','unknown'],
943'62010':['Particulate Organic Matter Dry','unknown'],
944'62011':['Primary Particulate Organic Matter Dry','unknown'],
945'62012':['Secondary Particulate Organic Matter Dry','unknown'],
946'62013':['Black carbon hydrophilic dry','unknown'],
947'62014':['Black carbon hydrophobic dry','unknown'],
948'62015':['Particulate organic matter hydrophilic dry','unknown'],
949'62016':['Particulate organic matter hydrophobic dry','unknown'],
950'62017':['Nitrate hydrophilic dry','unknown'],
951'62018':['Nitrate hydrophobic dry','unknown'],
952'62019':['Reserved','unknown'],
953'62020':['Smoke - high absorption','unknown'],
954'62021':['Smoke - low absorption','unknown'],
955'62022':['Aerosol - high absorption','unknown'],
956'62023':['Aerosol - low absorption','unknown'],
957'62024':['Reserved','unknown'],
958'62025':['Volcanic ash','unknown'],
959'62036':['Brown Carbon Dry','unknown'],
960'62037-65534':['Reserved','unknown'],
961'65535':['Missing','unknown'],
962}
963
964table_4_243 = {
965'0':'Reserved',
966'1':'Evergreen broadleaved forest',
967'2':'Deciduous broadleaved closed forest',
968'3':'Deciduous broadleaved open forest',
969'4':'Evergreen needle-leaf forest',
970'5':'Deciduous needle-leaf forest',
971'6':'Mixed leaf trees',
972'7':'Fresh water flooded trees',
973'8':'Saline water flooded trees',
974'9':'Mosaic tree/natural vegetation',
975'10':'Burnt tree cover',
976'11':'Evergreen shurbs closed-open',
977'12':'Deciduous shurbs closed-open',
978'13':'Herbaceous vegetation closed-open',
979'14':'Sparse herbaceous or grass',
980'15':'Flooded shurbs or herbaceous',
981'16':'Cultivated and managed areas',
982'17':'Mosaic crop/tree/natural vegetation',
983'18':'Mosaic crop/shrub/grass',
984'19':'Bare areas',
985'20':'Water',
986'21':'Snow and ice',
987'22':'Artificial surface',
988'23':'Ocean',
989'24':'Irrigated croplands',
990'25':'Rain fed croplands',
991'26':'Mosaic cropland (50-70%)-vegetation (20-50%)',
992'27':'Mosaic vegetation (50-70%)-cropland (20-50%)',
993'28':'Closed broadleaved evergreen forest',
994'29':'Closed needle-leaved evergreen forest',
995'30':'Open needle-leaved deciduous forest',
996'31':'Mixed broadleaved and needle-leave forest',
997'32':'Mosaic shrubland (50-70%)-grassland (20-50%)',
998'33':'Mosaic grassland (50-70%)-shrubland (20-50%)',
999'34':'Closed to open shrubland',
1000'35':'Sparse vegetation',
1001'36':'Closed to open forest regularly flooded',
1002'37':'Closed forest or shrubland permanently flooded',
1003'38':'Closed to open grassland regularly flooded',
1004'39':'Undefined',
1005'40-191':'Reserved',
1006'192-254':'Reserved for Local Use',
1007'255':'Missing',
1008}
1009
1010table_4_246 = {
1011'0':'No thunderstorm occurrence',
1012'1':'Weak thunderstorm',
1013'2':'Moderate thunderstorm',
1014'3':'Severe thunderstorm',
1015'4-191':'Reserved',
1016'192-254':'Reserved for Local Use',
1017'255':'Missing',
1018}
1019
1020table_4_247 = {
1021'0':'No precipitation occurrence',
1022'1':'Light precipitation',
1023'2':'Moderate precipitation',
1024'3':'Heavy precipitation',
1025'4-191':'Reserved',
1026'192-254':'Reserved for Local Use',
1027'255':'Missing',
1028}
1029
1030table_4_248 = {
1031'0':'Nearest forecast or analysis time to specified local time',
1032'1':'Interpolated to be valid at the specified local time',
1033'2-191':'Reserved',
1034'192-254':'Reserved for Local Use',
1035'255':'Missing',
1036}
1037
1038table_4_249 = {
1039'1':'Showers',
1040'2':'Intermittent',
1041'3':'Continuous',
1042'4-191':'Reserved',
1043'192-254':'Reserved for Local Use',
1044'255':'Missing',
1045}
1046
1047table_4_250 = {
1048'0':'Reserved',
1049'1':'South-West',
1050'2':'South',
1051'3':'South-East',
1052'4':'West',
1053'5':'No direction',
1054'6':'East',
1055'7':'North-West',
1056'8':'North',
1057'9':'North-East',
1058'10-191':'Reserved',
1059'192-254':'Reserved for Local Use',
1060'255':'Missing',
1061}
1062
1063table_scale_time_hours = {
1064'0': 60.,
1065'1': 1.,
1066'2': float(1.0/24.0),
1067'3': float(1.0/720.0),
1068'4': float(1.0/(365.0*24.0)),
1069'5': float(1.0/(10.0*365.0*24.0)),
1070'6': float(1.0/(30.0*365.0*24.0)),
1071'7': float(1.0/(100.0*365.0*24.0)),
1072'8': 1.,
1073'9': 1.,
1074'10': 3.,
1075'11': 6.,
1076'12': 12.,
1077'13': 3600.,
1078'14-255': 1.}
1079
1080# ----------------------------------------------------------------------------------------
1081# Source: https://github.com/NOAA-EMC/NCEPLIBS-wgrib2/blob/develop/wgrib2/Level.c
1082#
1083# The dictionary key is the Section 4.5 coded value. The value is a list where the
1084# index 0 is the string to use for level and index 1 is the string for a layer.
1085# ----------------------------------------------------------------------------------------
1086table_wgrib2_level_string = {
1087'0': ["reserved","reserved"],
1088'1': ["surface","reserved"],
1089'2': ["cloud base","reserved"],
1090'3': ["cloud top","reserved"],
1091'4': ["0C isotherm","reserved"],
1092'5': ["level of adiabatic condensation from sfc","reserved"],
1093'6': ["max wind","reserved"],
1094'7': ["tropopause","reserved"],
1095'8': ["top of atmosphere","reserved"],
1096'9': ["sea bottom","reserved"],
1097'10': ["entire atmosphere","reserved"],
1098'11': ["cumulonimbus base","reserved"],
1099'12': ["cumulonimbus top","reserved"],
1100'13': ["lowest level %g%% integrated cloud cover","reserved"],
1101'14': ["level of free convection","reserved"],
1102'15': ["convection condensation level","reserved"],
1103'16': ["level of neutral buoyancy","reserved"],
1104'17': ["reserved","reserved"],
1105'18': ["reserved","reserved"],
1106'19': ["reserved","reserved"],
1107'20': ["%g K level","reserved"],
1108'21': ["lowest level > %g kg/m^3","reserved"],
1109'22': ["highest level > %g kg/m^3","reserved"],
1110'23': ["lowest level > %g Bq/m^3","reserved"],
1111'24': ["highest level > %g Bg/m^3","reserved"],
1112'25': ["reserved","reserved"],
1113'26': ["reserved","reserved"],
1114'27': ["reserved","reserved"],
1115'28': ["reserved","reserved"],
1116'29': ["reserved","reserved"],
1117'30': ["reserved","reserved"],
1118'31': ["reserved","reserved"],
1119'32': ["reserved","reserved"],
1120'33': ["reserved","reserved"],
1121'34': ["reserved","reserved"],
1122'35': ["reserved","reserved"],
1123'36': ["reserved","reserved"],
1124'37': ["reserved","reserved"],
1125'38': ["reserved","reserved"],
1126'39': ["reserved","reserved"],
1127'40': ["reserved","reserved"],
1128'41': ["reserved","reserved"],
1129'42': ["reserved","reserved"],
1130'43': ["reserved","reserved"],
1131'44': ["reserved","reserved"],
1132'45': ["reserved","reserved"],
1133'46': ["reserved","reserved"],
1134'47': ["reserved","reserved"],
1135'48': ["reserved","reserved"],
1136'49': ["reserved","reserved"],
1137'50': ["reserved","reserved"],
1138'51': ["reserved","reserved"],
1139'52': ["reserved","reserved"],
1140'53': ["reserved","reserved"],
1141'54': ["reserved","reserved"],
1142'55': ["reserved","reserved"],
1143'56': ["reserved","reserved"],
1144'57': ["reserved","reserved"],
1145'58': ["reserved","reserved"],
1146'59': ["reserved","reserved"],
1147'60': ["reserved","reserved"],
1148'61': ["reserved","reserved"],
1149'62': ["reserved","reserved"],
1150'63': ["reserved","reserved"],
1151'64': ["reserved","reserved"],
1152'65': ["reserved","reserved"],
1153'66': ["reserved","reserved"],
1154'67': ["reserved","reserved"],
1155'68': ["reserved","reserved"],
1156'69': ["reserved","reserved"],
1157'70': ["reserved","reserved"],
1158'71': ["reserved","reserved"],
1159'72': ["reserved","reserved"],
1160'73': ["reserved","reserved"],
1161'74': ["reserved","reserved"],
1162'75': ["reserved","reserved"],
1163'76': ["reserved","reserved"],
1164'77': ["reserved","reserved"],
1165'78': ["reserved","reserved"],
1166'79': ["reserved","reserved"],
1167'80': ["reserved","reserved"],
1168'81': ["reserved","reserved"],
1169'82': ["reserved","reserved"],
1170'83': ["reserved","reserved"],
1171'84': ["reserved","reserved"],
1172'85': ["reserved","reserved"],
1173'86': ["reserved","reserved"],
1174'87': ["reserved","reserved"],
1175'88': ["reserved","reserved"],
1176'89': ["reserved","reserved"],
1177'90': ["reserved","reserved"],
1178'91': ["reserved","reserved"],
1179'92': ["reserved","reserved"],
1180'93': ["reserved","reserved"],
1181'94': ["reserved","reserved"],
1182'95': ["reserved","reserved"],
1183'96': ["reserved","reserved"],
1184'97': ["reserved","reserved"],
1185'98': ["reserved","reserved"],
1186'99': ["reserved","reserved"],
1187'100': ["%g mb","%g-%g mb"],
1188'101': ["mean sea level","reserved"],
1189'102': ["%g m above mean sea level","%g-%g m above mean sea level"],
1190'103': ["%g m above ground","%g-%g m above ground"],
1191'104': ["%g sigma level","%g-%g sigma layer"],
1192'105': ["%g hybrid level","%g-%g hybrid layer"],
1193'106': ["%g m underground","%g-%g m underground"],
1194'107': ["%g K isentropic level","%g-%g K isentropic layer"],
1195'108': ["%g mb above ground","%g-%g mb above ground"],
1196'109': ["PV=%g (Km^2/kg/s) surface","reserved"],
1197'110': ["reserved","reserved"],
1198'111': ["%g Eta level","%g-%g Eta layer"],
1199'112': ["reserved","reserved"],
1200'113': ["%g logarithmic hybrid level","reserved"],
1201'114': ["snow level","reserved"],
1202'115': ["%g sigma height level","%g-%g sigma heigh layer"],
1203'116': ["reserved","reserved"],
1204'117': ["mixed layer depth","reserved"],
1205'118': ["%g hybrid height level","%g-%g hybrid height layer"],
1206'119': ["%g hybrid pressure level","%g-%g hybrid pressure layer"],
1207'120': ["reserved","reserved"],
1208'121': ["reserved","reserved"],
1209'122': ["reserved","reserved"],
1210'123': ["reserved","reserved"],
1211'124': ["reserved","reserved"],
1212'125': ["reserved","reserved"],
1213'126': ["reserved","reserved"],
1214'127': ["reserved","reserved"],
1215'128': ["reserved","reserved"],
1216'129': ["reserved","reserved"],
1217'130': ["reserved","reserved"],
1218'131': ["reserved","reserved"],
1219'132': ["reserved","reserved"],
1220'133': ["reserved","reserved"],
1221'134': ["reserved","reserved"],
1222'135': ["reserved","reserved"],
1223'136': ["reserved","reserved"],
1224'137': ["reserved","reserved"],
1225'138': ["reserved","reserved"],
1226'139': ["reserved","reserved"],
1227'140': ["reserved","reserved"],
1228'141': ["reserved","reserved"],
1229'142': ["reserved","reserved"],
1230'143': ["reserved","reserved"],
1231'144': ["reserved","reserved"],
1232'145': ["reserved","reserved"],
1233'146': ["reserved","reserved"],
1234'147': ["reserved","reserved"],
1235'148': ["reserved","reserved"],
1236'149': ["reserved","reserved"],
1237'150': ["%g generalized vertical height coordinate","reserved"],
1238'151': ["soil level %g","reserved"],
1239'152': ["reserved","reserved"],
1240'153': ["reserved","reserved"],
1241'154': ["reserved","reserved"],
1242'155': ["reserved","reserved"],
1243'156': ["reserved","reserved"],
1244'157': ["reserved","reserved"],
1245'158': ["reserved","reserved"],
1246'159': ["reserved","reserved"],
1247'160': ["%g m below sea level","%g-%g m below sea level"],
1248'161': ["%g m below water surface","%g-%g m ocean layer"],
1249'162': ["lake or river bottom","reserved"],
1250'163': ["bottom of sediment layer","reserved"],
1251'164': ["bottom of thermally active sediment layer","reserved"],
1252'165': ["bottom of sediment layer penetrated by thermal wave","reserved"],
1253'166': ["maxing layer","reserved"],
1254'167': ["bottom of root zone","reserved"],
1255'168': ["reserved","reserved"],
1256'169': ["reserved","reserved"],
1257'170': ["reserved","reserved"],
1258'171': ["reserved","reserved"],
1259'172': ["reserved","reserved"],
1260'173': ["reserved","reserved"],
1261'174': ["top surface of ice on sea, lake or river","reserved"],
1262'175': ["top surface of ice, und snow on sea, lake or river","reserved"],
1263'176': ["bottom surface ice on sea, lake or river","reserved"],
1264'177': ["deep soil","reserved"],
1265'178': ["reserved","reserved"],
1266'179': ["top surface of glacier ice and inland ice","reserved"],
1267'180': ["deep inland or glacier ice","reserved"],
1268'181': ["grid tile land fraction as a model surface","reserved"],
1269'182': ["grid tile water fraction as a model surface","reserved"],
1270'183': ["grid tile ice fraction on sea, lake or river as a model surface","reserved"],
1271'184': ["grid tile glacier ice and inland ice fraction as a model surface","reserved"],
1272'185': ["reserved","reserved"],
1273'186': ["reserved","reserved"],
1274'187': ["reserved","reserved"],
1275'188': ["reserved","reserved"],
1276'189': ["reserved","reserved"],
1277'190': ["reserved","reserved"],
1278'191': ["reserved","reserved"],
1279'192': ["reserved","reserved"],
1280'193': ["reserved","reserved"],
1281'194': ["reserved","reserved"],
1282'195': ["reserved","reserved"],
1283'196': ["reserved","reserved"],
1284'197': ["reserved","reserved"],
1285'198': ["reserved","reserved"],
1286'199': ["reserved","reserved"],
1287'200': ["entire atmosphere (considered as a single layer)","reserved"],
1288'201': ["entire ocean (considered as a single layer)","reserved"],
1289'202': ["reserved","reserved"],
1290'203': ["reserved","reserved"],
1291'204': ["highest tropospheric freezing level","reserved"],
1292'205': ["reserved","reserved"],
1293'206': ["grid scale cloud bottom level","reserved"],
1294'207': ["grid scale cloud top level","reserved"],
1295'208': ["reserved","reserved"],
1296'209': ["boundary layer cloud bottom level","reserved"],
1297'210': ["boundary layer cloud top level","reserved"],
1298'211': ["boundary layer cloud layer","reserved"],
1299'212': ["low cloud bottom level","reserved"],
1300'213': ["low cloud top level","reserved"],
1301'214': ["low cloud layer","reserved"],
1302'215': ["cloud ceiling","reserved"],
1303'216': ["reserved","reserved"],
1304'217': ["reserved","reserved"],
1305'218': ["reserved","reserved"],
1306'219': ["reserved","reserved"],
1307'220': ["planetary boundary layer","reserved"],
1308'221': ["layer between two hybrid levels","reserved"],
1309'222': ["middle cloud bottom level","reserved"],
1310'223': ["middle cloud top level","reserved"],
1311'224': ["middle cloud layer","reserved"],
1312'225': ["reserved","reserved"],
1313'226': ["reserved","reserved"],
1314'227': ["reserved","reserved"],
1315'228': ["reserved","reserved"],
1316'229': ["reserved","reserved"],
1317'230': ["reserved","reserved"],
1318'231': ["reserved","reserved"],
1319'232': ["high cloud bottom level","reserved"],
1320'233': ["high cloud top level","reserved"],
1321'234': ["high cloud layer","reserved"],
1322'235': ["%gC ocean isotherm","%g-%gC ocean isotherm layer"],
1323'236': ["layer between two depths below ocean surface","%g-%g m ocean layer"],
1324'237': ["bottom of ocean mixed layer","reserved"],
1325'238': ["bottom of ocean isothermal layer","reserved"],
1326'239': ["layer ocean surface and 26C ocean isothermal level","reserved"],
1327'240': ["ocean mixed layer","reserved"],
1328'241': ["%g in sequence","reserved"],
1329'242': ["convective cloud bottom level","reserved"],
1330'243': ["convective cloud top level","reserved"],
1331'244': ["convective cloud layer","reserved"],
1332'245': ["lowest level of the wet bulb zero","reserved"],
1333'246': ["maximum equivalent potential temperature level","reserved"],
1334'247': ["equilibrium level","reserved"],
1335'248': ["shallow convective cloud bottom level","reserved"],
1336'249': ["shallow convective cloud top level","reserved"],
1337'250': ["reserved","reserved"],
1338'251': ["deep convective cloud bottom level","reserved"],
1339'252': ["deep convective cloud top level","reserved"],
1340'253': ["lowest bottom level of supercooled liquid water layer","reserved"],
1341'254': ["highest top level of supercooled liquid water layer","reserved"],
1342'255': ["missing","reserved"],
1343}