diff --git a/geomagio/imfv283/GOESIMFV283Factory.py b/geomagio/imfv283/GOESIMFV283Factory.py
index 2061693a9b87ea4b0d7ae096b862a73c5d00c829..4a82c8135efc602c4086d88cd3a3856f98e3a1a4 100644
--- a/geomagio/imfv283/GOESIMFV283Factory.py
+++ b/geomagio/imfv283/GOESIMFV283Factory.py
@@ -3,6 +3,7 @@ from __future__ import absolute_import, print_function
 
 from .IMFV283Factory import IMFV283Factory
 import subprocess
+import sys
 from obspy.core import Stream
 import os
 
@@ -180,7 +181,11 @@ class GOESIMFV283Factory(IMFV283Factory):
         buf.append('RETRANSMITTED: N\n')
         buf.append('ASCENDING_TIME: false\n')
         buf.append('RT_SETTLE_DELAY: true\n')
-        if os.path.exists(criteria_file) is not True: return
+        
+        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()
\ No newline at end of file
+            fh.close()