From 0ce7cdd975370eb3c4f63d8bbe2d5a925a769d5b Mon Sep 17 00:00:00 2001
From: arigdon-usgs <arigdon@usgs.gov>
Date: Wed, 25 Jul 2018 11:13:16 -0600
Subject: [PATCH] Merge stream issues with empty channels

---
 geomagio/TimeseriesUtility.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/geomagio/TimeseriesUtility.py b/geomagio/TimeseriesUtility.py
index da7086d9..69917909 100644
--- a/geomagio/TimeseriesUtility.py
+++ b/geomagio/TimeseriesUtility.py
@@ -195,9 +195,26 @@ def merge_streams(*streams):
         stream with contiguous traces merged, and gaps filled with numpy.nan
     """
     merged = obspy.core.Stream()
+<<<<<<< HEAD
     # add unmasked, split traces to be merged
     for stream in streams:
         merged += mask_stream(stream)
+=======
+    masked_trace = None
+
+    # add unmasked, split traces to be merged
+    for stream in streams:
+        merged += mask_stream(stream)
+
+    # if trace is completely masked separate out to be added back in later
+    for trace in merged:
+        if trace.data.mask.all():
+            if not masked_trace:
+                masked_trace = trace
+            else:
+                masked_trace += trace
+
+>>>>>>> Merge stream issues with empty channels
     # split traces that contain gaps
     merged = merged.split()
     # merge data
@@ -206,6 +223,19 @@ def merge_streams(*streams):
             interpolation_samples=1,
             # 1 = when there is overlap, use data from trace with last endtime
             method=1)
+<<<<<<< HEAD
+=======
+    # print('\n masked trace \n')
+    # print(masked_trace)
+    # trim masked trace to the same size as other traces and add back to merged stream
+    if masked_trace:
+        masked_trace.trim(merged[0].stats.starttime,merged[0].stats.endtime)
+        merged += masked_trace
+    # print('\n after merging masked trace back in \n')
+    # print(merged)
+
+
+>>>>>>> Merge stream issues with empty channels
     # convert back to NaN filled array
     merged = unmask_stream(merged)
     return merged
-- 
GitLab