diff --git a/modules/util/util.py b/modules/util/util.py
index 86d7f2c33448ded0f0aff3a1b45ef435067e4fae..4ce4560e89795cc5344188fb661319db1dab3da0 100644
--- a/modules/util/util.py
+++ b/modules/util/util.py
@@ -562,13 +562,22 @@ def make_for_full_domain_predict(h5f, name_list=None, satellite='GOES16', domain
 # -------------------------------------------------------------------------------------------
 
 
-def write_icing_file(clvrx_str_time, preds, x, y, lons, lats):
+def write_icing_file(clvrx_str_time, preds_dct, probs_dct, x, y, lons, lats):
     outfile_name = homedir + 'icing_prediction_'+clvrx_str_time+'.h5'
     h5f_out = h5py.File(outfile_name, 'w')
 
-    icing_pred_ds = h5f_out.create_dataset('icing_prediction', data=preds, dtype='i2')
-    icing_pred_ds.attrs.create('coordinates', data='y x')
-    icing_pred_ds.attrs.create('grid_mapping', data='Projection')
+    flt_lvls = list(preds_dct.keys())
+    for flvl in flt_lvls:
+        preds = preds_dct[flvl]
+        icing_pred_ds = h5f_out.create_dataset('icing_prediction_level_'+flvl, data=preds, dtype='i2')
+        icing_pred_ds.attrs.create('coordinates', data='y x')
+        icing_pred_ds.attrs.create('grid_mapping', data='Projection')
+
+    for flvl in flt_lvls:
+        probs = probs_dct[flvl]
+        icing_pred_ds = h5f_out.create_dataset('icing_probability_level_'+flvl, data=probs, dtype='f4')
+        icing_pred_ds.attrs.create('coordinates', data='y x')
+        icing_pred_ds.attrs.create('grid_mapping', data='Projection')
 
     lon_ds = h5f_out.create_dataset('longitude', data=lons, dtype='f4')
     lon_ds.attrs.create('units', data='degrees_east')