Replace RAOBSample with SoundingSample

This commit is contained in:
XANTRONIX 2025-03-02 11:35:28 -05:00
parent e2f27b1470
commit 60bfe3fa09

View file

@ -13,27 +13,11 @@ CHUNK_STRIP_CHARS = "\x01\x03\x0a\x20"
class RAOBReaderException(Exception):
...
class RAOBSample():
__slots__ = (
'surface', 'height', 'pressure', 'temp', 'dewpoint',
'wind_dir', 'wind_speed'
)
def __init__(self):
self.surface: bool = False
self.height: float = None
self.pressure: float = None
self.temp: float = None
self.dewpoint: float = None
self.wind_dir: float = None
self.wind_speed: float = None
class RAOBSounding():
def __init__(self):
self.timestamp: datetime.datetime = None
self.station: int = None
self.cur: RAOBSample = None
self.samples: list[RAOBSample] = list()
self.samples: list[SoundingSample] = list()
class RAOBObs():
def __init__(self, kind: str):
@ -202,11 +186,11 @@ class RAOBObs():
'pressure': float(pressure)
}
def parse_sample_tokens(self, tokens: list[str]) -> RAOBSample:
sample = RAOBSample()
def parse_sample_tokens(self, tokens: list[str]) -> SoundingSample:
sample = SoundingSample()
if tokens[0][0:2] == '99':
sample.surface = True
sample.elapsed = 0
hp = self.parse_surface_pressure(tokens[0])
else:
hp = self.parse_height_pressure(tokens[0])
@ -224,6 +208,10 @@ class RAOBObs():
sample.wind_dir = wind['dir'] if wind is not None else None
sample.wind_speed = wind['speed'] if wind is not None else None
sample.pressure_qa = ' '
sample.height_qa = ' '
sample.temp_qa = ' '
return sample
def parse_ttaa(self) -> RAOBSounding:
@ -311,7 +299,6 @@ class RAOBReader():
def __init__(self, fh: io.TextIOBase):
self.fh = fh
self.soundings = dict()
self.current = Sounding()
def parse_chunk(self, text: str) -> RAOBChunk:
meta = {