In the past, I could usually expect 3-4 bad data points out of 1,000 queries…
This was somewhat acceptable… but 12 a day ain’t gonna cut it!
(should we blame IBM?)
The work around I have done in the past is basically:
Define variable wuThreshold = 10
Set variable wuDataOld = wuData
Set variable wuDataOldMin = wuDataOld - wuThreshold
Set variable wuDataOldMax = wuDataOld + wuThreshold
Set variable wuData = $weather.hourly.blahblahblah
If wuData is between wuDataOldMin and wuDataOldMax then do good stuff
Else, set variable wuData = wuDataOld
This method basically allows for the occasional bad data to come in, and webCoRE will just re-use the previous data. (it works well if Weather Underground is only down for an hour or so)
The threshold at the top has to be tweaked to fit your location & query. I usually monitor the data point for a week to see what is the fastest the number has dropped (or risen) in a given time period, then add 20-30% to calibrate that number.