Remove thermodynamic calculations from sounding.py (for now)

This commit is contained in:
XANTRONIX 2025-02-27 09:29:33 -05:00
parent 04e10a17ee
commit aac34375d7

View file

@ -41,43 +41,9 @@ class SoundingSample(DatabaseTable):
super().__init__()
self.id = None
def vapor_pressure(self) -> float:
return 6.11 * 10 * (
(7.5 * self.dewpoint) / (237.3 * self.dewpoint)
)
def saturated_vapor_pressure(self) -> float:
return 6.11 * 10 * (
(7.5 * self.temp) / (237.3 * self.temp)
)
def mixing_ratio(self) -> float:
e = self.vapor_pressure()
return 621.97 * (e / (self.pressure - e))
def saturated_mixing_ratio(self, pressure=None) -> float:
if pressure is None:
pressure = self.pressure
es = self.saturated_vapor_pressure()
return 621.97 * (es / (pressure - es))
def lcl(self) -> float: # meters
return (self.temp - self.dewpoint) / 0.008
def is_saturated(self) -> bool:
return self.humidity >= 100.0
def lapse(self, h: float, rate=None) -> float:
if rate is None:
rate = LAPSE_RATE_MOIST if self.is_saturated() else LAPSE_RATE_DRY
hd = h - self.height
return self.temp - (rate * (hd / 1000))
class Sounding(DatabaseTable):
__slots__ = (
'id', 'station', 'timestamp_observed', 'timestamp_released',