diff --git a/geomagio/imfv283/GOESIMFV283Factory.py b/geomagio/imfv283/GOESIMFV283Factory.py
index 730a8e054cc2e50b9988e97f168c7a9e05e707a7..826ea0b1903fe6a5e98f8195f252225f9c7528b8 100644
--- a/geomagio/imfv283/GOESIMFV283Factory.py
+++ b/geomagio/imfv283/GOESIMFV283Factory.py
@@ -5,6 +5,7 @@ from .IMFV283Factory import IMFV283Factory
 import subprocess
 import sys
 from obspy.core import Stream
+import os
 
 
 class GOESIMFV283Factory(IMFV283Factory):
@@ -181,7 +182,9 @@ class GOESIMFV283Factory(IMFV283Factory):
         buf.append('RETRANSMITTED: N\n')
         buf.append('ASCENDING_TIME: false\n')
         buf.append('RT_SETTLE_DELAY: true\n')
-
+        criteria_dir = os.path.dirname(criteria_file)
+        if not os.path.exists(criteria_dir):
+            os.makedirs(criteria_dir)
         with open(criteria_file, 'wb') as fh:
             fh.write(''.join(buf))
             fh.close()