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.'}}