diff --git a/lib/xmet/rawins.py b/lib/xmet/rawins.py
index cd4c551..552f59c 100644
--- a/lib/xmet/rawins.py
+++ b/lib/xmet/rawins.py
@@ -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 = {