diff --git a/geomagio/Controller.py b/geomagio/Controller.py
index 019386fdbbfc59dfd55b38bfcd0a8e20a61c6960..0614474dbe841ac46b8eb6c9aeef75965626d84b 100644
--- a/geomagio/Controller.py
+++ b/geomagio/Controller.py
@@ -274,7 +274,8 @@ def main(args):
                 type=args.type,
                 interval=args.interval,
                 locationCode=locationcode,
-                tag=args.output_edge_tag)
+                tag=args.output_edge_tag,
+                forceout=args.forceout)
     else:
             print >> sys.stderr, "Missing required output directive"
 
@@ -382,8 +383,13 @@ def parse_args(args):
     parser.add_argument('--realtime',
             action='store_true',
             default=False,
-            help='Flag to run last hour if interval is minute, ' +
-                    'or last 10 minutes if interval is seconds')
+            help='Flag to run the last hour if interval is minute, ' +
+                    'or the last 10 minutes if interval is seconds')
+    parser.add_argument('--forceout',
+            action='store_true',
+            default=False,
+            help='Flag to force data into miniseed blocks. Should only ' +
+                    'be used when certain the data is self contained.')
 
     # Input group
     input_group = parser.add_mutually_exclusive_group(required=True)
diff --git a/geomagio/edge/EdgeFactory.py b/geomagio/edge/EdgeFactory.py
index 32ee18c9c9e0e489ce3eadf92d762ae8ed119148..d74e441d51c96a6de8f055c3f9d2d843d844b826 100644
--- a/geomagio/edge/EdgeFactory.py
+++ b/geomagio/edge/EdgeFactory.py
@@ -52,6 +52,9 @@ class EdgeFactory(TimeseriesFactory):
     tag: str
         A tag used by edge to log and associate a socket with a given data
         source
+    forceout: bool
+        Tells edge to forceout a packet to miniseed.  Generally used when
+        the user knows no more data is coming.
 
     See Also
     --------
@@ -68,7 +71,7 @@ class EdgeFactory(TimeseriesFactory):
     def __init__(self, host=None, port=None, write_port=None,
             observatory=None, channels=None, type=None, interval=None,
             observatoryMetadata=None, locationCode=None,
-            cwbhost=None, cwbport=0, tag='GeomagAlg'):
+            cwbhost=None, cwbport=0, tag='GeomagAlg', forceout=False):
         TimeseriesFactory.__init__(self, observatory, channels, type, interval)
         self.client = earthworm.Client(host, port)
 
@@ -81,6 +84,7 @@ class EdgeFactory(TimeseriesFactory):
         self.write_port = write_port
         self.cwbhost = cwbhost or ''
         self.cwbport = cwbport
+        self.forceout = forceout
 
     def get_timeseries(self, starttime, endtime, observatory=None,
             channels=None, type=None, interval=None):
@@ -618,7 +622,8 @@ class EdgeFactory(TimeseriesFactory):
                     trace_send.data)
             trace_send = self._convert_trace_to_int(trace_send)
             ric.send_trace(interval, trace_send)
-        ric.forceout()
+        if self.forceout:
+            ric.forceout()
         ric.close()
 
     def _set_metadata(self, stream, observatory, channel, type, interval):