From e433009ef3df8f3b27bdaf0bb3ff7c79909c89ba Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 3 Apr 2023 23:27:10 +0200 Subject: Calculate wind speed and add it to predictions --- waterspout_radar/_radar.py | 5 ++++- waterspout_radar/web.py | 10 ++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/waterspout_radar/_radar.py b/waterspout_radar/_radar.py index c8cca1f..380c70b 100644 --- a/waterspout_radar/_radar.py +++ b/waterspout_radar/_radar.py @@ -2,6 +2,7 @@ import dataclasses import datetime import typing +import numpy as np import pint import szilagyi from geopy import geocoders @@ -75,7 +76,9 @@ def calculate(config) -> typing.List[Prediction]: swi = szilagyi.calculate_swi(dt, ccd) except ValueError: swi = -10 - wind = 0.0 * units.kts + wind = [cast.at("wind_u", _L.H850), cast.at("wind_v", _L.H850)] + wind = np.array([x.m_as("kts") for x in wind]) + wind = np.linalg.norm(wind) * units.kts yield Prediction(cast.timestamp, latitude, longitude, dt, ccd, wind, clouds, swi) predictions = [] diff --git a/waterspout_radar/web.py b/waterspout_radar/web.py index 67ac4ca..63fa3fa 100644 --- a/waterspout_radar/web.py +++ b/waterspout_radar/web.py @@ -10,8 +10,14 @@ def predictions(): body = "Predictions" body += "

Prediction


" body += "" - body += "" + body += "" for prediction in sorted(_storage.Storage(".waterspout/predictions.json"), key=lambda x: (x.time, x.swi)): - body += f"" + body += "" + body += f"" body += "
TimeΔTempDepthSWI
TimeΔTempDepthWindSWI
{prediction.time}{prediction.temperature_difference}{prediction.convective_cloud_depth}{prediction.swi}
{prediction.time}" + body += f"{prediction.temperature_difference}" + body += f"{prediction.convective_cloud_depth}" + body += f"{prediction.wind}" + body += f"{prediction.swi}" + body += "
" return body -- cgit v1.1