diff --git a/lib/xmet/sounding.py b/lib/xmet/sounding.py index 6fd8fe1..647db39 100644 --- a/lib/xmet/sounding.py +++ b/lib/xmet/sounding.py @@ -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):