+ if len(hn24_values) > 0:
+ # instead of taking MAX - MIN, we want the first value (most
+ # distant) - the last value (most recent)
+ #
+ # if the result is positive, then we have settlement; if it's not,
+ # then we have HN24
+ hn24 = hn24_values[0] - hn24_values[len(hn24_values)-1]
+
+ if hn24 < 0.0:
+ hn24 = abs(hn24)
+ else:
+ # this case represents HS settlement
+ hn24 = 0.0
+
+
+ # finally, if user wants hn24 and it's set to None at this
+ # point, then force it to 0.0
+ if station['hn24'] and hn24 is None:
+ hn24 = 0.0
+
+ if len(wind_speed_values) > 0:
+ wind_speed_avg = sum(wind_speed_values) / len(wind_speed_values)
+
+ if len(wind_gust_speed_values) > 0:
+ wind_gust_speed_avg = sum(wind_gust_speed_values) / len(wind_gust_speed_values)
+
+ if len(wind_direction_values) > 0:
+ wind_direction_avg = sum(wind_direction_values) / len(wind_direction_values)
+
+ if hn24 is not None:
+ remote_data['hn24'] = hn24
+
+ # overwrite the following with the respective averages, if
+ # applicable
+ if wind_speed_avg is not None:
+ remote_data['wind_speed'] = wind_speed_avg
+
+ if wind_gust_speed_avg is not None:
+ remote_data['wind_gust'] = wind_gust_speed_avg
+
+ if wind_direction_avg is not None:
+ remote_data['wind_direction'] = wind_direction_avg
+