Do a better job of calculating surface pressure
This commit is contained in:
parent
9dcebc58b8
commit
fbb3cdf4d5
1 changed files with 17 additions and 16 deletions
|
@ -53,13 +53,6 @@ class RawinsObs():
|
|||
day = day if day < 51 else day - 50
|
||||
)
|
||||
|
||||
def parse_surface_pressure(self, value: str):
|
||||
if value[0:2] == '99':
|
||||
return {
|
||||
'height': None,
|
||||
'pressure': float(value[2:5])
|
||||
}
|
||||
|
||||
def parse_temp_dewpoint(self, value: str):
|
||||
if value[2] == '/':
|
||||
return {
|
||||
|
@ -161,8 +154,18 @@ class RawinsObs():
|
|||
'pressure': float(value[2:5])
|
||||
}
|
||||
|
||||
def parse_sample_values(self, values: list[str], first: bool=False) -> RawinsSample:
|
||||
if first:
|
||||
def parse_surface_pressure(self, value: str):
|
||||
if value[0:2] == '99':
|
||||
return {
|
||||
'height': None,
|
||||
'pressure': float(value[2:5])
|
||||
}
|
||||
|
||||
def parse_sample_values(self, values: list[str]) -> RawinsSample:
|
||||
sample = RawinsSample()
|
||||
|
||||
if values[0][0:2] == '99':
|
||||
sample.surface = True
|
||||
hp = self.parse_surface_pressure(values[0])
|
||||
else:
|
||||
hp = self.parse_height_pressure(values[0])
|
||||
|
@ -173,7 +176,6 @@ class RawinsObs():
|
|||
td = self.parse_temp_dewpoint(values[1])
|
||||
wind = self.parse_wind(values[2])
|
||||
|
||||
sample = RawinsSample()
|
||||
sample.height = hp['height']
|
||||
sample.pressure = hp['pressure']
|
||||
sample.temp = td['temp'] if td is not None else None
|
||||
|
@ -183,7 +185,7 @@ class RawinsObs():
|
|||
|
||||
return sample
|
||||
|
||||
def parse_ttaa(self):
|
||||
def parse_ttaa(self) -> RawinsSounding:
|
||||
#
|
||||
# Return None if there is no height data up to 100mb.
|
||||
#
|
||||
|
@ -196,15 +198,14 @@ class RawinsObs():
|
|||
if self.values[1][0:3] == 'NIL':
|
||||
return None
|
||||
|
||||
sounding = RawinsSounding()
|
||||
sounding.timestamp = self.parse_timestamp(self.values[0])
|
||||
sounding.station = int(self.values[1])
|
||||
|
||||
sample = self.parse_sample_values(self.values[2:5], True)
|
||||
sample = self.parse_sample_values(self.values[2:5])
|
||||
|
||||
if sample is None:
|
||||
return
|
||||
|
||||
sounding = RawinsSounding()
|
||||
sounding.timestamp = self.parse_timestamp(self.values[0])
|
||||
sounding.station = int(self.values[1])
|
||||
sounding.samples.append(sample)
|
||||
|
||||
for i in range(5, len(self.values), 3):
|
||||
|
|
Loading…
Add table
Reference in a new issue