# Massage precision of certain values to fit InfoEx's
# expectations
#
- # 0 decimal places: wind speed, wind direction, wind gust, snow depth
- # 1 decimal place: air temp, relative humidity, baro
+ # 0 decimal places: relative humidity, wind speed, wind
+ # direction, wind gust, snow depth
+ # 1 decimal place: air temp, baro
# Avoid transforming None values
if infoex['wx_data'][element_cd] is None:
continue
elif element_cd in ['wind_speed', 'WSPD', 'wind_direction',
- 'WDIR', 'wind_gust', 'SNWD', 'snow_depth']:
+ 'RHUM', 'relative_humidity', 'WDIR',
+ 'wind_gust', 'SNWD', 'snow_depth']:
infoex['wx_data'][element_cd] = round(infoex['wx_data'][element_cd])
- elif element_cd in ['TOBS', 'air_temp', 'RHUM',
- 'relative_humidity', 'PRES', 'pressure']:
+ elif element_cd in ['TOBS', 'air_temp', 'PRES', 'pressure']:
infoex['wx_data'][element_cd] = round(infoex['wx_data'][element_cd], 1)
# CONSIDER: Casting every value to Float() -- need to investigate if
try:
observations = json['STATION'][0]['OBSERVATIONS']
+ except KeyError:
+ LOG.error("Unexpected JSON in MesoWest response")
+ sys.exit(1)
except ValueError:
LOG.error("Bad JSON in MesoWest response")
sys.exit(1)