diff --git a/modules/deeplearning/cloud_opd_fcn_abi.py b/modules/deeplearning/cloud_opd_fcn_abi.py
index 02baf1909b03639c245ee1d786a1d7a09b881aed..bb43831b960cc76345b5221b9edb525f8e727ae9 100644
--- a/modules/deeplearning/cloud_opd_fcn_abi.py
+++ b/modules/deeplearning/cloud_opd_fcn_abi.py
@@ -350,17 +350,19 @@ class SRCNN:
         tmp = tmp[:, slc_y, slc_x]
         data_norm.append(tmp)
         # ---------
-        data = np.stack(data_norm, axis=3)
-        data = data.astype(np.float32)
+        # data = np.stack(data_norm, axis=3)
+        # data = data.astype(np.float32)
 
         # -----------------------------------------------------
         # -----------------------------------------------------
         label = input_label[:, label_idx_i, :, :]
         label = label[:, y_64, x_64]
         cld_prob = cld_prob[:, y_64, x_64]
-        if not is_training:
-            cat_cf = get_label_data_5cat(cld_prob)
-            self.test_cat_cf.append(cat_cf)
+        cat_cf = get_label_data_5cat(cld_prob)
+        data_norm.append(cat_cf)
+        data = np.stack(data_norm, axis=3)
+        data = data.astype(np.float32)
+
         label = get_cldy_frac_opd(cld_prob, label)
         # label = scale(label, label_param, mean_std_dct)
         label = np.where(np.isnan(label), 0, label)
@@ -470,6 +472,7 @@ class SRCNN:
         num_filters = 64
 
         input_2d = self.inputs[0]
+        input_2d = input_2d[:, :, :, 0:self.n_chans]
         print('input: ', input_2d.shape)
 
         conv = conv_b = tf.keras.layers.Conv2D(num_filters, kernel_size=KERNEL_SIZE, kernel_initializer='he_uniform', activation=activation, padding='VALID')(input_2d)
@@ -568,6 +571,7 @@ class SRCNN:
         self.test_labels.append(labels)
         self.test_preds.append(pred.numpy())
         self.test_input.append(inputs)
+        self.test_cat_cf.append(inputs[:, :, :, self.n_chans])
 
         self.test_loss(t_loss)
         self.test_accuracy(labels, pred)