Fix height/pressure calculation

This commit is contained in:
XANTRONIX 2025-03-01 17:55:50 -05:00
parent 98a900f249
commit 9dcebc58b8

View file

@ -38,13 +38,6 @@ class RawinsObs():
def read(self, value: str):
self.values.append(value)
TTAA_HEIGHTS = {
'00': 1000, '92': 925, '85': 850,
'70': 700, '50': 500, '40': 400,
'30': 300, '25': 250, '20': 200,
'15': 150, '10': 100,
}
def parse_timestamp(self, value: str):
if value[0:2] == '//':
return None
@ -124,16 +117,36 @@ class RawinsObs():
'speed': wind_speed
}
TTAA_HEIGHTS = {
'00': 1000, '92': 925, '85': 850,
'70': 700, '50': 500, '40': 400,
'30': 300, '25': 250, '20': 200,
'15': 150, '10': 100,
}
def calc_1000mb_height(self, num: float):
if num >= 500:
return 0 - (num - 500)
return num
def parse_height_pressure(self, value: str):
token = value[0:2]
num = value[2:5]
if value[2:5] == '///':
if num == '///':
return None
if token == '00':
return {
'height': self.calc_1000mb_height(float(num)),
'pressure': 1000
}
if token in self.TTAA_HEIGHTS:
return {
'height': self.TTAA_HEIGHTS[token],
'pressure': float(value[2:5])
'height': float(num),
'pressure': self.TTAA_HEIGHTS[token]
}
PRESSURE_SIG = {