diff --git a/modules/util/infer_cloud_fraction.py b/modules/util/infer_cloud_fraction.py
index a74944726bf122ec2dc12c0fc37712da9e395be6..b55a50e0fa170e6f43d94a4530169cae1ebb654c 100644
--- a/modules/util/infer_cloud_fraction.py
+++ b/modules/util/infer_cloud_fraction.py
@@ -1,7 +1,10 @@
+from util.geos_nav import get_navigation
 from util.setup_cloud_fraction import model_path
 from aeolus.datasource import CLAVRx
 import os
 from deeplearning.cloud_fraction_fcn_abi import SRCNN, run_evaluate_static, run_evaluate_static_full_disk
+from util.util import get_cartopy_crs, write_cld_frac_file_nc4
+import numpy as np
 
 
 def infer_cloud_fraction(clvrx_path, output_dir, full_disk=True):
@@ -19,10 +22,20 @@ def infer_cloud_fraction(clvrx_path, output_dir, full_disk=True):
             run_evaluate_static(fname, out_file, ckpt_dir)
 
 
-def infer_cloud_fraction_new(clvrx_path, output_dir, full_disk=True):
+def infer_cloud_fraction_new(clvrx_path, output_dir, full_disk=True, satellite='GOES16', domain='FD'):
+    # location of the trained model
     ckpt_dir_s = os.listdir(model_path)
     ckpt_dir = model_path + ckpt_dir_s[0]
 
+    # Navigation parameters
+    geos, xlen, xmin, xmax, ylen, ymin, ymax = get_cartopy_crs(satellite, domain)
+    nav = get_navigation(satellite, domain)
+    cc = np.arange(xlen)
+    ll = np.arange(ylen)
+    x_rad = cc * nav.CFAC + nav.COFF
+    y_rad = ll * nav.LFAC + nav.LOFF
+
+    # Create a model instance and initialize with trained model above
     nn = SRCNN()
     nn.setup_inference(ckpt_dir)
 
@@ -30,8 +43,11 @@ def infer_cloud_fraction_new(clvrx_path, output_dir, full_disk=True):
     for fname, t_start, t_stop in clvrx_ds:
         dto = clvrx_ds.get_datetime(fname)
         clvrx_str_time = dto.strftime('%Y-%m-%d_%H:%M')
-        out_file = output_dir + 'cloud_fraction_' + clvrx_str_time
+        out_file = output_dir + 'cloud_fraction_' + clvrx_str_time + '.nc'
         if full_disk:
-            nn.run_inference_full_disk(fname, out_file)
+            cld_frac = nn.run_inference_full_disk(fname, None)
         else:
-            nn.run_inference(fname, out_file)
\ No newline at end of file
+            cld_frac = nn.run_inference(fname, None)
+
+        write_cld_frac_file_nc4(clvrx_str_time, out_file, cld_frac, x_rad, y_rad, None, None, satellite=satellite,
+                                domain=domain, has_time=True)