I found a PHP array you posted here that contained the NWS icon filenames, and trimmed that down to what I need (which are just short text descriptions for each). The problem I see with the approach I'm taking is indicating the likelihood. For example:
"icon": "https:\/\/api.weather.gov\/icons\/land\/day\/snow\/rain_showers?size=medium",
"shortForecast": "Slight Chance Snow Showers then Slight Chance Rain Showers",
Going by just the icon it would be "Snow / Rain Showers". That doesn't indicate the "slight chance" part. I think ideally it would be "Chance Snow / Rain Showers".
Another example:
"icon": "https:\/\/api.weather.gov\/icons\/land\/night\/snow?size=medium",
"shortForecast": "Slight Chance Rain And Snow Showers",
By the icon it would simply be "Snow". However the forecast says "Slight chance". If a forecast was to say "Snow" I think it sounds pretty certain it would snow. That "Slight Chance" is not encoded anywhere in that icon, so it seems I'm going to have to parse the forecast text itself for more information.
The terms "Slight Chance", "Chance", "Likely" are related to the PoP in the forecast (I think).
From the NWS FAQ:
https://w1.weather.gov/glossary/index.phpSlight Chance
In probability of precipitation statements, usually equivalent to a 20 percent chance.
Chance
A National Weather Service precipitation descriptor for 30, 40, or 50 percent chance of measurable precipitation (0.01 inch). When the precipitation is convective in nature, the term scattered is used. See Precipitation Probability (PoP).
Likely
(abbrev. LKLY) In probability of precipitation statements, the equivalent of a 60 or 70 percent chance.
So using the icon+PoP, you can add the appropriate words about the precipitation as you like.