Simplify wind shear

This commit is contained in:
XANTRONIX 2025-03-19 11:35:41 -04:00
parent b5b5d4efba
commit 1ada48e544

View file

@ -13,8 +13,7 @@ from xmet.thermo import follow_dry_adiabat, \
pressure_height, \
virtual_temp, \
kelvin, \
wind_u, \
wind_v
wind_uv
from xmet.units import deg
@ -213,11 +212,17 @@ class Sounding(DatabaseTable):
s1 = self.samples[level]
s2 = self.samples[level+1]
u1 = wind_u(s1.wind_speed, s1.wind_dir)
u2 = wind_u(s2.wind_speed, s2.wind_dir)
u1, v1 = wind_uv(s1.wind_speed, s1.wind_dir)
u2, v2 = wind_uv(s2.wind_speed, s2.wind_dir)
v1 = wind_v(s1.wind_speed, s1.wind_dir)
v2 = wind_v(s2.wind_speed, s2.wind_dir)
return abs(u2 - u1), abs(v2 - v1)
def shear_magnitude(self, level: int):
s1 = self.samples[level]
s2 = self.samples[level+1]
u1, v1 = wind_uv(s1.wind_speed, s1.wind_dir)
u2, v2 = wind_uv(s2.wind_speed, s2.wind_dir)
zd = s2.height - s1.height
@ -232,18 +237,18 @@ class Sounding(DatabaseTable):
def bulk_shear(self):
levels = len(self.samples) - 1
shear_speed = 0.0
shear_dir = 0.0
shear_u = 0.0
shear_v = 0.0
for level in range(0, levels):
shear = self.shear(level)
shear_speed += shear[0]
shear_dir += shear[1]
shear_u += shear[0]
shear_v += shear[1]
return (
shear_speed / levels,
shear_dir / levels
shear_u / levels,
shear_v / levels
)
def between(n, a, b):