From d51c61dd5eee114d04ece5846c548119630cab56 Mon Sep 17 00:00:00 2001
From: XANTRONIX Industrial <xan@xantronix.com>
Date: Sat, 1 Mar 2025 14:17:00 -0500
Subject: [PATCH] Add convenience generators to loop over soundings

---
 lib/xmet/rawins.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/lib/xmet/rawins.py b/lib/xmet/rawins.py
index 683e2ab..bedb524 100644
--- a/lib/xmet/rawins.py
+++ b/lib/xmet/rawins.py
@@ -216,6 +216,16 @@ class RawinsChunk():
         if obs is not None:
             yield obs
 
+    def each_sounding(self):
+        for obs in self.each_obs():
+            if obs.kind == 'TTAA':
+                sounding = obs.parse_ttaa()
+
+                if sounding is None or len(sounding.samples) == 0:
+                    continue
+
+                yield sounding
+
 class RawinsReader():
     """
     A reader for the global `Current.rawins` file provided by UCAR:
@@ -297,3 +307,7 @@ class RawinsReader():
     def each_obs(self):
         for chunk in self.each_chunk():
             yield from chunk.each_obs()
+
+    def each_sounding(self):
+        for chunk in self.each_chunk():
+            yield from chunk.each_sounding()