diff --git a/lib/xmet/rawins.py b/lib/xmet/rawins.py
index 552f59c..9f675d6 100644
--- a/lib/xmet/rawins.py
+++ b/lib/xmet/rawins.py
@@ -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):