diff --git a/modules/deeplearning/cnn_cld_frac.py b/modules/deeplearning/cnn_cld_frac.py
index 452751008834b9b9a8a7d3ae46a0d49829bc972b..6c36a4d19948d5f911e2c541a5ae948e902b7102 100644
--- a/modules/deeplearning/cnn_cld_frac.py
+++ b/modules/deeplearning/cnn_cld_frac.py
@@ -62,7 +62,7 @@ IMG_DEPTH = 1
 # label_param = 'cld_opd_dcomp'
 label_param = 'cloud_probability'
 
-params = ['temp_11_0um_nom', 'temp_12_0um_nom', 'refl_0_65um_nom', label_param]
+params = ['temp_11_0um_nom', 'refl_0_65um_nom', label_param]
 data_params_half = ['temp_11_0um_nom']
 data_params_full = ['refl_0_65um_nom']
 
@@ -175,46 +175,35 @@ def upsample(tmp):
     return tmp
 
 
-def upsample_nearest(tmp):
-    bsize = tmp.shape[0]
-    tmp_2 = tmp[:, slc_y_2, slc_x_2]
-    up = np.zeros(bsize, t.size, s.size)
-    for k in range(bsize):
-        for j in range(t.size/2):
-            for i in range(s.size/2):
-                up[k, j, i] = tmp_2[k, j, i]
-                up[k, j, i+1] = tmp_2[k, j, i]
-                up[k, j+1, i] = tmp_2[k, j, i]
-                up[k, j+1, i+1] = tmp_2[k, j, i]
-    return up
-
-
 def get_label_data(grd_k):
     grd_k = np.where(np.isnan(grd_k), 0, grd_k)
-    grd_k = np.where(grd_k < 0.5, 0, 1)
+    # grd_k = np.where(grd_k < 0.5, 0, 1)
 
     a = grd_k[:, 0::2, 0::2]
     b = grd_k[:, 1::2, 0::2]
     c = grd_k[:, 0::2, 1::2]
     d = grd_k[:, 1::2, 1::2]
     s_t = a + b + c + d
-    #s_t = np.where(s_t == 0, 0, s_t)
-    #s_t = np.where(s_t == 1, 1, s_t)
-    #s_t = np.where(s_t == 2, 1, s_t)
-    #s_t = np.where(s_t == 3, 1, s_t)
-    #s_t = np.where(s_t == 4, 2, s_t)
+    # s_t = np.where(s_t == 0, 0, s_t)
+    # s_t = np.where(s_t == 1, 1, s_t)
+    # s_t = np.where(s_t == 2, 1, s_t)
+    # s_t = np.where(s_t == 3, 1, s_t)
+    # s_t = np.where(s_t == 4, 2, s_t)
     s_t /= 4.0
 
-    return s_t
+    blen, ylen, xlen = s_t.shape
+    s_t = s_t.flatten()
+    cat_0 = np.logical_and(s_t >= 0.0, s_t < 0.2)
+    cat_1 = np.logical_and(s_t >= 0.2, s_t < 0.8)
+    cat_2 = np.logical_and(s_t >= 0.8, s_t <= 1.0)
 
+    s_t[cat_0] = 0
+    s_t[cat_1] = 1
+    s_t[cat_2] = 2
 
-# def get_label_data(grd_k):
-#     grd_k = np.where(np.isnan(grd_k), 0, grd_k)
-#     grd_k = np.where((grd_k >= 0.0) & (grd_k < 0.3), 0, grd_k)
-#     grd_k = np.where((grd_k >= 0.3) & (grd_k < 0.7), 1, grd_k)
-#     grd_k = np.where((grd_k >= 0.7) & (grd_k <= 1.0), 2, grd_k)
-#
-#     return grd_k
+    s_t = s_t.reshape((blen, ylen, xlen))
+
+    return s_t
 
 
 class SRCNN:
@@ -555,10 +544,10 @@ class SRCNN:
         # self.loss = tf.keras.losses.MeanAbsoluteError()  # Regression
 
         # decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps)
-        initial_learning_rate = 0.005
+        initial_learning_rate = 0.006
         decay_rate = 0.95
         steps_per_epoch = int(self.num_data_samples/BATCH_SIZE)  # one epoch
-        decay_steps = int(steps_per_epoch)
+        decay_steps = int(steps_per_epoch) * 4
         print('initial rate, decay rate, steps/epoch, decay steps: ', initial_learning_rate, decay_rate, steps_per_epoch, decay_steps)
 
         self.learningRateSchedule = tf.keras.optimizers.schedules.ExponentialDecay(initial_learning_rate, decay_steps, decay_rate)