grib2io.tables.ndfd_additionals

  1# ----------------------------------------------------------------------------------------
  2# Source: https://vlab.noaa.gov/web/mdl/ndfd-grib-all-sections#weather-keys-and-subkeys
  3# ----------------------------------------------------------------------------------------
  4table_ndfd_wx = {
  5'<NoWx>': 'No Weather',
  6'A': 'Hail',
  7'BD': 'Blowing Dust',
  8'BN': 'Blowing Sand',
  9'BS': 'Blowing Snow',
 10'F': 'Fog',
 11'FR': 'Frost',
 12'H': 'Haze',
 13'IC': 'Ice Crystals',
 14'IF': 'Ice Fog',
 15'IP': 'Ice Pellets (sleet)',
 16'K': 'Smoke',
 17'L': 'Drizzle',
 18'R': 'Rain',
 19'RW': 'Rain Showers',
 20'S': 'Snow',
 21'SW': 'Snow Showers',
 22'T': 'Thunder',
 23'VA': 'Volcanic Ash',
 24'WP': 'Water Spouts',
 25'ZF': 'Freezing Fog',
 26'ZL': 'Freezing Drizzle',
 27'ZR': 'Freezing Rain',
 28'ZY': 'Freezing Spray',
 29}
 30
 31table_ndfd_wx_covprb = {
 32'<NoCov>': 'No Coverage/probability',
 33'Areas': 'Areas of',
 34'Brf': 'Brief',
 35'Chc': 'Chance',
 36'Def': 'Definite',
 37'Frq': 'Frequent',
 38'Inter': 'Intermittent',
 39'Iso': 'Isolated',
 40'Lkly': 'Likely',
 41'Num': 'Numerous',
 42'Ocnl': 'Occasional',
 43'Patchy': 'Patchy',
 44'Pds': 'Periods of',
 45'SChc': 'Slight Chance',
 46'Sct': 'Scattered',
 47'Wide': 'Widespread',
 48}
 49
 50table_ndfd_wx_intensity = {
 51'<NoInten>': 'No Intensity',
 52'--': 'Very Light',
 53'-': 'Light',
 54'm': 'Moderate',
 55'+': 'Heavy',
 56}
 57
 58table_ndfd_wx_attribute = {
 59'DmgW': 'Damaging Winds',
 60'Dry': 'Dry',
 61'FL': 'Frequent Lightning',
 62'GW': 'Gusty Winds',
 63'HvyRn': 'Heavy Rain',
 64'LgA': 'Large Hail',
 65'Mention': 'Include Unconditionally',
 66'Mx': 'Mixture',
 67'OBO': 'on Bridges and Overpasses',
 68'OGA': 'on Grassy Areas',
 69'OLA': 'on Outlying Areas',
 70'OR': 'Or',
 71'Primary': 'Highest Ranking',
 72'SmA': 'Small Hail',
 73'TOR': 'Tornado',
 74}
 75
 76# ----------------------------------------------------------------------------------------
 77# Source: https://vlab.noaa.gov/web/mdl/additional-grib-tables#hazard_keys
 78# ----------------------------------------------------------------------------------------
 79table_ndfd_hazards = {
 80'<None>': 'No Hazard',
 81'AF.W': 'Ash Fall Warning',
 82'AF.Y': 'Ash Fall Advisory',
 83'AS.Y': 'Air Stagnation Advisory',
 84'BH.S': 'Beach Hazard Statement',
 85'BS.Y': 'Blowing Snow Advisory',
 86'BW.Y': 'Brisk Wind Advisory',
 87'BZ.A': 'Blizzard Watch',
 88'BZ.W': 'Blizzard Warning',
 89'CF.A': 'Coastal Flood Watch',
 90'CF.S': 'Coastal Flood Statement',
 91'CF.W': 'Coastal Flood Warning',
 92'CF.Y': 'Coastal Flood Advisory',
 93'DS.W': 'Dust Storm Warning',
 94'DU.Y': 'Blowing Dust Advisory',
 95'EC.A': 'Extreme Cold Watch',
 96'EC.W': 'Extreme Cold Warning',
 97'EH.A': 'Excessive Heat Watch',
 98'EH.W': 'Excessive Heat Warning',
 99'EW.W': 'Extreme Wind Warning',
100'FA.A': 'Areal Flood Watch',
101'FA.W': 'Areal Flood Warning',
102'FA.Y': 'Areal Flood Advisory',
103'FF.A': 'Flash Flood Watch',
104'FF.W': 'Flash Flood Warning',
105'FG.Y': 'Dense Fog Advisory',
106'FL.A': 'Flood Watch',
107'FL.W': 'Flood Warning',
108'FL.Y': 'Flood Advisory',
109'FR.Y': 'Frost Advisory',
110'FW.A': 'Fire Weather Watch',
111'FW.W': 'Fire Weather Warning',
112'FZ.A': 'Freeze Watch',
113'FZ.W': 'Freeze Warning',
114'GL.A': 'Gale Watch',
115'GL.W': 'Gale Warning',
116'HF.A': 'Hurricane Force Wind Watch',
117'HF.W': 'Hurricane Force Wind Warning',
118'HI.A': 'Hurricane Wind Watch',
119'HI.W': 'Hurricane Wind Warning',
120'HS.W': 'Heavy Snow Warning',
121'HT.Y': 'Heat Advisory',
122'HU.A': 'Hurricane Watch',
123'HU.S': 'Hurricane Statement',
124'HU.W': 'Hurricane Warning',
125'HW.A': 'High Wind Watch',
126'HW.W': 'High Wind Warning',
127'HZ.A': 'Hard Freeze Watch',
128'HZ.W': 'Hard Freeze Warning',
129'IP.W': 'Sleet Warning',
130'IP.Y': 'Sleet Advisory',
131'IS.W': 'Ice Storm Warning',
132'LB.Y': 'Lake Effect Snow and Blowing Snow Advis.',
133'LE.A': 'Lake Effect Snow Watch',
134'LE.W': 'Lake Effect Snow Warning',
135'LE.Y': 'Lake Effect Snow Advisory',
136'LO.Y': 'Low Water Advisory',
137'LS.A': 'Lake Shore Flood Watch',
138'LS.S': 'Lake Shore Flood Statement',
139'LS.W': 'Lake Shore Flood Warning',
140'LS.Y': 'Lake Shore Flood Advisory',
141'LW.Y': 'Lake Wind Advisory',
142'MA.S': 'Marine Weather Statement',
143'MA.W': 'Marine Weather Warning',
144'MF.Y': 'Dense Fog Advisory',
145'MH.Y': 'AshFall Advisory',
146'MS.Y': 'Dense Smoke Advisory',
147'RB.Y': 'Small Craft Advisory for Rough Bar',
148'RP.S': 'Rip Current Statement',
149'SB.Y': 'Snow and Blowing Snow Advisory',
150'SC.Y': 'Small Craft Advisory',
151'SE.A': 'Hazardous Seas Watch',
152'SE.W': 'Hazardous Seas Warning',
153'SI.Y': 'Small Craft Advisory for Winds',
154'SM.Y': 'Dense Smoke Advisory',
155'SN.A': 'Snow Advisory',
156'SR.A': 'Storm Watch',
157'SR.W': 'Storm Warning',
158'SS.A': 'Storm Surge Watch',
159'SS.W': 'Storm Surge Warning',
160'SU.W': 'High Surf Warning',
161'SU.Y': 'High Surf Advisory',
162'SV.A': 'Severe Thunderstorm Watch',
163'SV.W': 'Severe Thunderstorm Warning',
164'SW.Y': 'Small Craft Advisory for Hazardous Seas',
165'TI.A': 'Tropical Storm Wind Watch',
166'TI.W': 'Tropical Storm Wind Warning',
167'TO.A': 'Tornado Watch',
168'TO.W': 'Tornado Warning',
169'TR.A': 'Tropical Storm Watch',
170'TR.S': 'Tropical Storm Advisory',
171'TR.W': 'Tropical Storm Warning',
172'TS.A': 'Tsunami Watch',
173'TS.W': 'Tsunami Warning',
174'TS.Y': 'Tsunami Advisory',
175'TY.A': 'Typhoon Watch',
176'TY.S': 'Typhoon Statement',
177'TY.W': 'Typhoon Warning',
178'UP.A': 'Heavy Freezing Spray Watch',
179'UP.W': 'Heavy Freezing Spray Warning',
180'UP.Y': 'Heavy Freezing Spray Advisory',
181'WC.A': 'Wind Chill Watch',
182'WC.W': 'Wind Chill Warning',
183'WC.Y': 'Wind Chill Advisory',
184'WI.Y': 'Wind Advisory',
185'WS.A': 'Winter Storm Watch',
186'WS.W': 'Winter Storm Warning',
187'WW.Y': 'Winter Weather Advisory',
188'ZF.Y': 'Freezing Fog Advisory',
189'ZR.Y': 'Freezing Rain Advisory',
190}
191
192# ----------------------------------------------------------------------------------------
193# Source: https://vlab.noaa.gov/web/mdl/additional-grib-tables#explanation-of-tropical-cyclone-categorical-threat-values
194# ----------------------------------------------------------------------------------------
195table_ndfd_tc_wind_threat = {
1960: 'Wind less than 39 mph',
1974: 'Potential for wind 39 to 57 mph',
1986: 'Potential for wind 58 to 73 mph',
1998: 'Potential for wind 74 to 110 mph',
20010: 'Potential for winds greater than 110 mph',
201}
202
203table_ndfd_tc_stormsurge_threat = {
2040: 'Little to no storm surge flooding',
2054: 'Potential for storm surge flooding greater than 1 ft above ground',
2066: 'Potential for storm surge flooding greater than 3 ft above ground',
2078: 'Potential for storm surge flooding greater than 6 ft above ground',
20810: 'Potential for storm surge flooding greater than 9 ft above ground',
209}
210
211table_ndfd_tc_rain_threat = {
2120: 'Little to no potential for flooding rain',
2134: 'Potential for localized flooding rain',
2146: 'Potential for moderate flooding rain',
2158: 'Potential for major flooding rain',
2168: 'Potential for major flooding rain',
217}
218
219table_ndfd_tc_tornado_threat = {
2200: 'Tornadoes not expected',
2214: 'Potential for a few tornadoes',
2226: 'Potential for several tornadoes',
2238: 'Potential for many tornadoes',
22410: 'Potential for an outbreak of tornadoes',
225}
226
227# ----------------------------------------------------------------------------------------
228# Source: https://vlab.noaa.gov/web/mdl/additional-grib-tables#explanation-of-heat-risk-values
229# ----------------------------------------------------------------------------------------
230tabel_ndfd_heat_risk = {
2310: {'color': 'green',
232    'risk': 'No risk',
233    'definition': 'Little to no risk from expected heat.'},
2341: {'color': 'yellow',
235    'risk': 'Minor',
236    'definition': 'This level of heat affects primarily those individuals extremely sensitive to heat, especially when outdoors without effective cooling and/or adequate hydration.'},
2372: {'color': 'orange',
238    'risk': 'Moderate',
239    'definition': 'This level of heat affects most individuals sensitive to heat, especially those without effective cooling and/or adequate hydration. Impacts possible in some health systems and in heat-sensitive industries.'},
2403: {'color': 'red',
241    'risk': 'Major',
242    'definition': 'This level of heat affects anyone without effective cooling and/or adequate hydration. Impacts likely in some health systems, heat-sensitive industries and infrastructure.'},
2434: {'color': 'magenta',
244    'risk': 'Extreme',
245    'definition': 'This level of rare and/or long-duration extreme heat with little to no overnight relief affects anyone without effective cooling and/or adequate hydration. Impacts likely in most health systems, heat-sensitive industries and infrastructure.'},
246}
table_ndfd_wx = {'<NoWx>': 'No Weather', 'A': 'Hail', 'BD': 'Blowing Dust', 'BN': 'Blowing Sand', 'BS': 'Blowing Snow', 'F': 'Fog', 'FR': 'Frost', 'H': 'Haze', 'IC': 'Ice Crystals', 'IF': 'Ice Fog', 'IP': 'Ice Pellets (sleet)', 'K': 'Smoke', 'L': 'Drizzle', 'R': 'Rain', 'RW': 'Rain Showers', 'S': 'Snow', 'SW': 'Snow Showers', 'T': 'Thunder', 'VA': 'Volcanic Ash', 'WP': 'Water Spouts', 'ZF': 'Freezing Fog', 'ZL': 'Freezing Drizzle', 'ZR': 'Freezing Rain', 'ZY': 'Freezing Spray'}
table_ndfd_wx_covprb = {'<NoCov>': 'No Coverage/probability', 'Areas': 'Areas of', 'Brf': 'Brief', 'Chc': 'Chance', 'Def': 'Definite', 'Frq': 'Frequent', 'Inter': 'Intermittent', 'Iso': 'Isolated', 'Lkly': 'Likely', 'Num': 'Numerous', 'Ocnl': 'Occasional', 'Patchy': 'Patchy', 'Pds': 'Periods of', 'SChc': 'Slight Chance', 'Sct': 'Scattered', 'Wide': 'Widespread'}
table_ndfd_wx_intensity = {'<NoInten>': 'No Intensity', '--': 'Very Light', '-': 'Light', 'm': 'Moderate', '+': 'Heavy'}
table_ndfd_wx_attribute = {'DmgW': 'Damaging Winds', 'Dry': 'Dry', 'FL': 'Frequent Lightning', 'GW': 'Gusty Winds', 'HvyRn': 'Heavy Rain', 'LgA': 'Large Hail', 'Mention': 'Include Unconditionally', 'Mx': 'Mixture', 'OBO': 'on Bridges and Overpasses', 'OGA': 'on Grassy Areas', 'OLA': 'on Outlying Areas', 'OR': 'Or', 'Primary': 'Highest Ranking', 'SmA': 'Small Hail', 'TOR': 'Tornado'}
table_ndfd_hazards = {'<None>': 'No Hazard', 'AF.W': 'Ash Fall Warning', 'AF.Y': 'Ash Fall Advisory', 'AS.Y': 'Air Stagnation Advisory', 'BH.S': 'Beach Hazard Statement', 'BS.Y': 'Blowing Snow Advisory', 'BW.Y': 'Brisk Wind Advisory', 'BZ.A': 'Blizzard Watch', 'BZ.W': 'Blizzard Warning', 'CF.A': 'Coastal Flood Watch', 'CF.S': 'Coastal Flood Statement', 'CF.W': 'Coastal Flood Warning', 'CF.Y': 'Coastal Flood Advisory', 'DS.W': 'Dust Storm Warning', 'DU.Y': 'Blowing Dust Advisory', 'EC.A': 'Extreme Cold Watch', 'EC.W': 'Extreme Cold Warning', 'EH.A': 'Excessive Heat Watch', 'EH.W': 'Excessive Heat Warning', 'EW.W': 'Extreme Wind Warning', 'FA.A': 'Areal Flood Watch', 'FA.W': 'Areal Flood Warning', 'FA.Y': 'Areal Flood Advisory', 'FF.A': 'Flash Flood Watch', 'FF.W': 'Flash Flood Warning', 'FG.Y': 'Dense Fog Advisory', 'FL.A': 'Flood Watch', 'FL.W': 'Flood Warning', 'FL.Y': 'Flood Advisory', 'FR.Y': 'Frost Advisory', 'FW.A': 'Fire Weather Watch', 'FW.W': 'Fire Weather Warning', 'FZ.A': 'Freeze Watch', 'FZ.W': 'Freeze Warning', 'GL.A': 'Gale Watch', 'GL.W': 'Gale Warning', 'HF.A': 'Hurricane Force Wind Watch', 'HF.W': 'Hurricane Force Wind Warning', 'HI.A': 'Hurricane Wind Watch', 'HI.W': 'Hurricane Wind Warning', 'HS.W': 'Heavy Snow Warning', 'HT.Y': 'Heat Advisory', 'HU.A': 'Hurricane Watch', 'HU.S': 'Hurricane Statement', 'HU.W': 'Hurricane Warning', 'HW.A': 'High Wind Watch', 'HW.W': 'High Wind Warning', 'HZ.A': 'Hard Freeze Watch', 'HZ.W': 'Hard Freeze Warning', 'IP.W': 'Sleet Warning', 'IP.Y': 'Sleet Advisory', 'IS.W': 'Ice Storm Warning', 'LB.Y': 'Lake Effect Snow and Blowing Snow Advis.', 'LE.A': 'Lake Effect Snow Watch', 'LE.W': 'Lake Effect Snow Warning', 'LE.Y': 'Lake Effect Snow Advisory', 'LO.Y': 'Low Water Advisory', 'LS.A': 'Lake Shore Flood Watch', 'LS.S': 'Lake Shore Flood Statement', 'LS.W': 'Lake Shore Flood Warning', 'LS.Y': 'Lake Shore Flood Advisory', 'LW.Y': 'Lake Wind Advisory', 'MA.S': 'Marine Weather Statement', 'MA.W': 'Marine Weather Warning', 'MF.Y': 'Dense Fog Advisory', 'MH.Y': 'AshFall Advisory', 'MS.Y': 'Dense Smoke Advisory', 'RB.Y': 'Small Craft Advisory for Rough Bar', 'RP.S': 'Rip Current Statement', 'SB.Y': 'Snow and Blowing Snow Advisory', 'SC.Y': 'Small Craft Advisory', 'SE.A': 'Hazardous Seas Watch', 'SE.W': 'Hazardous Seas Warning', 'SI.Y': 'Small Craft Advisory for Winds', 'SM.Y': 'Dense Smoke Advisory', 'SN.A': 'Snow Advisory', 'SR.A': 'Storm Watch', 'SR.W': 'Storm Warning', 'SS.A': 'Storm Surge Watch', 'SS.W': 'Storm Surge Warning', 'SU.W': 'High Surf Warning', 'SU.Y': 'High Surf Advisory', 'SV.A': 'Severe Thunderstorm Watch', 'SV.W': 'Severe Thunderstorm Warning', 'SW.Y': 'Small Craft Advisory for Hazardous Seas', 'TI.A': 'Tropical Storm Wind Watch', 'TI.W': 'Tropical Storm Wind Warning', 'TO.A': 'Tornado Watch', 'TO.W': 'Tornado Warning', 'TR.A': 'Tropical Storm Watch', 'TR.S': 'Tropical Storm Advisory', 'TR.W': 'Tropical Storm Warning', 'TS.A': 'Tsunami Watch', 'TS.W': 'Tsunami Warning', 'TS.Y': 'Tsunami Advisory', 'TY.A': 'Typhoon Watch', 'TY.S': 'Typhoon Statement', 'TY.W': 'Typhoon Warning', 'UP.A': 'Heavy Freezing Spray Watch', 'UP.W': 'Heavy Freezing Spray Warning', 'UP.Y': 'Heavy Freezing Spray Advisory', 'WC.A': 'Wind Chill Watch', 'WC.W': 'Wind Chill Warning', 'WC.Y': 'Wind Chill Advisory', 'WI.Y': 'Wind Advisory', 'WS.A': 'Winter Storm Watch', 'WS.W': 'Winter Storm Warning', 'WW.Y': 'Winter Weather Advisory', 'ZF.Y': 'Freezing Fog Advisory', 'ZR.Y': 'Freezing Rain Advisory'}
table_ndfd_tc_wind_threat = {0: 'Wind less than 39 mph', 4: 'Potential for wind 39 to 57 mph', 6: 'Potential for wind 58 to 73 mph', 8: 'Potential for wind 74 to 110 mph', 10: 'Potential for winds greater than 110 mph'}
table_ndfd_tc_stormsurge_threat = {0: 'Little to no storm surge flooding', 4: 'Potential for storm surge flooding greater than 1 ft above ground', 6: 'Potential for storm surge flooding greater than 3 ft above ground', 8: 'Potential for storm surge flooding greater than 6 ft above ground', 10: 'Potential for storm surge flooding greater than 9 ft above ground'}
table_ndfd_tc_rain_threat = {0: 'Little to no potential for flooding rain', 4: 'Potential for localized flooding rain', 6: 'Potential for moderate flooding rain', 8: 'Potential for major flooding rain'}
table_ndfd_tc_tornado_threat = {0: 'Tornadoes not expected', 4: 'Potential for a few tornadoes', 6: 'Potential for several tornadoes', 8: 'Potential for many tornadoes', 10: 'Potential for an outbreak of tornadoes'}
tabel_ndfd_heat_risk = {0: {'color': 'green', 'risk': 'No risk', 'definition': 'Little to no risk from expected heat.'}, 1: {'color': 'yellow', 'risk': 'Minor', 'definition': 'This level of heat affects primarily those individuals extremely sensitive to heat, especially when outdoors without effective cooling and/or adequate hydration.'}, 2: {'color': 'orange', 'risk': 'Moderate', 'definition': 'This level of heat affects most individuals sensitive to heat, especially those without effective cooling and/or adequate hydration. Impacts possible in some health systems and in heat-sensitive industries.'}, 3: {'color': 'red', 'risk': 'Major', 'definition': 'This level of heat affects anyone without effective cooling and/or adequate hydration. Impacts likely in some health systems, heat-sensitive industries and infrastructure.'}, 4: {'color': 'magenta', 'risk': 'Extreme', 'definition': 'This level of rare and/or long-duration extreme heat with little to no overnight relief affects anyone without effective cooling and/or adequate hydration. Impacts likely in most health systems, heat-sensitive industries and infrastructure.'}}