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