 (defn process-results
   ([results start errs]
    (process-results results start errs {:warnings nil}))
-  ([{:keys [params data-files tag-data vars format]} start errs warns]
+  ([{:keys [params data-files tag-data vars format granule-metadata]}
+    start errs warns]
    (log/trace "Got data-files:" (vec data-files))
    (log/trace "Process-results tag-data:" tag-data)
    (if errs
      (do
        (log/error errs)
        errs)
-     (let [estimate-or-errs (-estimate-size format (count data-files) vars)]
+     (let [sample-granule-metadata-size (count (.getBytes granule-metadata))
+           estimate-or-errs (-estimate-size
+                             format
+                             (count data-files)
+                             vars
+                             sample-granule-metadata-size)]
        ;; Error handling for post-stages processing
        (if (errors/erred? estimate-or-errs)
          (do

    [cmr.exchange.common.results.warnings :as warnings]
    [cmr.exchange.common.util :as util]
    [cmr.exchange.query.core :as query]
    [cmr.metadata.proxy.concepts.granule :as granule]
    [cmr.metadata.proxy.concepts.variable :as variable]
    [cmr.metadata.proxy.results.errors :as metadata-errors]

      {:params params
       :data-files data-files
       :vars vars
       :format fmt
       :granule-metadata granule-metadata}
      start
      errs
      warns)))
