Simplify wind shear
This commit is contained in:
parent
b5b5d4efba
commit
1ada48e544
1 changed files with 17 additions and 12 deletions
|
@ -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):
|
||||
|
|
Loading…
Add table
Reference in a new issue