diff --git a/modules/deeplearning/cnn_cld_frac.py b/modules/deeplearning/cnn_cld_frac.py
index 204df912c9f2197d5c0a5c16d3ef108adb1350e1..3ca3488b4c69ccd9a7f1466c0ef1f1595812d5a8 100644
--- a/modules/deeplearning/cnn_cld_frac.py
+++ b/modules/deeplearning/cnn_cld_frac.py
@@ -62,9 +62,11 @@ IMG_DEPTH = 1
 label_param = 'cloud_probability'
 
 params = ['temp_11_0um_nom', 'refl_0_65um_nom', label_param]
+params_i = ['refl_0_65um_nom', label_param]
 data_params_half = ['temp_11_0um_nom']
 data_params_full = ['refl_0_65um_nom']
 
+label_idx_i = params_i.index(label_param)
 label_idx = params.index(label_param)
 
 print('data_params_half: ', data_params_half)
@@ -75,8 +77,8 @@ KERNEL_SIZE = 3  # target size: (128, 128)
 N = 1
 
 if KERNEL_SIZE == 3:
-    slc_x = slice(2, N*128 + 4)
-    slc_y = slice(2, N*128 + 4)
+    # slc_x = slice(2, N*128 + 4)
+    # slc_y = slice(2, N*128 + 4)
     slc_x_2 = slice(1, N*128 + 6, 2)
     slc_y_2 = slice(1, N*128 + 6, 2)
     x_2 = np.arange(int((N*128)/2) + 3)
@@ -85,6 +87,8 @@ if KERNEL_SIZE == 3:
     s = np.arange(0, int((N*128)/2) + 3, 0.5)
     x_k = slice(1, N*128 + 3)
     y_k = slice(1, N*128 + 3)
+    slc_x = slice(1, N*128 + 3)
+    slc_y = slice(1, N*128 + 3)
     x_128 = slice(2, N*128 + 2)
     y_128 = slice(2, N*128 + 2)
 elif KERNEL_SIZE == 5:
@@ -168,7 +172,8 @@ def build_residual_block_conv2d_down2x(x_in, num_filters, activation, padding='S
 
 
 def upsample(tmp):
-    tmp = tmp[:, slc_y_2, slc_x_2]
+    # tmp = tmp[:, slc_y_2, slc_x_2]
+    tmp = tmp[:, 0:66, 0:66]
     tmp = resample_2d_linear(x_2, y_2, tmp, t, s)
     tmp = tmp[:, y_k, x_k]
     return tmp
@@ -183,6 +188,8 @@ def upsample_nearest(grd):
     up[:, 0::2, 1::2] = grd[:, 0::, 0::]
     up[:, 1::2, 1::2] = grd[:, 0::, 0::]
 
+    up = up[:, y_k, x_k]
+
     return up
 
 
@@ -379,24 +386,24 @@ class SRCNN:
 
     def get_in_mem_data_batch(self, idxs, is_training):
         if is_training:
-            files = self.train_data_files
+            data_files = self.train_data_files
+            label_files = self.train_label_files
         else:
-            files = self.test_data_files
+            data_files = self.test_data_files
+            label_files = self.test_label_files
 
         data_s = []
+        label_s = []
         for k in idxs:
-            f = files[k]
-            try:
-                nda = np.load(f)
-            except Exception:
-                print(f)
-                continue
+            f = data_files[k]
+            nda = np.load(f)
             data_s.append(nda)
-        input_data = np.concatenate(data_s)
 
-        DO_ADD_NOISE = False
-        if is_training and NOISE_TRAINING:
-            DO_ADD_NOISE = True
+            f = label_files[k]
+            nda = np.load(f)
+            label_s.append(nda)
+        input_data = np.concatenate(data_s)
+        input_label = np.concatenate(label_s)
 
         data_norm = []
         for param in data_params_half:
@@ -412,11 +419,10 @@ class SRCNN:
             data_norm.append(tmp)
 
         for param in data_params_full:
-            idx = params.index(param)
-            tmp = input_data[:, idx, :, :]
+            idx = params_i.index(param)
+            tmp = input_label[:, idx, :, :]
             tmp = tmp.copy()
             tmp = np.where(np.isnan(tmp), 0, tmp)
-            # Full res:
             tmp = tmp[:, slc_y, slc_x]
             tmp = normalize(tmp, param, mean_std_dct)
             data_norm.append(tmp)
@@ -427,9 +433,7 @@ class SRCNN:
         if DO_ESPCN:
             tmp = tmp[:, slc_y_2, slc_x_2]
         else:  # Half res upsampled to full res:
-            # tmp = upsample(tmp)
-            tmp = upsample_mean(tmp)
-            tmp = tmp[:, slc_y, slc_x]
+            tmp = upsample_nearest(tmp)
         if label_param != 'cloud_probability':
             tmp = normalize(tmp, label_param, mean_std_dct)
         data_norm.append(tmp)
@@ -438,7 +442,7 @@ class SRCNN:
         data = data.astype(np.float32)
         # -----------------------------------------------------
         # -----------------------------------------------------
-        label = input_data[:, label_idx, :, :]
+        label = input_label[:, label_idx_i, :, :]
         label = label.copy()
         label = label[:, y_128, x_128]
         if NumClasses == 5:
@@ -504,10 +508,11 @@ class SRCNN:
         dataset = dataset.cache()
         self.test_dataset = dataset
 
-    def setup_pipeline(self, train_data_files, test_data_files, num_train_samples):
-
+    def setup_pipeline(self, train_data_files, train_label_files, test_data_files, test_label_files, num_train_samples):
         self.train_data_files = train_data_files
+        self.train_label_files = train_label_files
         self.test_data_files = test_data_files
+        self.test_label_files = test_label_files
 
         trn_idxs = np.arange(len(train_data_files))
         np.random.shuffle(trn_idxs)
@@ -526,8 +531,10 @@ class SRCNN:
         print('num test samples: ', tst_idxs.shape[0])
         print('setup_pipeline: Done')
 
-    def setup_test_pipeline(self, test_data_files):
+    def setup_test_pipeline(self, test_data_files, test_label_files):
         self.test_data_files = test_data_files
+        self.test_label_files = test_label_files
+
         tst_idxs = np.arange(len(test_data_files))
         self.get_test_dataset(tst_idxs)
         print('setup_test_pipeline: Done')
@@ -839,19 +846,24 @@ class SRCNN:
         return pred
 
     def run(self, directory, ckpt_dir=None, num_data_samples=50000):
-        train_data_files = glob.glob(directory+'data_train_*.npy')
-        valid_data_files = glob.glob(directory+'data_valid_*.npy')
+        train_data_files = glob.glob(directory+'train*mres*.npy')
+        valid_data_files = glob.glob(directory+'valid*mres*.npy')
+        train_label_files = glob.glob(directory+'train*ires*.npy')
+        valid_label_files = glob.glob(directory+'valid*ires*.npy')
 
-        self.setup_pipeline(train_data_files, valid_data_files, num_data_samples)
+        self.setup_pipeline(train_data_files, train_label_files, valid_data_files, valid_label_files, num_data_samples)
         self.build_model()
         self.build_training()
         self.build_evaluation()
         self.do_training(ckpt_dir=ckpt_dir)
 
     def run_restore(self, directory, ckpt_dir):
-        valid_data_files = glob.glob(directory + 'data_valid*.npy')
         self.num_data_samples = 1000
-        self.setup_test_pipeline(valid_data_files)
+
+        valid_data_files = glob.glob(directory + 'valid*mres*.npy')
+        valid_label_files = glob.glob(directory + 'valid*ires*.npy')
+        self.setup_test_pipeline(valid_data_files, valid_label_files)
+
         self.build_model()
         self.build_training()
         self.build_evaluation()